【问题标题】:Google API client library in javascript not working locallyjavascript 中的 Google API 客户端库无法在本地运行
【发布时间】:2013-11-07 02:20:11
【问题描述】:

我尝试在我的网络服务器(即 Google App Engine 服务器)上运行给定 here 的示例。

我使用我的谷歌云控制台中的 clientId 和 clientSecret 修改了 clientId 和 apiKey。

当我运行时,我在 javascript 控制台中看到 400 Bad Request for

https://content.googleapis.com/discovery/v1/apis/plus/v1/rpc?fields=methods%2F*%2Fid&pp=0&key=TO6faADFEmHdfdh08mm8XgR

请指导我。

【问题讨论】:

    标签: javascript google-app-engine google-api google-plus


    【解决方案1】:

    据我所知,该示例正在您链接的服务器上运行。正如 Ian 所提到的,您运行的示例看起来有点过时,JavaScript Quickstart 是最新最好的,它使用具有许多增强功能的 Google+ 登录按钮,尤其是在您使用客户端授权时。

    要测试您的示例是否正常工作,您可以打开 Chrome 开发者工具并运行一些简单的客户端库代码,例如:

    gapi.client.plus.activities.list(
      {userId: 'me'}).execute(
        function(resp){
          console.log(resp);
        });
    

    如果您看到您的活动提要,则一切正常。

    关于本地...为了使 JavaScript 库正常工作,您还必须在计算机上运行 Web 服务器,例如 Python Simple HTTP Server:

    python -m SimpleHTTPServer 8000
    

    或 Apache、twistd 等

    如果直接打开文件,权限会阻止库工作。

    您授权的 JavaScript 来源还必须与您在 Google APIs console 项目中设置的端口(和协议,例如 https/http)相匹配。如果它在远程工作但不是在本地工作,则您可能缺少本地主机源。

    【讨论】:

    • “本地”是指在本地服务器上。我正在使用GAE。它没有用
    【解决方案2】:

    这是一个相当古老的样本!尝试https://developers.google.com/+/quickstart/javascript 获取更新的。

    关于这个问题:不要将您的客户机密放在关键字段中!客户端机密永远不应该公开,它应该只在可以保密的服务器上使用。在这种情况下,API 密钥是一个单独的条目(简单的 API 访问浏览器密钥)。

    有关 API 密钥的更多信息:https://developers.google.com/console/help/#generatingdevkeys

    【讨论】:

      猜你喜欢
      • 2013-05-21
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多