Google App Engine云端点:OAuth2不起作用。无法加载api

时间:2013-05-03 09:28:25

标签: javascript security google-app-engine

这让我很困惑。我已经按照所有示例将身份验证添加到列出here的端点。不幸的是,每当我将其部署到app引擎时,当我尝试使用该行加载oauth API时,我会收到404 not found错误:

gapi.client.load('oauth2','v2',loadcallback);

我刚刚收到Javascript错误消息:* 无法加载资源:服务器响应状态为404(未找到)*

我似乎无法解决此问题,我无法调用 gapi.client.oauth2.userinfo.get(); 但是,

gapi.auth.authorize

工作正常。 有任何想法吗?授权可以在Android中正常运行。

由于

1 个答案:

答案 0 :(得分:3)

哇,我花了很长时间才找到,但却是如此愚蠢。我将在这里留下答案,以防任何人有类似的问题。

问题源于使用App Engine插件生成的“连接android”项目。这是在没有Auth的情况下开始的,然后您按照说明添加上面链接的Auth。

问题在于,在创建的index.html文件中,<script src="https://apis.google.com/js/client.js?onload=loadGapi">行下面有一些规范要求gapi.client.load使用您的域名。删除此代码(括号中的所有内容),使其看起来像:

<script src="https://apis.google.com/js/client.js?onload=loadGapi">
</script>

但是,现在没有任何先前为您的端点api调用gapi.client.load的工作。要解决此问题,您需要指定他们应该使用您的网址:

gapi.client.load('deviceinfoendpoint', 'v1', loadcallback, API_URL );

此处API_URL为'http://'+ window.location.host +'/ _ah / api';