2014-01-28 122 views
0

所以我有一個應用程序,我正在努力。我在XAMPP中有一個本地拷貝,在服務器上有一個現場版本(當然)。一切工作正常雙全,但是,當我登錄了一個,我得到這個錯誤:用C未捕獲的異常「Google_ServiceException」有消息「錯誤調用get(401)憑證無效」:谷歌OAuth2(401)無效憑證

致命錯誤\ localhost \ htdocs \ up \ api \ src \ io \ Google_REST.php:66 Stack trace:#0 C:\ localhost \ htdocs \ up \ api \ src \ io \ Google_REST.php(36):Google_REST :: decodeHttpResponse(Object (Google_HttpRequest)#1 C:\ localhost \ htdocs \ up \ api \ src \ service \ Google_ServiceResource.php(186):Google_REST :: execute(Object(Google_HttpRequest))#2 C:\ localhost \ htdocs \ up \ api \ src \ contrib \ Google_Oauth2Service.php(36):Google_ServiceResource - > __ call('get',Array)#3 C:\ localhost \ htdocs \ up \ src \ user.php(63):Google_UserinfoServiceResource-> get()# 4 C:\ localhost \ htdocs \ up \ includes \ authorizedHeader.php(5):require('C:\ localhost \ ht ...')#5 C:\ localhost \ htdocs \ up \ profile.php(1) :第6行{main}拋出C:\ localhost \ htdocs \ up \ api \ src \ io \ Google_REST.php on line 66

我試過了硬刷新,清除緩存等,我仍然得到錯誤。但是,當我關閉瀏覽器並重新打開它時,所有內容都會重新顯示,就像什麼都沒有發生過。

有沒有人有這個問題/解決它?

建議非常感謝。

 if($client->isAccessTokenExpired()) { 
      $client->refreshToken('refresh-token'); 
     } 

我沒有這個發現,當令牌期滿,我會:

最佳,

泰勒

回答

4

通過一些SO線程去後,我碰到這個片段來了得到一個錯誤。在我放入這個「If」語句之後,我注意到刷新令牌在令牌過期之後起作用。

我也試過這樣,它的工作原理,以及:

if ($client->isAccessTokenExpired()) { 
     session_destroy(); 
     header('Location: login.php'); 
    } 

這將用戶重定向到登錄頁面令牌到期後。一旦用戶再次登錄,Access Token再次啓動。這可能不是最實用的方法,但我只是分享了爲我工作的內容。

我希望這可以幫助可能會遇到此問題的人。

相關問題