如何在 python 中使用 API 更新 Strava 活动?

How to update Strava activities using API in python?

我正在尝试使用 python 更新我的 Strava 活动。我正在使用请求模块发送 GET、POST 和 PUT 请求。 我正在尝试使用 put 更新我的 activity,但我一直收到此错误

{'errors': [{'code': 'not found', 'field': '', 'resource': 'Activity'}],'message': 'Resource Not Found'}

我有写访问令牌,我用我想更新的东西创建了一个字典,但我仍然继续获取这个 return。 这是我用来尝试更新 activity

的代码行
updateActivty = requests.put(updatableActivity_url, headers=write_header, data=changeDescription, verify=False).json()

关于我在这里做错了什么有什么想法吗? (抱歉,如果我把这个问题格式化得不好。这是我第一次 post 堆栈溢出)

我从 docs 中提取了这个,你试过做类似的事情吗?

from __future__ import print_statement
import time
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 = 'YOUR_ACCESS_TOKEN'

# create an instance of the API class
api_instance = swagger_client.ActivitiesApi()
id = 789 # Long | The identifier of the activity.
body =  # UpdatableActivity |  (optional)

try: 
    # Update Activity
    api_response = api_instance.updateActivityById(id, body=body)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling ActivitiesApi->updateActivityById: %s\n" % e)

我想通了。结果我创建了单独的访问令牌,一个范围为 activity:write,另一个范围为 activity:read。我必须创建一个范围为 activity:write 和 activity:read 的访问令牌。它让我现在可以更新活动