【问题标题】:Google Cloud Endpoints JS Client will not Load - Getting 404 with broken URLGoogle Cloud Endpoints JS 客户端将无法加载 - 使用损坏的 URL 获取 404
【发布时间】:2014-05-23 04:08:05
【问题描述】:

这可能需要比我提供的更多信息,但由于我不知道发生了什么,我将从我知道的开始。

我正在将 GAE 与 Google Cloud Endpoints 结合使用。

我的 API 在从 API 资源管理器访问时加载并运行良好,但当我在网络应用程序中加载它时它将无法运行。

function startApp(user) {

    var appName = 'pwLandlordApp',
        app = packageApp(appName);

    configureApp(app, user);
    angular.bootstrap(document, [appName]);

}

function verifyAuthenticated() {
    gapi.client.oauth2.userinfo.get().execute(function (resp) {

        var authenticated = !resp.code,
            user;

        if (authenticated) {
            user = resp;
            startApp(user);

        } else {
            $('#manualAuthenticationLink').show();
        }

    });
}

function authenticate(immediateMode) {

    var callback = verifyAuthenticated,
        clientId = {
            development: '227265048827-17u88it981ie38hopqr8nl7tnep0d8l2.apps.googleusercontent.com',
            production: '227265048827-5f98s99qoigh8f0tmp106uplek8g7mq5.apps.googleusercontent.com'
        };

    gapi.auth.authorize({
        client_id: clientId.development,
        scope: ['https://www.googleapis.com/auth/userinfo.email'],
        immediate: immediateMode
    }, callback);

}

function authenticateAutomatically() {
    var immediateMode = true;
    authenticate(immediateMode);
}

function authenticateManually() {
    var immediateMode = false;
    authenticate(immediateMode);
}

function loadResources() {

    var appRootUrl = {
            development: 'http://localhost:8080/_ah/api',
            production: 'https://property-management-suite.appspot.com/_ah/api'
        },
        numberOfResourcesToLoad = 2,
        verifyAllResourcesLoaded;

    verifyAllResourcesLoaded = function () {
        numberOfResourcesToLoad -= 1;
        if (numberOfResourcesToLoad === 0) {
            authenticateAutomatically();
        }
    };

    // If loading additional resources change numberOfResourcesToLoad appropriately.
    gapi.client.load('propertyWrasslerApi', 'v1', verifyAllResourcesLoaded, appRootUrl.development);
    gapi.client.load('oauth2', 'v2', verifyAllResourcesLoaded);

}

function init() {
    loadResources();
}

不断收到以下错误。

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8080/_ah/api/_ah/api/discovery/v1/apis/propertyWrasslerApi/v1/rpc?fields=methods%2F*%2Fid&pp=0

尝试检查我知道有效的早期提交并且问题仍然存在,WTF!所以不确定发生了什么。

请帮忙!在这里呆了几个小时。

更新:

我的 web.xml 文件。我知道它是空的,但这一直对我有用,因为我只有一个 API。

<?xml version="1.0" encoding="utf-8" standalone="no"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         version="2.5" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

</web-app>

更新 2:

appengine-web.xml

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application>property-management-suite</application>
    <version>1</version>
    <threadsafe>true</threadsafe>

    <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
    </system-properties>
</appengine-web-app>

【问题讨论】:

  • 可以重新命名吗?
  • 抱歉,不知道该取什么名字。
  • 我敢打赌,它在重复的_ah/api/_ah/api 中。您的 Root 网址附加了另一个 _ah/api。另外,您的 app.yaml 中是否有 _ah/api 处理程序?找不到https://property-management-suite.appspot.com/_ah/api,所以我敢打赌,app.yaml 中没有它的处理程序。
  • @GAEfan 是的,那里有东西。也使用Java。什么是等价物?

标签: google-app-engine google-cloud-endpoints


【解决方案1】:

问题似乎与 javascript 客户端库有关。你是直接从https://apis.google.com加载的吗?

更新:这是一个错误。 Google 正在调查:

https://code.google.com/p/google-api-javascript-client/issues/detail?id=147

【讨论】:

  • 这个错误是否会破坏世界上所有使用 Endpoints 的 web 应用程序?
  • 是我还是这个问题还没有解决? @MarcM。
【解决方案2】:

我在 python 中的应用程序中遇到了同样的问题。这看起来像是 Google Javascript 库 (apis.google.com/js/client.js) 中的问题。我目前正在寻找旧版本的客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2014-05-27
    • 2013-08-11
    • 2014-04-23
    • 1970-01-01
    相关资源
    最近更新 更多