[我在Google Developer Console中创建了客户端ID和API密钥,我在Google控制台和配置文件中指定了相同的URL
这是我的网址:
我遇到错误
- 这是一个错误。
错误:invalid_request
redirect_uri的无效参数值:Uri必须包含可打印的ASCII字符:本地主机:81 / moviemuseui / public / login / checkLogin
如何解决,我找不到问题。
[URI语法中不允许的排除的US-ASCII字符:
control = <US-ASCII coded characters 00-1F and 7F hexadecimal>
space = <US-ASCII coded character 20 hexadecimal>
delims = "<" | ">" | "#" | "%" | <">
[某些字符在URI语法中可能被允许,但可能导致问题。
"{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"
并且以下字符绝对保留给查询组件,它们用于协议中的特定含义。
";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","
您不需要对所有内容进行网址编码。首次致电进行身份验证只会向您的用户显示一个页面,以供他们批准您的访问。这是一个普通的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应该在开发人员控制台中设置它,并在您的脚本中使用它。
您的重定向uri不能包含空格“”