JavaScript中的Google API客户端库无法在本地运行

时间:2013-10-28 10:42:53

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

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

我使用来自google云控制台的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&安培;键= TO6faADFEmHdfdh08mm8XgR

请指导我。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

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

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

如果您看到自己的活动Feed,那么一切正常。

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

python -m SimpleHTTPServer 8000

或Apache,twistd等

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

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