gpt4 book ai didi

python - AppEngine Google Cloud Endpoint - 未找到发现

转载 作者:太空狗 更新时间:2023-10-30 01:51:41 24 4
gpt4 key购买 nike

我对 Python 和 Google AppEngine 还很陌生,但有大约 7 年的编程经验。我也是 StackOverflow 的新手。

我一直在尝试为我的个人项目设置一个简单的 Google Cloud Endpoint API,并已完成并将完成的应用上传到 Google App Engine。

这是我的端点 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 时,我看到的只是

Not Found

此外,当我在 https://developers.google.com/apis-explorer/?base=https:// 处点击 API Explorer 时my-app-name.appspot.com/_ah/api#p/,服务列表为空,在 JavaScript 控制台中,我在 https:// 上看到 404 错误我的应用名称.appspot.com/_ah/api/discovery/v1/apis。

在本地测试服务器上点击这些 URL 会产生完全不同的错误。当我尝试访问位于 localhost:8080/_ah/api/discovery/v1/apis 的本地测试服务器上的 API 发现时,我得到了

{"error": {"message": "BackendService.getApiConfigs Error"}}

而不是“未找到”。在 https://developers.google.com/apis-explorer/?base=http://localhost:8080/_ah/api#p/ 处点击资源管理器现在也会在 JavaScript 控制台中显示 500 错误而不是 404。

我一直在尝试通过进行多次 Google 搜索并尝试很多事情来解决这个问题,但我似乎无法继续进行下去。如果我能从这个专业人士社区获得任何帮助,我将不胜感激。

谢谢。

最佳答案

请参阅此处的文档:https://developers.google.com/appengine/docs/python/endpoints/api_server

您需要执行以下操作:

将您的 app.yaml 更改为:

handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico

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

- url: .*
script: main.app

libraries:
- name: webapp2
version: "2.5.2"

注意:url 应该是/_ah/spi/.* 而不是/_ah/api/.*。更改它,然后您可以在 /_ah/api/explorer 访问您的 api。

关于python - AppEngine Google Cloud Endpoint - 未找到发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15675587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com