【问题标题】:Google Glass Development Error: (403) Access Not Configured. Please use Google Developers Console to activate the API for your projectGoogle Glass 开发错误:(403) 未配置访问。请使用 Google Developers Console 为您的项目激活 API
【发布时间】:2014-02-08 03:20:45
【问题描述】:

我正在使用 PHP 版本的 Google Glass 开发工具包。根据示例代码说明设置所有内容。 API/凭证都很好,帐户计费已设置,已将 Mirror API 添加到项目中,但在我许可应用程序后,我收到以下错误:

An error ocurred: Error calling POST 
https://www.googleapis.com/mirror/v1/timeline?key=xxxxxx 
(403) Access Not Configured. 
Please use Google Developers Console to activate the API for your project.

我已经添加了 Mirror API 并启用了计费和设置,所以我不知道为什么我会收到错误消息。通过 Glass Explorer 测试应用就可以了。

【问题讨论】:

    标签: php google-api google-glass google-mirror-api


    【解决方案1】:

    众所周知,当您同时提供 OAuth2 凭据和 API 密钥时,Google API 会出现异常行为。此外,由于您必须使用 OAuth2 来访问 Mirror API,所以无论如何都不需要 key=xxxxx

    如果您使用的是适用于 PHP 的 Google API 客户端库,您只需从代码中删除以下行:

     $client->setDeveloperKey($key);
    

    不完全确定这是否会导致您的问题,但我在其他 Google API 中遇到过类似问题。

    【讨论】:

    • 哇..成功了,谁能想到!从 mirror-client.php 中评论了这一点,现在可以轻而易举地工作了。哦,好吧,浪费了半个星期六。
    • 我有同样的错误,但这并没有解决它。在 google-api-php-client/src 中注释掉 //public function setDeveloperKey($key) {$this->key = $key;} 后,我仍然有 403。
    • stanzheng - 您 1) 确保 Mirror API 已添加到您的 API 列表中,以及 2) 确保您已将帐单信息添加到您的帐户中(不确定这是否有必要但已阅读这可能与它有关的地方)
    • 非常感谢 Scarygami。这解决了我的问题。 Google 确实需要更新他们糟糕的文档。
    • 这也解决了我的问题。我很好奇为什么 google 会为 google glass 发布一个 php starter 项目而不解决这个问题?
    【解决方案2】:

    在您项目的 Google API 控制台中 (https://code.google.com/apis/console/)

    确保您的“公共 API 访问”或“服务器应用程序密钥”已允许您的服务器的 IP 地址。

    还要确保你有正确的“重定向 URI”,如果你被拒绝,看看你的 php 日志,我有这个:

    PHP Fatal error:  Uncaught exception 'Google_ServiceException' with message 'Error calling GET https://www.googleapis.com/mirror/v1/timeline?maxResults=3&key=: (403) Access Not Configured. Please use Google Developers Console to activate the API for your project.'    
    

    使用您的 $base_url + /oauth2callback.php 找出正确的重定向 URI 是什么。

    我设法通过添加 IP 地址和 REDIRECT URI 解决了这个问题,它在我的本地计算机和服务器上都运行。 (相同的代码,相同的密钥)

    PS:我要感谢 Scarygami,禁用 $client->setDeveloperKey($key);帮我找到了解决办法。

    【讨论】:

    • 那么在“公共 API 访问”下,您有 2 个密钥还是 1 个密钥?我只有一个(“浏览器应用程序的密钥”)。我很好奇您是否有 2 个密钥或仅使用“服务器密钥”而不是“浏览器”
    • 是的,“公共 API 访问”有 2 个密钥,“客户端 ID”和“客户端密码”。而“公共 API 访问 - 服务器应用程序的密钥”有 1 个密钥,即您的“API 密钥”。这解决了我的问题,希望对您有所帮助!
    猜你喜欢
    • 2014-05-17
    • 2014-01-28
    • 2014-01-27
    • 2014-07-30
    • 2015-07-20
    • 2014-03-19
    • 2016-05-05
    • 2015-07-23
    • 1970-01-01
    相关资源
    最近更新 更多