[英]Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user
[英]OAuthException: An active access token must be used to query information about the current user
我有這個錯誤,但並非總是如此 。 (我使用最新版本的PHP SDK)。 如果我登錄了Facebook並且嘗試注冊並登錄,則應用程序說沒關系! 另外,如果我沒有登錄到Facebook,該應用程序會將我重定向到登錄URL,在這里就可以了。
但是有時應用程序會說以下異常: OAuthException:必須使用活動訪問令牌來查詢有關當前用戶的信息。 並且腳本使用循環重定向將用戶重定向到loginUrl(因為訪問令牌無效,並且用戶始終需要loginUrl)
在網上有人說Facebook創建了訪問令牌的副本 ,然后php sdk的訪問令牌不是= facebook。
要修復,用戶必須刪除cookie, 我該如何解決?
非常感謝您的答復 ,如果代碼需要答復,我將其發布,祝您愉快! :)
嘗試破壞Facebook會話,然后在收到此錯誤時將用戶重定向到登錄URI,這樣您將獲得一個全新的訪問令牌。
注意:訪問令牌在很短的時間內過期,您可以獲得一個長期存在的訪問令牌。 最新的PHP SDK包含一個名為:setExtendedAccessToken()的公共函數。
您可以調用此功能以將2-3小時的實時訪問令牌自動交換為60天的訪問令牌
例如:
try {
$user = $this->facebooknew->api('/me');
$this->facebooknew->setExtendedAccessToken();
$access_token = $this->facebooknew->getAccessToken();
}
catch(FacebookApiException $e){
$this->facebooknew->destroySession();
header('Location: ' . $this->facebooknew->getLoginUrl($params));
//echo $e;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.