运行 开发服务器(本地主机)上 Google Cloud Endpoints 的 API Explorer 不再有效
Running the API Explorer for Google Cloud Endpoints on a development server (on localhost) no longer works
我正在使用 Google Cloud Endpoints 为 Python 中的 Android 应用编写后端。当我尝试 运行 Google 的 API 资源管理器在开发服务器(本地主机)上测试我的 API 时,它给我一个关于 SSL 的错误:
403 Forbidden
{
"error": {
"errors": [
{
"domain": "global",
"reason": "sslRequired",
"message": "SSL is required to perform this operation."
}
],
"code": 403,
"message": "SSL is required to perform this operation."
}
}
Google 的文档支持这一点:
端点需要 SSL。
(https://cloud.google.com/appengine/docs/python/endpoints/ )
"The development web server does not support HTTPS connections"
cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Secure_URLs
我有两个不方便的解决方法:使用 CURL 将命令发送到开发服务器(如以下站点建议的那样)或仅测试已部署的版本。 API Explorer 非常方便,过去几年我每次使用它时它都能正常工作,最近一次是在 2014 年 8 月。
有谁知道 API Explorer 需要 SSL 是否是最近的更改?有什么方法可以在开发服务器上使用 API Explorer,就像这里所说的那样(https://cloud.google.com/appengine/docs/python/endpoints/test_deploy#running_and_testing_api_backends_locally)?
谢谢。
解决方法由 Tyler Rockwood 找到...
如果您从 @endpoints.api 注释中删除 hostname 字段,它将再次起作用:
行不通...
@endpoints.api(name="blah", version="v1", description="Blah", hostname="causesfailure.appspot.com")
会工作...
@endpoints.api(name="blah", version="v1", description="Blah")
或者(甚至 lamer)您可以在测试时将主机名设置为 localhost
@endpoints.api(name="blah", version="v1", description="Blah", hostname="localhost:8080")
不要在 @endpoints.api
注释中添加 hostname。
我正在使用 Google Cloud Endpoints 为 Python 中的 Android 应用编写后端。当我尝试 运行 Google 的 API 资源管理器在开发服务器(本地主机)上测试我的 API 时,它给我一个关于 SSL 的错误:
403 Forbidden
{
"error": {
"errors": [
{
"domain": "global",
"reason": "sslRequired",
"message": "SSL is required to perform this operation."
}
],
"code": 403,
"message": "SSL is required to perform this operation."
}
}
Google 的文档支持这一点:
端点需要 SSL。 (https://cloud.google.com/appengine/docs/python/endpoints/ )
"The development web server does not support HTTPS connections" cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Secure_URLs
我有两个不方便的解决方法:使用 CURL 将命令发送到开发服务器(如以下站点建议的那样)或仅测试已部署的版本。 API Explorer 非常方便,过去几年我每次使用它时它都能正常工作,最近一次是在 2014 年 8 月。
有谁知道 API Explorer 需要 SSL 是否是最近的更改?有什么方法可以在开发服务器上使用 API Explorer,就像这里所说的那样(https://cloud.google.com/appengine/docs/python/endpoints/test_deploy#running_and_testing_api_backends_locally)?
谢谢。
解决方法由 Tyler Rockwood 找到...
如果您从 @endpoints.api 注释中删除 hostname 字段,它将再次起作用:
行不通...
@endpoints.api(name="blah", version="v1", description="Blah", hostname="causesfailure.appspot.com")
会工作...
@endpoints.api(name="blah", version="v1", description="Blah")
或者(甚至 lamer)您可以在测试时将主机名设置为 localhost
@endpoints.api(name="blah", version="v1", description="Blah", hostname="localhost:8080")
不要在 @endpoints.api
注释中添加 hostname。