我正在尝试使用我的值设置config.php但是我得到了这个致命的错误:
致命错误:未捕获的异常“Google_AuthException”,并显示错误“获取OAuth2访问令牌时出错,消息:'invalid_grant'。
我输入了客户端ID,密码,简单的API密钥,位置和sqlite数据库,如文档所述: https://developers.google.com/glass/quickstart/php
知道我做错了什么?
提前致谢!
答案 0 :(得分:2)
如果您托管Glassware的URL未在API控制台上列为有效的OAuth 2.0重定向URI,则会发生这种情况。请按照以下步骤解决此问题。
http://localhost/mirror-quickstart-php/oauth2callback.php
。如果您在example.com上运行它,它可能是https://example.com/oauth2callback.php
。 如果您仍然遇到问题,请在页面上分享完整的错误消息以及config.php
中基本网址的值。
答案 1 :(得分:0)
如果您从Google收到invalid_grant
错误:请不要使用Google开发者控制台中的client ID
作为代码中client ID
的值,请尝试使用{来自开发者控制台的{1}}值。这实际上是他们所期望的。因此,要确认 - email address
的值应该是开发人员控制台结束Client ID
的值
答案 2 :(得分:0)
最近尝试连接到DialogFlow Google Cloud Project时,在Windows PS dotnet环境中出现了类似的问题,它似乎是间歇性故障,但在Windows PowerShell中却是全局$env:GOOGLE_APPLICATION_CREDENTIALS
,它指向密钥文件集在GCP控制台中重新生成密钥之前和之后的首次设置访问GCloud的时间
在生成新的密钥文件并使用$env:GOOGLE_APPLICATION_CREDENTIALS="[Path_To_JSON_Key_File]"
将其设置为新生成的密钥文件之后,问题消失了,但修复只持续到打开窗口的时间,然后在$env:GOOGLE_APPLICATION_CREDENTIALS
上运行了一段时间新打开的PS窗口,发现它仍然指向旧的密钥文件!
将系统环境变量GOOGLE_APPLICATION_CREDENTIALS
设置为[Path_To_JSON_New_Key_File]
的值即可将其固定,所有新打开的PS窗口均具有正确的密钥文件,并使用服务帐户和.Net Google Cloud API调用进行了正确的身份验证,那