我正在尝试在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)
不确定我应该安装什么软件包才能使它正常工作。
答案 0 :(得分:0)
首先安装swagger-codegen并检查其是否正常运行,该示例适用于linux。使用Mac可以更轻松地使用自制软件。
wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.7/swagger-codegen-cli-2.4.7.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编写。