2014-01-28 116 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再次启动。这可能不是最实用的方法,但我只是分享了为我工作的内容。

我希望这可以帮助可能会遇到此问题的人。

相关问题