基本問題:我希望我的應用能夠調用Facebook圖表api關於授權用戶的權限,即使用戶是遠。例如,我希望用戶(A)授權應用程序,然後我希望用戶(B)能夠使用該應用程序查看有關用戶(A)的朋友的信息。具體來說:「工作」字段。是的,我正在請求這些擴展權限(user_work_history
,friends_work_history
等)。目前我的應用程序可以訪問已登錄用戶的朋友的工作記錄,但不能訪問任何朋友的工作記錄其他應用程序的用戶。Facebook PHP SDK:現在已經棄用「offline_access」訪問令牌
這是我已經知道:
- 添加
offline_access
的範圍參數是舊的方式,它 不再起作用。 - 新方法是用「長命」訪問令牌, 描述爲here。這些持續60天。
我需要交換一個正常的訪問令牌來獲得新的擴展令牌。 FB文檔說:
https://graph.facebook.com/oauth/access_token?
CLIENT_ID = APP_ID & client_secret = APP_SECRET & grant_type = fb_exchange_token & fb_exchange_token = EXISTING_ACCESS_TOKEN
這裏就是我不知道(我希望你能告訴我): 如何使用Facebook PHP SDK獲得擴展(又名「長壽命」)訪問令牌嗎?目前,我的代碼如下所示:
$facebook->getAccessToken();
有沒有這樣的事情,因爲這?:
$facebook->getExtendedAccessToken();
如果不是,這是我應該做的?
$accessToken = $facebook->getAccessToken();
$extendedAccessToken = file_get_contents("https://graph.facebook.com/oauth/access_token?
client_id={$appId}&
client_secret={$secret}&
grant_type=fb_exchange_token&
fb_exchange_token={$accessToken}"
);
我試過了,它不起作用。我得到這個錯誤:
Warning: file_get_contents(https://graph.facebook.com/oauth/access_token? client_id=#######& client_secret=#########& grant_type=fb_exchange_token& fb_exchange_token=##########) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /...
如果我切換到FQL而不是圖形api,它工作嗎?我已經多次閱讀Facebook文檔,但PHP sdk沒有完整記錄,我找不到任何應該如何工作的例子。
答案的已經是你鏈接的頁面上 - 閱讀一遍,仔細... – CBroe
我想我知道你指的是什麼,我更新了問題以顯示我嘗試過的(失敗)。請告訴我,如果你在談論別的事情。 – emersonthis
如果您使用SDK,爲什麼使用file_get_contents?只需使用Facebook :: api就可以對Graph API發出請求。 – CBroe