2012-05-01 70 views
2

用戶成功登錄Facebook應用程序。然而,該應用程序無法提取用戶的朋友信息。它只能返回先前允許應用獲取其信息的一位朋友的信息。Facebook應用程序,朋友數據訪問令牌不起作用

我正在使用curl和訪問令牌通過應用程序訪問我的朋友facebook數據。我正在本地開發我的應用程序。它適用於我以前的那些帳戶,但它不適用於新用戶。什麼可能導致?

那是因爲我現在在localhost上開發了嗎?如果是的話,爲什麼它適用於我擁有的幾個帳戶,而不是其他用戶同時也授權我的應用?我也嘗試使用訪問令牌訪問朋友數據,並且無法訪問開發者網站上的任何數據。

$uri ="https://graph.facebook.com/".$friend_id."/books?access_token=".$params['access_token']; 
$temp = json_decode(get_data($uri), true); 
+0

當你var_dump($ temp)你會得到什麼?是否有任何錯誤從fb調用中返回? –

+0

我看到它給所有的朋友返回Null,除了給我的網站許可的那個。 –

回答

2

在localhost上開發會導致Facebook的問題是。您將無法在Facebook上授權您的應用。

如果Facebook Graph發生任何有趣的事情,請確保您在與「基本」權限選項卡中列出的相同服務器/網址上開發。否則,事情可能無法正常工作。


但您的答案更適合與權限有關:前一個「朋友」已經爲應用程序授予了獲取數據的權限。因此,即使作爲另一個用戶連接(甚至未連接),您也可以獲取他們的數據。但其他用戶沒有給予許可,所以你不能獲取數據。如果數據是「公開」,則不需要,但需要的是數據不被公開。

檢查您是否有正確的擴展權限來查詢朋友數據 - 您可以要求Friend A授權從朋友B獲取某些數據。在這種情況下,一位朋友授予您自己數據的權限,但請檢查其他權限你可能需要從沒有授權該應用的朋友處獲得詳細信息 - 在某些情況下,不可能獲得所有信息。

https://developers.facebook.com/docs/authentication/permissions/

相關問題