Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在本地Google App Engine的非默认模块上访问Google云端点?_Javascript_Google App Engine_Google Cloud Endpoints - Fatal编程技术网

Javascript 如何在本地Google App Engine的非默认模块上访问Google云端点?

Javascript 如何在本地Google App Engine的非默认模块上访问Google云端点?,javascript,google-app-engine,google-cloud-endpoints,Javascript,Google App Engine,Google Cloud Endpoints,我正在开发一个带有几个模块的Google应用程序引擎应用程序。后端API利用Google云端点。当我在本地运行GAE服务器时,即使在加载客户端后从管理模块(localhost:9090)加载API,它也会尝试调用默认模块端口(localhost:8080)。在远程GAE实例上,一切正常。原因或解决办法是什么 代码是: function init() { var loadCallback = function () { gapi.client.adminapi.mymethod(123

我正在开发一个带有几个模块的Google应用程序引擎应用程序。后端API利用Google云端点。当我在本地运行GAE服务器时,即使在加载客户端后从管理模块(localhost:9090)加载API,它也会尝试调用默认模块端口(localhost:8080)。在远程GAE实例上,一切正常。原因或解决办法是什么

代码是:

function init() {
  var loadCallback = function () {
    gapi.client.adminapi.mymethod(12345).then(alert(Woohoo!));
  };

  var apiRoot = '//' + window.location.host + '/_ah/api';
  gapi.client.load('adminapi', 'v1', loadCallback, apiRoot);
}

好的,我找到的唯一一个答案,作为本地GAE中非默认模块的解决方案,如下所述:

  • 打开localhost:8090/_-ah/api/discovery/v1/api/adminapi/v1/rest
  • 下载JSON
  • 更新List baseUrl和rootUrl以包含正确的端口(在我的示例中为8090)
  • 在客户端的gapi.client.load函数中传递更新的JSON,而不是API的名称
  • 备选方案: 添加到@Api注释的Java类: root=“
    http://localhost:8090/_ah/api
    “, backendRoot=“
    http://localhost:8090/_ah/spi

    这两种方法中唯一的一个时刻是:我不应该提交这些更改,因为这些URL肯定不是用于生产的