我从Facebook获取时间线,我成功地获得了我的时间线,但当我使用我朋友的Facebook帐户登录时,我收到以下错误 -
{
"error": {
"message": "(#200) Requires extended permission: read_stream",
"type": "OAuthException",
"code": 200
}
}
我是Facebook开发者的应用程序管理员,但我的朋友不是。 我已经批准了Facebook的以下权限(参见随附的屏幕截图)
以下是我在我的代码中使用的权限 -
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进行审核,则由于以下原因拒绝它(见下面的屏幕截图) -
还有一件事,当我使用我的帐户登录时,他们要求我允许新闻提要(read_stream)权限,但当我的朋友登录时,他们不会要求获得该许可。
当我尝试在Graph API资源管理器上获得相同的内容时,数据就可以了。 请让我知道整个过程中我缺少的东西。 感谢
答案 0 :(得分:2)
答案 1 :(得分: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
顺便说一句,这在更新日志中得到了很好的解释:https://developers.facebook.com/docs/apps/changelog#v2_3_new_features
答案 2 :(得分:1)
使用/me/feed
代替/me/home
,使用已授予的user_posts
权限,这应该有效。此端点还会返回用户时间轴中的其他帖子,而不仅仅是用户自己的帖子(/me/posts
)......