2010-11-08 56 views
30

我使用php sdk訪問用戶的相冊和網站中的照片。 我可以登錄,也能夠檢索到關於相冊和照片的所有信息。「訪問令牌需要請求此資源」,同時訪問與Facebook的相冊/照片php sdk

但是,我無法在網頁上顯示這些照片。

當我嘗試圖形API,以獲取照片/相冊象下面這樣:

https://graph.facebook.com/131833353530147/picture 

我收到以下錯誤信息:

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "An access token is required to request this resource." 
    } 
} 

但相同的是工作中雖然我嘗試顯示我的個人資料圖片,我確實有一個有效的訪問令牌。

對此的幫助將不勝感激。

回答

0

那麼,你有一個有效的訪問令牌來訪問你的信息,而不是其他人(這是因爲你已經登錄,並且你有權訪問你的信息)。但圖片的所有者並沒有這樣做(登錄+權限),所以你會得到一個違規錯誤。

要獲得權限,請參閱此link並決定您希望從任何用戶獲取哪種類型的信息並決定權限。稍後將其嵌入代碼中。 (在登錄功能調用中)

謝謝

22

有3件事你需要。

  1. 您需要oAuth與這些照片的所有者。 (與「user_photos」擴展權限)

  2. 您需要的訪問令牌(這你在URL框中的OAuth完成後返回。)

  3. 當這些都完成後,您就可以訪問該照片像這樣https://graph.facebook.com/me?access_token=ACCESS_TOKEN

你可以在這裏找到所有的信息的詳細信息:http://developers.facebook.com/docs/authentication

+4

這是我的答案,事實證明,在圖形API瀏覽器頂端的訪問令牌箱純粹是爲了裝飾與您在下面編寫的查詢無關。 1/10不會再使用這樣的UI – 2014-03-23 19:51:05

1

獲得實際的access_token,你也可以做親語法通過下面的PHP代碼:

require 'facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
)); 

// Get User ID 
$user = $facebook->getUser(); 

if ($user) { 
    try { 
    $user_profile = $facebook->api('/me'); 
    $access_token = $facebook->getAccessToken(); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 
+1

我不明白的是,我正在從一個網站打電話。也就是說,我不是一個尋求查看照片許可的應用程序,我是一個沒有YOUR_APP_ID的網站。 – 2015-06-25 03:41:43