【问题标题】:swagger_client in python trying to use Strava APIpython中的swagger_client尝试使用Strava API
【发布时间】:2019-04-12 17:58:24
【问题描述】:

我正在尝试在 Flask 项目中使用 Stava API。看过以下stackoverflow

并安装了 swagger_client

swagger-codegen generate -i https://developers.strava.com/swagger/swagger.json -l python -o ./StravaPythonClient

按照他们的指示。但是,当我运行该应用程序时,我仍然得到import swagger_client ModuleNotFoundError: No module named 'swagger_client'

我的代码在这里

import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# Configure OAuth2 access token for authorization: strava_oauth
swagger_client.configuration.access_token = 'fe931c21b503a46b61b1000000000000000000000'

# create an instance of the API class
api_instance = swagger_client.StreamsApi()
id = 2284367626  # Long | The identifier of the activity.
#keys =  # array[String] | Desired stream types.
keyByType = true  # Boolean | Must be true. (default to true)

try:
    # Get Activity Streams
    api_response = api_instance.getActivityStreams(id, keys, keyByType)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling StreamsApi->getActivityStreams: %s\n" % e)

不确定我现在应该安装哪些软件包才能使其正常工作。

【问题讨论】:

  • 你的问题是什么?
  • 对不起...我如何安装 swagger_client
  • 您使用什么版本的 Swagger Codegen?检查swagger-codegen version
  • swagger-codegen version 07:49:27.261 [main] DEBUG io.swagger.codegen.v3.cli.SwaggerCodegen - there are not options for command 'langs' 07:49:27.263 [main] DEBUG io.swagger.codegen.v3.cli.SwaggerCodegen - there are not options for command 'version' 3.0.5我相信3.0.5

标签: python swagger strava


【解决方案1】:

首先安装 swagger-codegen 并检查它是否正常工作,此示例适用于 linux。使用 mac 更容易,您可以在其中使用自制软件。

wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar
java -jar swagger-codegen-cli.jar help

之后进入您的项目并生成 swagger-client。下面的代码表明它是用于 python 的,应该存储在项目中名为 generate

的文件夹中
java -jar swagger-codegen-cli.jar generate -i https://developers.strava.com/swagger/swagger.json -l python -o generated

进入生成的文件夹并安装需求

cd generated && python setup.py install --user && cd ..

更改您的导入语句以引用生成的文件夹。

from generated import swagger_client
from generated.swagger_client.rest import ApiException
from pprint import pprint

# Configure OAuth2 access token for authorization: strava_oauth
swagger_client.Configuration.access_token = 'fe931c21b503a46b61b1000000000000000000000'

# create an instance of the API class
api_instance = swagger_client.StreamsApi()
id = 2284367626  # Long | The identifier of the activity.
#keys =  # array[String] | Desired stream types.
keyByType = true  # Boolean | Must be true. (default to true)

try:
    # Get Activity Streams
    api_response = api_instance.getActivityStreams(id, keys, keyByType)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling StreamsApi->getActivityStreams: %s\n" % e)

现在您可以运行该文件了。 ps当你设置访问令牌时:配置需要用大写C写。

【讨论】:

    猜你喜欢
    • 2022-10-12
    • 2020-07-25
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多