Google app engine 无法访问本地主机上的API资源管理器

Google app engine 无法访问本地主机上的API资源管理器,google-app-engine,google-cloud-endpoints,Google App Engine,Google Cloud Endpoints,我正在尝试构建一个端点应用程序,但我对谷歌应用程序引擎还不熟悉 据我所知,SDK中包含了某种API浏览器,可以让我测试/验证我的API——文档中说:“通过导航到http://localhost:8080/_ah/api/explorer”。但是我找不到任何关于API资源管理器实际上是什么、做什么或看起来像什么的文档 在任何情况下,当我尝试点击那个URL时,我会立即被重定向到,这告诉我没有什么有用的东西,而且似乎这一定是某种错误 devappserver日志显示: INFO 2013-07

我正在尝试构建一个端点应用程序,但我对谷歌应用程序引擎还不熟悉

据我所知,SDK中包含了某种API浏览器,可以让我测试/验证我的API——文档中说:“通过导航到
http://localhost:8080/_ah/api/explorer
”。但是我找不到任何关于API资源管理器实际上是什么、做什么或看起来像什么的文档

在任何情况下,当我尝试点击那个URL时,我会立即被重定向到,这告诉我没有什么有用的东西,而且似乎这一定是某种错误

devappserver日志显示:

INFO     2013-07-17 17:27:54,574 server.py:593] default: "GET /_ah/api/explorer HTTP/1.1" 302 -
INFO     2013-07-17 17:27:56,099 server.py:593] default: "GET /_ah/api/static/proxy.html?jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.7JUwNUXMAS8.O%2Fm%3D__features__%2Fam%3DEQ%2Frt%3Dj%2Fd%3D1%2Frs%3DAItRSTO0dpKS_pssf5r3z87E6FlFvDGdOg HTTP/1.1" 200 1933
INFO     2013-07-17 17:27:56,193 server.py:593] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 200 2342
INFO     2013-07-17 17:27:56,492 server.py:593] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 200 576
INFO     2013-07-17 17:27:56,507 server.py:593] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 200 2342
INFO     2013-07-17 17:27:56,583 server.py:593] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 200 2342
INFO     2013-07-17 17:27:56,811 server.py:593] default: "GET /_ah/api/discovery/v1/apis HTTP/1.1" 200 576
INFO     2013-07-17 17:27:56,886 server.py:593] default: "GET /_ah/api/discovery/v1/apis/scrnxSync/v1/rest HTTP/1.1" 200 3365
不管值多少钱

这是我的app.yaml:

application: scrnx-cloud-1
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /admin/.*
  script: admin.application
  login: admin
  secure: always

  # Endpoints handler
- url: /_ah/spi/.*
  script: sync_api.application

  # catchall - must come last    
- url: /.*
  script: default.application


admin_console:
  pages:
  - name: View Measurement
    url: /admin/measurement  


libraries:
- name: jinja2
  version: 2.6
- name: markupsafe
  version: 0.15

builtins:
- admin_redirect: off
- appstats: off
- deferred: off
- remote_api: on

我还应该做些什么来安排这件事吗

API资源管理器的URL是正确的,但是在API资源管理器没有正确列出API的情况下,出现了一些问题(显然没有全部解决)

与之相比,谷歌API的API浏览器(API Explorer for GoogleAPI)的API数量远远超过了您通常使用的API数量,但这只是为了让您了解您应该看到的内容:一个API列表以及单击后每个API的详细信息

通常有效的解决方法是显式地将API的名称和版本添加到URL中,因此,由于您的API被称为
scrnxSync
with version
v1
,此链接应向您显示为API定义的方法,并允许您调用这些方法:


如果您使用的是Chrome浏览器,只需在http的URL中设置https即可。这对我有用


对我来说,这是app.yaml中一个非常简单的打字错误。如果您有相同的问题,可以是这么简单:

而不是(这是正确的):

我说:

- url: /_ah/api/.*
  script: services.application

将api更改回spi成功了。

如果您是从GWT DevMode运行AppEngine,则需要更改基本参数中的端口以匹配您在console中看到的端口,对我来说,这是8888:


我也是GAE端点的新手,我也有同样的问题。 在我的例子中,我出现这个错误是因为app.yaml中url处理程序的顺序。我是这样的:

- url: /.*
  script: core_service.application

  # Endpoints handler
- url: /_ah/spi/.*
  script: api_service.application
正确的方法是首先定义最具体的路线,最后定义最通用的路线(/.*)。像这样:

  # Endpoints handler
- url: /_ah/spi/.*
  script: api_service.application

- url: /.*
  script: core_service.application

问题是python文件找不到以下内容的导入:

from protorpc import remote
因此,使用终端,跳过GUI,导航到appengine sdk目录,并将项目放在其中。对于mac来说,它是:

/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/

我知道这不是完全相同的问题,但我收到的消息是“您正在探索一个通过HTTP而不是HTTPS描述或提供服务的API。这是不安全的,可能会被您的浏览器阻止。若要解决此问题,请为您的API设置TLS代理。或者,您可以告诉您的浏览器允许在此网站上通过HTTP提供活动内容(在Chrome上,单击URL栏中的屏蔽),但这不会提高安全性或消除此消息。”


单击Chrome地址栏中的屏蔽图标为我做到了这一点。

我也遇到了同样的问题,但结果是我在localhost上指定了错误的端口。当开发服务器启动时,日志在localhost上指定了三个谨慎的端口:

信息2015-07-26 03:46:56023 api_server.py:172]正在启动api服务器:http://localhost:35714

INFO 2015-07-26 03:46:56027 dispatcher.py:186]正在启动模块“default”,运行地址:http://localhost:8080

INFO 2015-07-26 03:46:56028 admin_server.py:118]在http://localhost:8000启动管理服务器

问题是我试图为api服务器使用端口,但您只需要为默认模块使用端口


这是有效的:http://localhost:8080/_-ah/api/explorer(我需要在chrome中单击屏蔽并允许不安全的脚本,因为url未加密)

有些变化,现在您必须以特定的方式启动chrome才能在localhost development server上使用api explorer

这是一个来自谷歌的信息

但对我来说,它仍然无法修复在localhost dev服务器上使用api explorer的问题。
我发现一个可能的解决办法是启动带有“允许运行不安全内容”标志的Chrome“
在终端的MacOs上运行以下命令:

/Applications/Google\Chrome.app/Contents/Mac/Google\Chrome --用户数据目录=测试--允许运行不安全的内容


我在chrome上尝试了以上所有方法,但没有任何效果,但使用firefox,我只需点击url栏左侧的锁并禁用安全性。这让我很开心,干杯!!:D

快速修复: 打开链接:在firefox中,单击导航栏上的安全连接图标,然后单击禁用保护。您应该能够看到您的API


ps;记住用您的端口号编辑8080

url中是https还是url参数中的https?两者都有http。该链接对我有效(端口8888和API名称为tho)。为什么localhost:8888/_ahi/api不重定向我?它只给了我404。我只使用GPE从我的端点类生成端点库。部署到GAE可以很好地工作。直接从appstore url导出的资源管理器适用于我。这不是一个输入错误。发件人:
注意:在下表中关于后端配置和部署问题,我们参考路径/_-ah/spi,你可能认为这是一个输入错误,因为应用程序将其请求发送到/_-ah/api。然而,端点后端实际上在路径/_-ah/spi上处理这些请求。
我已经尝试了所有的方法,这一切都很有效。谢谢你,这和使用firefox单击url b左侧的锁来解锁安全性谢谢你的提示!这终于让我成功了。在chrome和chrome中都成功了。
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/