Tys*_*ezy 1 php google-api oauth-2.0
所以我有一个我正在研究的应用程序.我在XAMPP中有一个本地副本,在服务器上有一个实时版本(当然).一切都很好,但是,当我退出一个时,我得到这个错误:
致命错误:在C:\ localhost\htdocs\up\api\src\io\_Google_REST.php中显示错误消息'Google_ServiceException',并显示消息'错误调用GET(401)无效凭据':66堆栈跟踪:#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):include('C:\ localhost\ht ...')
6 {66}在第66行的C:\ localhost\htdocs\up\api\src\io\Google_REST.php中抛出
我努力刷新,清除缓存等等,我仍然得到错误.但是,当我关闭浏览器并重新打开它时,一切都重新出现,就像没有发生任何事情一样.
有没有人有这个问题/解决了吗?
建议非常感谢.
最好,
泰勒
经过一些SO线程后,我遇到了这个片段:
if($client->isAccessTokenExpired()) {
$client->refreshToken('refresh-token');
}
Run Code Online (Sandbox Code Playgroud)
我注意到没有这个,当令牌过期时,我会收到一个错误.在我输入这个"If"语句后,我注意到令牌过期后刷新令牌工作.
我也试过这个,它也有效:
if ($client->isAccessTokenExpired()) {
session_destroy();
header('Location: login.php');
}
Run Code Online (Sandbox Code Playgroud)
这在令牌过期后将用户重定向到登录页面.用户再次登录后,Access Token将再次启动.这可能不是最实用的方法,但我只是分享对我有用的东西.
我希望这有助于可能遇到此问题的人.
| 归档时间: |
|
| 查看次数: |
3747 次 |
| 最近记录: |