Gmail OAuth API一直运行良好,直到2月17日,POST /o/oauth2/token
在刷新OAuth令牌时随机返回此错误:
此消息类型不允许使用参数:redirect_uri
错误大约发生在10次中。奇怪的是,在收到此错误后,下一个完全相同的请求成功。因此,这与错误消息建议的“redirect_uri”无关。
“此消息类型不允许参数”已在其他StackOverflow帖子中报告,但它们都是持久性错误,可以通过修复参数来解决。虽然我们得到的错误是暂时的。 10%的费率对用户体验来说代价很高。
最近有没有人见过类似的行为?
答案 0 :(得分:5)
Google似乎最近更改了从刷新令牌获取新访问令牌的网址。旧网址为https://accounts.google.com/o/oauth2/token,新网址为https://www.googleapis.com/oauth2/v4/token。
我还记得redirect_uri
以前是获取新访问令牌的参数之一,但它似乎不再存在:https://developers.google.com/identity/protocols/OAuth2WebServer#offline。只需看看HTTP / REST示例。
即使使用较旧的网址,只删除redirect_uri
也可能有效,但我认为更改网址并删除redirect_uri
是明智之举。
答案 1 :(得分:0)
我无法在上面添加评论,但我们也一直看到类似的问题,因为oauth的间歇性失败。
删除“redirect_uri”有效,但这让我感到紧张,因为文档https://developers.google.com/identity/protocols/OAuth2WebServer说要包含它。
但是,允许我们保留“redirect_uri”的工作正在将我们的网址从https://accounts.google.com/o/oauth2/token更新为https://www.googleapis.com/oauth2/v4/token