Google OAuth 2.0"错误":"redirect_uri_mismatch"

Uns*_*ged 14 oauth google-api-php-client google-oauth2

我已经花了一天,撞了一杯,我真的很生气,我不明白谷歌想要什么,有什么不对.

我在开发者控制台中启用了Google+ Api google_ api已启用 ,创建了新的OAuth客户端ID 客户ID

    $ch = curl_init('https://accounts.google.com/o/oauth2/token');
curl_setopt($ch,CURLOPT_POSTFIELDS,'code=4%2FPp1GWqC6PIr3wNYrZ5kK4T9oitxBoo0fBqBrVNQfE-g.ElKDUjQ7E28SoiIBeO6P2m-0RPaolgI&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fmyprivatedomain.local.com%2Foauth2callback&client_id=%mycliet_id%&client_secret=%mysecret%');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
var_dump(curl_exec($ch));
Run Code Online (Sandbox Code Playgroud)

在此处的说明中创建了所有内容:https://developers.google.com/+/web/signin/server-side-flow,gplus按钮显示在页面上,并成功请求授权用户访问.但是,当我执行第8 步时:初始化Google API客户端库并在 每次获得响应"错误"启动Google+服务我的请求:"redirect_uri_mismatch"

我知道,当您未在Google控制台中注册redirect_uri时,或者当您在其中输入类型错误时,会出现此错误,但我已将其注册,并且仅用于测试尝试设置不同的网址(更改的域名,更改的协议来自https到https),但它永远不会工作!我不知道还能检查什么,请至少建议一下.

Han*_* Z. 30

文档在步骤1中说.https://developers.google.com/+/web/signin/server-side-flow#step_1_create_a_client_id_and_client_secret,必须没有配置重定向URI,只有"授权的JavaScript来源".在授权请求和令牌交换中,redirect_uri参数值应设置为postmessage.

编辑:现有技术:Google OAuth 2授权 - 错误:redirect_uri_mismatch

  • 非常感谢你!在客户端配置中重定向url显然不应该是"postmessage",它现在正在工作!指令说postmessage应该是属性data-redirecturi的值,但从来没有client_config,这是一团糟 (2认同)