Как обновить действия Strava с помощью API в python? - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь обновить свои действия в Страве, используя python. Я использую модуль запросов для отправки запросов 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()

Есть идеи, что я здесь не так делаю? (Извините, если я плохо отформатировал этот вопрос. Это мой первый пост о переполнении стека)

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Я понял это. Оказывается, я создавал отдельные токены доступа, один с областью действия: запись, а другой с областью действия: чтение. Мне пришлось создать токен доступа с областью действия: запись и активность: чтение. Это позволяет мне обновлять деятельность сейчас

0 голосов
/ 14 апреля 2020

Я вытащил это из документов , вы пытались сделать что-то подобное?

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)
...