簡體   English   中英

OAuthException:必須使用活動訪問令牌來查詢有關當前用戶的信息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM