Как получить доступ к аутентификации через Strava API, используя Python? - PullRequest
0 голосов
/ 26 марта 2020

Я запускаю небольшой python скрипт (не приложение), который может загружать мои файлы активности * .fit на Strava всякий раз, когда они создаются в нужной папке.

Основные шаги, которые я планирую сделать:

1. monitor *.fit file system modifications
2. access authentication to Strava to enable my program to upload files
   (This tool will be personal use only, thus I expect no need to authenticate every time uploading)
3. upload the file to my Strava account
4. automatically doing this fixed routine with the help of Windows Task Scheduler
   (For example, there will be 4-5 new riding activities generated in my computer folder, I expect this tool can automatically upload all of them once a week so that I do not need to manually complete the task.)

Для step2 , у меня действительно нет идей, как реализовать, даже если вы прочитаете Аутентификация Strava Документация и несколько исходных кодов, разработанных другими людьми (например, проект Торавира "rk2s (RunKeeper 2 Strava)" на GitHub ). Я схватил, что некоторые из python модулей, таких как stravalib, swagger_client, request, json, et c. а также такие понятия, как OAuth2 могут быть связаны с step2 , но я все еще не могу собрать все воедино ...

Может ли любой опытный дать мне несколько советов по реализации step2 ? или любые связанные чтения будут идеальными!

Советы для других частей этого проекта также будут очень приветствоваться и цениться.

Заранее большое спасибо:)

Ответы [ 2 ]

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

На самом деле похоже, что если вы go до Настройки API , вы можете получить свой токен доступа и обновить там sh токен. Я также проверил бы Python Библиотеку Стравы , но похоже, что вы могли бы сделать что-то вроде:

from stravalib.client import Client
access_token = 'your_access_token_from_your_api_application_settings_page'
refresh_token = 'your_refresh_token_from_your_api_application_settings_page' 

client = Client()

athlete = client.get_athlete()

Возможно, вам понадобится еще немного покопаться в этой библиотеке, чтобы понять из части загрузки.

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

Я полагаю, что вам нужно пройти проверку подлинности с помощью OAuth, чтобы загрузить свою активность, что в значительной степени требует от вас настройки веб-сервера, на которую Strava может публиковать сообщения после того, как вы "авторизуетесь". Я просто настроил аутентификацию с помощью Rails & Heroku.

Эта ссылка имеет довольно хорошую блок-схему того, что должно произойти. https://developers.strava.com/docs/authentication/

...