0

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

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

我有写访问令牌,我创建了一个包含我想要更新的东西的字典,但我仍然继续获得这个回报。这是我用来尝试更新活动的代码行

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

关于我在这里做错了什么的任何想法?(对不起,如果我把这个问题格式化得很糟糕。这是我关于堆栈溢出的第一篇文章)

4

2 回答 2

0

我想到了。事实证明,我正在创建单独的访问令牌,一个具有范围活动:写入,另一个具有范围活动:读取。我必须使用范围活动创建访问令牌:写入和活动:读取。它让我现在可以更新活动

于 2020-04-17T15:18:13.857 回答
0

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

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)
于 2020-04-14T18:03:36.667 回答