Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Google API-重定向URI不匹配错误_Java_Oauth 2.0_Google Plus - Fatal编程技术网

Java Google API-重定向URI不匹配错误

Java Google API-重定向URI不匹配错误,java,oauth-2.0,google-plus,Java,Oauth 2.0,Google Plus,我正在我的web应用程序上实现google+登录。 我试着引用这个 我的google+登录按钮如下所示: <div id="signinButton"> <span class="g-signin" data-scope="https://www.googleapis.com/auth/plus.login" data-clientid=[MY_CLIENT_ID] data-accesstype="offline" data-cook

我正在我的web应用程序上实现google+登录。 我试着引用这个

我的google+登录按钮如下所示:

<div id="signinButton">
    <span class="g-signin"
    data-scope="https://www.googleapis.com/auth/plus.login"
    data-clientid=[MY_CLIENT_ID] 
    data-accesstype="offline"
    data-cookiepolicy="single_host_origin"
    data-callback="signInCallback"> </span>
</div>
在开发人员控制台上,我的重定向uri与上面代码示例中给出的相同

执行完所有这些之后,每次我都会收到这样的消息:“error”:“redirect\u uri\u mismatch”

在这方面有很多问题要问,但他们没有解决我的问题


如有任何建议,将不胜感激。提前感谢。

问题是您使用的是Google+登录,它不会使用您的重定向URI。相反,它使用了一个神奇的URI
postmessage

您不需要将
postmessage
添加到开发人员控制台((步骤1,第7c项)通常说要完全清除此字段),但在将代码交换为令牌时,您需要使用它(请参见中的示例代码)

因此,上面的代码应该更像

 String query = "code="+code; 
 query += "&";
 query += "client_id=[MY_CLIENT_ID]&";
 query += "client_secret=[CLIENT_SECRET]&";
 query += "redirect_uri=postmessage&";
 query += "grant_type=authorization_code";

问题是您使用的是Google+登录,它不使用重定向URI。相反,它使用了一个神奇的URI
postmessage

您不需要将
postmessage
添加到开发人员控制台((步骤1,第7c项)通常说要完全清除此字段),但在将代码交换为令牌时,您需要使用它(请参见中的示例代码)

因此,上面的代码应该更像

 String query = "code="+code; 
 query += "&";
 query += "client_id=[MY_CLIENT_ID]&";
 query += "client_secret=[CLIENT_SECRET]&";
 query += "redirect_uri=postmessage&";
 query += "grant_type=authorization_code";

非常感谢。。我在这上面浪费了好几个小时。它正在工作。:)很乐意帮忙。如果它对你有用,请考虑在StAcExcel中接受这一答案,点击答案旁边的复选标记将它从中空切换到绿色。您也可以通过单击向上箭头向上投票。非常感谢。。我在这上面浪费了好几个小时。它正在工作。:)很乐意帮忙。如果它对你有用,请考虑在StAcExcel中接受这一答案,点击答案旁边的复选标记将它从中空切换到绿色。您也可以通过单击向上箭头向上投票。