2012-09-08 47 views
4

我收到錯誤 「必須使用活動訪問令牌查詢有關當前用戶的信息」。 似乎有大量的文章和想法,但我很困惑,似乎事情也在改變。很多人說使用離線訪問,但似乎要消失。 我的確找到了this article使用PHP sdk獲取新access_token的最佳方法

有沒有人有使用PHP SDK的例子?

我試着做下面的事情,但它似乎沒有工作; $FBuser仍然是零:

$token_url = "https://graph.facebook.com/oauth/access_token?" . 
          "client_id=" . FB_APP_ID . 
          "&client_secret=" . FB_APP_SECRET . 
          "&grant_type=client_credentials"; 
list($name, $ACCESS_TOKEN) = explode("=", file_get_contents($token_url)); 
$facebook->setAccessToken(ACCESS_TOKEN); 
$FBuser = $facebook->getUser(); 

回答

0

試試這個(與此link根據變化範圍參數):

// Checks if the user granted the access (after the redirection bellow) 
$user = $facebook->getUser(); 
if(!$user) { 
    // If not: Retrieves the login url in order to redirect the user 
    $url = $facebook->getLoginUrl(array('scope' => 'user_about_me', 'grant_type' => 'client_credentials')); 
    // redirect here (after accepting the user will be redirect back to the same url. In other words this script, that will check again if the user is authenticated) 
} else { 
    // Now the user is authenticated 
    $user_data = $facebook->api('/me'); 
    $user_token = $facebook->getAccessToken(); 
    // Saves the access token 
} 
+0

這是一個不錯的方法! offline_access已棄用! '請注意:2012年10月3日,offline_access權限將被移除。' https://developers.facebook.com/docs/authentication/ – Roni

+0

@Roni您剛剛因offline_access而投票嗎?這只是一個參數,它不會讓答案錯誤。 - ' –

+1

太棒了!你給別人一個壞榜樣,不遵循Facebook指南。是的,反對是因爲「沿着這條線」不是一個好的答案,如果你不想幫助至少修復你的代碼示例。 – Roni

相關問題