【发布时间】:2015-04-03 23:40:15
【问题描述】:
我已经花了一天时间,摔碎了一个玻璃杯,我真的很生气,我不明白谷歌想从我这里得到什么,出了什么问题。
我已在开发者控制台中启用 Google+ Api , 创建了新的 OAuth 客户端 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));
按照这里的说明创建:https://developers.google.com/+/web/signin/server-side-flow,页面上出现 gplus 按钮,它成功地请求授权用户访问。但是当我进行第 8 步时 第 8 步:初始化 Google API 客户端库并启动 Google+ 服务 我的请求每次得到响应 "error" : "redirect_uri_mismatch"
我知道,当您没有在 Google Console 中注册 redirect_uri,或者您在其中输入错误时会出现此错误,但我注册了它,并且也只是为了测试尝试设置不同的 url(更改域名,将协议从 https 更改为 https),但它从来没有工作!我不知道我还能检查什么,请至少提供一些建议。
【问题讨论】:
-
@Hans Z 是的,作为我的 symfony2 应用程序的一部分
-
Friendly Note:在创建凭据时选择“Web 应用程序”而不是“其他”,我选择了“其他”并遇到了问题,它在本地工作但在实时域中没有工作
标签: oauth google-api-php-client google-oauth