我正在根据此网页创建和授权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
但是当我尝试将重定向网址注册到我的控制台时,我被告知该网址无效。
答案 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)
答案 10 :(得分:0)
最简单的方法是创建服务帐户。
使用您自己的帐户创建文档并与服务帐户共享。