错误:invalid_request redirect_uri的参数值无效:Uri必须由可打印的ASCII字符组成:

问题描述 投票:0回答:3

[我在Google Developer Console中创建了客户端ID和API密钥,我在Google控制台和配置文件中指定了相同的URL

这是我的网址:

https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A81%2Fmoviemuseui%2Fpublic%2Flogin%2FcheckLogin+&client_id=XXXXXXXX-xxxxxxxxxxxxxxxxx.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&access_type=offline&approval_prompt=force

我遇到错误

  1. 这是一个错误。

错误:invalid_request

redirect_uri的无效参数值:Uri必须包含可打印的ASCII字符:本地主机:81 / moviemuseui / public / login / checkLogin

如何解决,我找不到问题。

php codeigniter google-api-php-client
3个回答
0
投票

[URI语法中不允许的排除的US-ASCII字符:

   control     = <US-ASCII coded characters 00-1F and 7F hexadecimal>
   space       = <US-ASCII coded character 20 hexadecimal>
   delims      = "<" | ">" | "#" | "%" | <">

[某些字符在URI语法中可能被允许,但可能导致问题。

"{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"

并且以下字符绝对保留给查询组件,它们用于协议中的特定含义。

";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

0
投票

您不需要对所有内容进行网址编码。首次致电进行身份验证只会向您的用户显示一个页面,以供他们批准您的访问。这是一个普通的HTTP GET,您可以在任何Web浏览器中对其进行测试。

以下作品:

https://accounts.google.com/o/oauth2/auth?client_id= {clientid} .apps.googleusercontent.com&redirect_uri = urn:ietf:wg:oauth:2.0:oob&scope = https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/userinfo.email&response_type=code

此添加了您的重定向uri,请记住,重定向uri应该指向您要处理身份验证的页面。

[https://accounts.google.com/o/oauth2/auth?client_id= {clientid} .apps.googleusercontent.com&redirect_uri = http://本地主机:81 / moviemuseui / public / login / checkLogin / Filename.php&scope = https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/userinfo.email&response_type=code

我有一个教程,解释了如何将呼叫组合在一起:Google 3 legged oauth2 flow

问题:如果您使用的是Google-api-php-client,为什么要手动构建它?

您的错误的Redirect_URI:必须与您要处理身份验证的页面匹配。例如:http:// localhost / google-api-php-client-samples / oauth2.php应该在开发人员控制台中设置它,并在您的脚本中使用它。


0
投票

您的重定向uri不能包含空格“”

© www.soinside.com 2019 - 2024. All rights reserved.