Google OAuth2授权OAuth令牌错误:redirect_uri_mismatch

时间:2013-07-30 17:57:51

标签: oauth-2.0 google-oauth

我正在根据此网页创建和授权OAuth令牌:https://code.google.com/p/google-mail-oauth2-tools/wiki/OAuth2DotPyRunThrough

但是我收到了这个错误:redirect_uri_mismatch。

The redirect URI in the request: urn:ietf:wg:oauth:2.0:oob did not match a registered redirect URI
from_login=1
cookie_policy_enforce=false
scope=https://mail.google.com/
response_type=code
access_type=online
redirect_uri=urn:ietf:wg:oauth:2.0:oob
as=-80019291b2cb8ed
display=page
pli=1
client_id=......
authuser=0
hl=en

我认为这可能会有所帮助:Google OAuth 2 authorization - Error: redirect_uri_mismatch

但是当我尝试将重定向网址注册到我的控制台时,我被告知该网址无效。

11 个答案:

答案 0 :(得分:48)

redirect_uri(urn:ietf:wg:oauth:2.0:oob)仅适用于为 已安装的应用程序 生成的Google客户端ID。您可以转到your console并创建此类型的新客户端ID。

答案 1 :(得分:30)

如果您使用 Google+ javascript按钮(使用网络应用程序),则必须使用postmessage而不是实际的URI。我花了差不多一整天才弄明白这一点,因为谷歌的文档由于某种原因并没有明确表现出来。

答案 2 :(得分:8)

对于我的网络应用程序,我通过编写

纠正了我的错误
instead of : http://localhost:11472/authorize/
type :      http://localhost/authorize/

答案 3 :(得分:7)

当您在https://code.google.com/apis/console注册您的应用时 制作客户ID,您有机会指定一个或多个重定向 的URI。您的身份验证URI上的redirect_uri参数值必须为 完全匹配其中一个。

答案 4 :(得分:7)

请注意' redirect_uri'令牌请求的值必须与' redirect_uri'相同。授权请求的值。

答案 5 :(得分:3)

对于仍然难以解决此问题的任何人,在Google云端控制台中注册您的应用时,您必须将“平台”设置为“原生(Windows Mobile,Blackberry,桌面,设备等)”,否则,它不会让你使用'urn:ietf:wg:oauth:2.0:oob'作为重定向URI。

答案 6 :(得分:3)

用这个丢失4或5个小时......使用'postmessage'作为参数值,而不是真正的Redirect Uri ......

$client->setRedirectUri('postmessage');

答案 7 :(得分:2)

在我的情况下,我只是选择了其他而不是创建网络应用程序: OAuth客户端ID>其他

就是这样。

答案 8 :(得分:0)

对于本机应用程序,我尝试了数十种不同的方法。我最终通过使用“ redirect_uri = http%3A%2F%2Flocalhost%3A1234”使它工作,其中1234是端口号。这两个请求(授权码和访问令牌)必须相同。注意使用百分比编码。

答案 9 :(得分:0)

我收到此错误,是因为我错误地遵循了已安装应用程序流此处的步骤

https://github.com/googleads/googleads-python-lib/wiki

代替服务器到服务器的流量

答案 10 :(得分:0)

最简单的方法是创建服务帐户。

使用您自己的帐户创建文档并与服务帐户共享。