Google gmail api 未理解 oauth2 身份验证
Google gmail api oauth2 authentication miss understood
我正在尝试创建一个脚本来获取在我的 gmail 帐户中发送的特定电子邮件。
我在 google 云平台上创建了这个项目,我按照这个 yt 视频中的说明进行操作:https://www.youtube.com/watch?v=j_ilbyXwIzI 并且成功了。两三个月后我想再试一次,因为我把它作为一个副项目离开了一段时间,但它没有用。
它抛出这个错误:
**PHP 致命错误:未捕获 Google\Service\Exception:{**
**"error": "invalid_grant",**
**"error_description": "Bad Request"**
**} 在 /root/vendor/google/apiclient/src/Http/REST.php:128**
**堆栈跟踪:**
**#0 /root/vendor/google/apiclient/src/Http/REST.php(103):**
**Google\Http\REST::decodeHttpResponse()**
**#1 [内部函数]:Google\Http\REST::doExecute()**
**#2 /root/vendor/google/apiclient/src/Task/Runner.php(182): call_user_func_array()**
**#3 /root/vendor/google/apiclient/src/Http/REST.php(66): Google\Task\Runner->运行()**
**#4 /root/vendor/google/apiclient/src/Client.php(898): Google\Http\REST::执行()**
**#5 /root/vendor/google/apiclient/src/Service/Resource.php(238): Google\Client->执行()**
**#6 /root/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php(168): Google\Service\Resource->call()**
**#7 /root/quickstart.php(72): Google_Service_Gmail_Resource_UsersMessages->listUsersMessages()**
**#8 {主要}**
在第 128 行 /root/vendor/google/apiclient/src/Http/REST.php 中抛出
在阅读文档和 google 帖子后没有找到答案,我创建了一个新的 OAuth2.0 客户端 ID 并将其配置为一个新的网络服务器,它像以前一样工作。
现在我的问题是,是什么让第一个代码不再有效,是什么过期了?令牌或其他东西。
我应该怎么做才能避免再次发生此问题?
提前致谢!!
无效授权通常意味着您的刷新令牌已过期。
现在最常见的原因是您的应用程序设置为测试而非生产。
处于测试阶段的应用程序将在 7 天内重置其刷新令牌。如果您希望它持续超过 7 天,您需要将应用程序设置为生产环境。
我正在尝试创建一个脚本来获取在我的 gmail 帐户中发送的特定电子邮件。
我在 google 云平台上创建了这个项目,我按照这个 yt 视频中的说明进行操作:https://www.youtube.com/watch?v=j_ilbyXwIzI 并且成功了。两三个月后我想再试一次,因为我把它作为一个副项目离开了一段时间,但它没有用。
它抛出这个错误:
**PHP 致命错误:未捕获 Google\Service\Exception:{**
**"error": "invalid_grant",**
**"error_description": "Bad Request"**
**} 在 /root/vendor/google/apiclient/src/Http/REST.php:128**
**堆栈跟踪:**
**#0 /root/vendor/google/apiclient/src/Http/REST.php(103):**
**Google\Http\REST::decodeHttpResponse()**
**#1 [内部函数]:Google\Http\REST::doExecute()**
**#2 /root/vendor/google/apiclient/src/Task/Runner.php(182): call_user_func_array()**
**#3 /root/vendor/google/apiclient/src/Http/REST.php(66): Google\Task\Runner->运行()**
**#4 /root/vendor/google/apiclient/src/Client.php(898): Google\Http\REST::执行()**
**#5 /root/vendor/google/apiclient/src/Service/Resource.php(238): Google\Client->执行()**
**#6 /root/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php(168): Google\Service\Resource->call()**
**#7 /root/quickstart.php(72): Google_Service_Gmail_Resource_UsersMessages->listUsersMessages()**
**#8 {主要}**
在第 128 行 /root/vendor/google/apiclient/src/Http/REST.php 中抛出
在阅读文档和 google 帖子后没有找到答案,我创建了一个新的 OAuth2.0 客户端 ID 并将其配置为一个新的网络服务器,它像以前一样工作。
现在我的问题是,是什么让第一个代码不再有效,是什么过期了?令牌或其他东西。 我应该怎么做才能避免再次发生此问题?
提前致谢!!
无效授权通常意味着您的刷新令牌已过期。
现在最常见的原因是您的应用程序设置为测试而非生产。
处于测试阶段的应用程序将在 7 天内重置其刷新令牌。如果您希望它持续超过 7 天,您需要将应用程序设置为生产环境。