【发布时间】:2016-05-06 15:19:15
【问题描述】:
我对 Python 和 Google AppEngine 还很陌生,但有大约 7 年的编程经验。我也是 StackOverflow 的新手。
我一直在尝试为我的个人项目设置一个简单的 Google Cloud Endpoint API,并且已经完成并将完成的应用上传到 Google App Engine。
这是我的 Endpoint API 设置:
@endpoints.api(name='puzzle', version='v1', description='Puzzle Engine API')
和方法:
@endpoints.method(
PuzzleMessage, PuzzleMessage,
name='puzzle.generate',
http_method='GET',
path='generate'
)
@endpoints.method(
PuzzleMessage, PuzzleMessage,
name='puzzle.solve',
http_method='GET',
path='solve'
)
我的 app.yaml 看起来像:
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
# Endpoints handler
- url: /_ah/api/.*
script: services.application
libraries:
- name: webapp2
version: "2.5.2"
最后 services.py 显示:
from google.appengine.ext import endpoints
from api import puzzle_api
application = endpoints.api_server([
puzzle_api.PuzzleAPI
], restricted=False)
现在,问题是当我尝试访问 https://my-app-name.appspot.com/_ah/api/discovery/v1/apis 时,我看到的只是
找不到
此外,当我在https://developers.google.com/apis-explorer/?base=https://my-app-name.appspot.com/_ah/api#p/ 访问 API Explorer 时,服务列表为空,并且在 JavaScript 中控制台,我在 https://my-app-name.appspot.com/_ah/api/discovery/v1/apis 上看到 404 错误。
在本地测试服务器上点击这些 URL 会产生完全不同的错误。当我尝试在 localhost:8080/_ah/api/discovery/v1/apis 访问本地测试服务器上的 API Discovery 时,我得到了
{"error": {"message": "BackendService.getApiConfigs 错误"}}
而不是“未找到”。现在,在 https://developers.google.com/apis-explorer/?base=http://localhost:8080/_ah/api#p/ 上点击 Explorer 将在 JavaScript 控制台中显示 500 错误而不是 404。
我一直在尝试通过进行许多 Google 搜索并尝试许多事情来解决此问题,但我似乎无法继续进行下去。我非常感谢我能从这个专业社区获得任何帮助。
谢谢。
【问题讨论】:
-
如果您有新信息要添加,您可以(并且应该!)编辑您的问题。它会让你的问题更清楚,并吸引那些可能回答它的人的注意力。
-
谢谢@MartinAtkins。我会这样做的。
-
不幸的是,1.7.6 SDK 也存在问题;请参阅stackoverflow.com/questions/15666157 了解更多信息。尝试颠倒
app.yaml中处理程序的顺序并使用 1.7.5 SDK。
标签: python google-app-engine google-cloud-endpoints