如何在Google Cloud Endpoints上修复OpenAPI文档的生成?

时间:2018-11-24 04:32:12

标签: python api google-app-engine google-cloud-platform google-cloud-endpoints

我正在研究以下教程:“ App Engine Standard上的Cloud Endpoints框架入门”。 https://cloud.google.com/endpoints/docs/frameworks/python/get-started-frameworks-python

在将命令“ MY_PROJECT_ID”替换为我的项目ID后,在运行命令时“生成OpenAPI文档”部分的第二步:

python lib/endpoints/endpointscfg.py get_openapi_spec main.EchoApi --hostname [MY_PROJECT_ID].appspot.com

我收到以下错误:

Traceback (most recent call last):
  File "lib/endpoints/endpointscfg.py", line 31, in <module>
    main(sys.argv)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/_endpointscfg_impl.py", line 617, in main
    args.callback(args)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/_endpointscfg_impl.py", line 465, in _GenOpenApiSpecCallback
    x_google_api_name=args.x_google_api_name)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/_endpointscfg_impl.py", line 308, in _GenOpenApiSpec
    x_google_api_name=x_google_api_name)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/_endpointscfg_impl.py", line 216, in GenApiConfig
    services, hostname=hostname, **additional_kwargs))
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/openapi_generator.py", line 1064, in pretty_print_config_to_json
    descriptor = self.get_openapi_dict(services, hostname, x_google_api_name=x_google_api_name)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/openapi_generator.py", line 1050, in get_openapi_dict
    return self.__api_openapi_descriptor(services, hostname=hostname, x_google_api_name=x_google_api_name)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/openapi_generator.py", line 951, in __api_openapi_descriptor
    security_definitions)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/openapi_generator.py", line 756, in __method_descriptor
    api_key_required=api_key_required)
  File "/home/samuel_lessing/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/openapi_generator.py", line 791, in __security_descriptor
    'audiences must be a dict when third-party issuers '
endpoints.api_exceptions.ApiConfigurationError: audiences must be a dict when third-party issuers (auth0, firebase, etc) are in use.

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

感谢使用Cloud Endpoints框架。

这是Frameworks版本4.7.0中引入的错误。我已经打开https://github.com/cloudendpoints/endpoints-python/issues/184进行跟踪,并将尝试尽快进行修复。