在沒有offline_access權限的情況下擴展訪問令牌的有效性
自從Facebook的身份驗證流程中棄用offline_access權限以來,擴展了存取令牌的有效性已成為一項挑戰。儘管文件表明伺服器端 OAuth 產生的存取權令牌應該具有延長的有效期,但事實並非如此。
為了解決這個問題,base_facebook.php 檔案中新增了一個新函數。 getExtendedAccessToken() 函數允許開發者取得 60 天內過期的新存取權杖。
用法:
要使用此函數,只需添加以下內容將程式碼寫入您的 base_facebook.php檔案並呼叫它:
public function getExtendedAccessToken(){ // OAuth request to obtain extended access token $access_token_response = $this->_oauthRequest( $this->getUrl('graph', '/oauth/access_token'), array( 'client_id' => $this->getAppId(), 'client_secret' => $this->getAppSecret(), 'grant_type' => 'fb_exchange_token', 'fb_exchange_token' => $this->getAccessToken() ) ); }
重要提示:
必須在開發者應用程式的進階設定中啟用「棄用offline_access」才能使用此功能。
更新了 SDK功能:
截至2012年8月14日,官方Facebook PHP SDK已更新。函數名稱已變更為 setExtendedAccessToken,並且 SDK 現在將擴充存取權杖儲存在持久性資料中而不是傳回它。若要檢索新的存取令牌,請使用 getAccessToken() 函數。
以上是在「offline_access」權限棄用後,如何延長 Facebook 存取權杖的有效性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!