c - google oauth2 应用程序访问问题
问题描述
我一直在成功实现 oauth2 gmail 访问的 C 服务器实现,并且现在已经工作了很长一段时间(大约 6 个月前)。
我的服务器的工作方式是每次我想访问邮箱时,我都会使用以前创建的刷新令牌发出一个新的访问令牌。刷新令牌是通过初始化阶段授予的,在该阶段我的应用程序得到了拥有邮箱的客户帐户的同意。
在过去的六个月里,我有两个邮箱都是这样设置的,而且效果很好。我可以使用 oauth2 和 imap 访问和阅读所有电子邮件。
截至昨天,大约在同一时间(从我的日志中获取)这两个帐户都从它们中删除了我的应用程序(来自同意初始化)。没有用户手动完成此操作。
我收到的json是这样的:
{
"error": "invalid_grant",
"error_description": "Token has been expired or revoked."
}
我知道,如果我经过初始化阶段(同意并生成新的刷新令牌),我将能够正常访问收件箱,但这并不可取,因为客户必须在没有延迟和人工劳动的情况下接收他们的消息。
从我从上一个问题中读到的内容是,不应将刷新令牌视为过期(除非手动撤销/更改密码)。
我的问题是这怎么可能?我是否错过了某种警告或政策?我错过了一些步骤吗?
提前致谢
20 年 7 月 16 日
我将添加更多信息,
a) 我已获得同意的申请尚未通过谷歌验证(仍在等待)。
b) 我从未在任何时候为有关该帐户的隐私/安全检查的自动 google 消息做任何工作(例如,“帮助加强您的 Google 帐户的安全性”,这些帐户在 3 个多月前收到这些帐户,因为它已经过期了我的范围)
再次提前感谢
解决方案
推荐阅读
- java - JHipster 按其实体的字段搜索实体
- python - 使用 microsoft graph 在一个请求中列出所有用户及其组
- java - 将数据保存在向量中并在其他功能中重用
- javascript - Twilio 将代理连接到队列中的呼叫
- react-native - 尝试从 API 显示下拉列表的选项集时,选项显示为空白
- python - Pandas - 如果连续满足条件,则在不迭代的情况下将值添加到前面的行
- python - 我可以在 fortran 中使用像 numpy 和 scipy 这样的库吗?
- node.js - 如何更改 node.js 中 wav 文件的频率?
- c# - CascadeDelete 循环错误
- datetime - 在 Blue Prism 中重置日期或日期时间数据项