2016-12-02 106 views
-1

我想使用Facebook PHP SDK创建一个PHP应用程序,该应用程序从用户墙上提取用户帖子,并将其显示为用户主页上的提要。按照Graph APIhttps://graph.facebook.com/{user-id}/feed是我应该要求什么:用户如何授予我的应用users_posts权限?

然而,API文档说:

您的应用需要从谁创造了 邮寄或标记在后的人的人user_posts许可。

我还没有想出如何让用户授予此权限,目前下面的请求

https://graph.facebook.com/userid/feed?access_token=123|abc-def&limit=4&locale=en 

导致错误404(正如人们所预料)。

有很多关于如何创建应用从Facebook拉取用户馈送的(过时的)教程,但他们没有一个告诉你如何从拥有该馈送的用户获得users_posts权限。看起来你以前不需要这个,但Facebook最近收紧了他们的隐私保护,旧的方式不再有效。

用户如何授予我的应用users_posts权限?

(我用我自己用户测试,所以这是不是哄骗用户授予权限 - 这是关于你如何编写应用程序,使用户真正可以做到这一点)

+0

小心解释downvote? –

回答

2

我建议使用JS SDK进行登录,因为它更容易。例如,你这是怎么授权与user_posts权限的用户:

FB.login(function(response) { 
    if (response.authResponse) { 
     //user just authorized your app 
     console.log(response); 
    } 
}, {scope: 'user_posts', return_scopes: true}); 

之后,你可以用它来获取职位:

FB.api('/me/feed', {limit: 4}, function(response) { 
    console.log(response); 
}); 

来源:http://www.devils-heaven.com/facebook-javascript-sdk-login/


如果您想使用PHP SDK登录,请阅读:https://developers.facebook.com/docs/php/howto/example_facebook_login

来自文档的相关部分:

$permissions = ['user_posts']; 
$loginUrl = $helper->getLoginUrl('https://example.com/fb-callback.php', $permissions);