0

Я выборки мой график с Facebook, и я успешно смог получить свой график, но когда я войти в систему с Facebook счета моего друга я получил следующее error-Получение Facebook график

{ 
    "error": { 
    "message": "(#200) Requires extended permission: read_stream", 
    "type": "OAuthException", 
    "code": 200 
    } 
} 

Я админ приложения на Facebook разработчик, но мой друг нет. я уже утверждены следующие права доступа из Facebook (см приложенный снимок экрана)

enter image description here И ниже разрешения, которые я использую в моей code-

FBSession* sess = [[FBSession alloc] initWithPermissions:[NSArray arrayWithObjects:@"public_profile",@"user_friends",@"user_birthday",@"email",@"user_education_history",@"user_work_history",@"user_hometown",@"read_stream",@"user_about_me",@"user_posts",@"publish_actions",nil]]; 

А вот код, чтобы получить график -

NSString *urlStringFacebook = [NSString stringWithFormat:@"https://graph.facebook.com/me/home?format=json&&access_token=%@&&limit=90",[[FBSession activeSession] accessTokenData]]; 

Если я представить разрешение read_stream в Facebbok для обзора отклонить его из-за следующей причине (см скриншот ниже) -

enter image description here

И еще одна вещь, когда я войти в систему с моим аккаунтом они просят меня, чтобы позволить ленте новостей (read_stream) разрешения, но при входе в мой друг, они не просят для этого разрешения.

Когда я пытаюсь получить то же самое в API-интерфейсе Graph API, тогда данные получаются в порядке. Пожалуйста, дайте мне знать, чего мне не хватает в течение всего процесса. Спасибо

ответ

1

Используйте /me/feed вместо /me/home, с уже предоставленным разрешением user_posts это должно сработать. Эта конечная точка также возвращает другие сообщения из временной шкалы пользователя, а не только от пользователя самого пользователя (/me/posts) ...

+0

Есть разница между/me/home и/me/feed. Когда я запускаю команду на графическом проводнике, они обе дают мне разные каналы. –

+0

Да, но вы не можете использовать '/ me/home' без' read_stream', как описано в @luschn. И поскольку это разрешение больше не предоставляется, вам нужно вернуться к '/ me/feed' IMHO. Невозможно получить полную новостную ленту через приложение. – Tobi

+0

Тоби, я тестировал с помощью/me/feed, но это дает мне каналы, которые публикуются мной или в которых я помечен. –

2

Вы можете получить сообщение «Главная Timeline» с помощью user_posts.

enter image description here

Использование /me/feed вы можете получить всю почту от других и вас. перейти к Developer graph API Explorer Graph API Explorer.

+0

Но я не получал ни одного таймлинга из небезопасного фейсбука. У меня есть все это разрешение от facebook. –

+0

Да, я согласен, но я тестировал с помощью/me/feed, но это дает мне каналы, которые публикуются мной или в которых я помечен, и мне нужны все каналы. –

2

Вы пытаетесь использовать /me/home, который нуждается в read_stream, как вы можете прочитать в документации: https://developers.facebook.com/docs/graph-api/reference/user/home

... и что разрешение не будет получить одобрение: https://developers.facebook.com/docs/facebook-login/permissions/v2.3#reference-read_stream

Использование /me/posts или /me/feed вместо этого, эти конечные точки нуждаются в user_posts, и вы получили это разрешение уже утвержденное: https://developers.facebook.com/docs/graph-api/reference/v2.3/user/feed

КВт, об этом очень хорошо объясняется e changelog: https://developers.facebook.com/docs/apps/changelog#v2_3_new_features

+0

'/ me/posts' возвращает только собственные записи пользователя, не так ли? Я думаю, что '/ me/feed' будет правильным звонком. – Tobi

+0

Да, это вернет мне только сообщение. –

+0

oh, мой ошибка. изменит его. я запутался, это еще рано ...или так :) – luschn

Смежные вопросы