У меня возникли проблемы с пониманием того, как FB определяет, требуется ли токен пользователя или access_token. Я никоим образом не использую Facebook для аутентификации, да и не хотел этого.
Я пытаюсь отобразить информацию из нашей группы Facebook на нашем форуме.
Согласно Graph API, /group-id/feed требует:
- Требуется токен доступа пользователя для члена группы с разрешением user_groups.
- Маркер доступа к приложению может читать сообщения, опубликованные им в принадлежащих ему группах приложений и игр.
/group-id/events требует только:
- Маркер доступа пользователя для члена группы с разрешением user_groups.
Текст немного отличается, но, похоже, я передаю ту же мысль о «токенах доступа пользователя».
Согласно FB, вместо токена доступа пользователя можно комбинировать идентификатор приложения и секрет приложения для имитации access_token.
Когда я делаю это для фида моей группы, это прекрасно работает. Когда я делаю это для событий, я получаю сообщение об ошибке:
- Код: 102
- Сообщение: «Для запроса этого ресурса требуется токен доступа пользователя».
- Тип: OAuthException
Почему app-id|app-secret access_token не работает? Я действительно не хочу беспокоиться о какой-либо аутентификации FB; Я просто хотел перечислить наши события на нашем сайте. Я делаю что-то не так или пропустил правильный способ справиться с этим?
$(function () {
var location = document.URL;
var ShowGroup = false;
var group_id = null;
if (location.indexOf("chattanooga-lodge") != -1) {
group_id = "";
ShowGroup = true;
}
if (ShowGroup) {
$("#FBfeedContainer").show();
// Initialize Facebook JavaScript API
window.fbAsyncInit = function () {
FB.init({
appId: 'app-id',
xfbml: true,
version: 'v2.0'
});
//FB News Posts
FB.api(
"/" + group_id + "/feed",
{ access_token: "app-id|app-secret" },
function (response) {
debugger;
if (response && !response.error) {
$.each(response.data, function (index, data) {
if (index < 3) {
$("#FBfeed").append(data.id);
}
});
}
}
);
//FB Events
FB.api(
"/" + group_id + "/events",
{ access_token: "app-id|app-secret" },
function (response) {
debugger;
if (response && !response.error) {
$.each(response.data, function (index, data) {
if (index < 3) {
$("#FBfeed").append(data.id);
}
});
}
}
);
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) { return; }
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
}
});
/{group-id}/events
в документации, которую вы скопировали, говорится, что это должен быть токен доступа пользователя. И для/{group-id}/feed
в документации, которую вы скопировали, говорится, что токен доступа к приложению может просто получить доступ к группам приложений и игр. Чтобы получить доступ к другим группам, вы должны использовать токен доступа пользователя, который является членом этой группы и предоставил вам разрешение user_group. И сообщение об ошибке, которое вы получили, говорит, что вы должны использовать токен доступа пользователя - person WizKid   schedule 07.06.2014