2016-12-02 100 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);