Как реализовать запрос "GET" для работы с STRAVA API от Почтальона?

Дальнейшее обновление...

Я получил это работает. Хотя документация Стравы не говорит, что какие-либо аргументы в вызове являются обязательными, кажется, что все они таковы. Вы должны указать действительные аргументы до и после во время эпохи, и... (и это часть, которая меня немного смутила), вам нужно указать номер страницы и количество элементов на странице. Количество элементов на странице по умолчанию равно 30, но номер страницы не по умолчанию. То, как это работает, заключается в том, что если вы произносите страницы 1 и 30 элементов на страницу, вы получаете пункты 1–30. Если вы говорите страницы 3 и 30 элементов на страницу, вы получаете пункты 31–60 и так далее. Вы должны создать цикл, который будет продолжаться до тех пор, пока он не получит пустую страницу. Затем вы знаете, что вы нашли все действия. (По крайней мере, я так думаю.)

Адриан

Обновление вопроса...

После некоторых копаний и экспериментов мне удалось решить некоторые из моих проблем (как описано ниже) самостоятельно. Когда кто-то создает приложение в Strava, указанное в ваших настройках в разделе "Мое приложение API", данный токен имеет область "прочитано" и выглядит очень и очень ограниченным.

После выполнения перечисленных здесь шагов проверки подлинности Strava мне удалось получить новый токен со следующими областями:

Объем = читать, активность: чтение, активность:read_all, раздел:read_all,read_all

Итак... я думал, что я "золотой", как говорится.

Ну, теперь я могу получить отдельные виды деятельности, используя:

https://www.strava.com/api/v3/activities/2110745394?include_all_efforts="true" &access_token= {{ADR_Strava_API_Key}}

Но когда я пытаюсь получить список всех действий, я не получаю никаких сообщений об ошибках, а Strava просто возвращает

[] и это для спортсмена, который, как я знаю, имеет более 1800 занятий.

Что я действительно хочу, так это получить список видов деятельности. Любая помощь будет оценена.

Спасибо

Адриан

Я могу получить информацию о спортсменах из Стравы с помощью почтальона, используя следующий запрос https:

https://www.strava.com/api/v3/athletes/19133707?access_token={{ADR_Strava_API_Key}}

Возвращается следующее:

{
    "id": 19133707,
    "username": "adrian_geekie",
    "resource_state": 2,
    "firstname": "Adrian",
    "lastname": "Geekie",
    "city": "Gauteng, South Africa",
    "state": "GP",
    "country": "South Africa",
    "sex": "M",
    "premium": true,
    "summit": true,
    "created_at": "2017-01-03T16:07:37Z",
    "updated_at": "2019-01-28T16:08:07Z",
    "badge_type_id": 1,
    "profile_medium": "https://dgalywyr863hv.cloudfront.net/pictures/athletes/19133707/5599004/2/medium.jpg",
    "profile": "https://dgalywyr863hv.cloudfront.net/pictures/athletes/19133707/5599004/2/large.jpg",
    "friend": null,
    "follower": null
}

Но когда я пытаюсь получить действия, используя этот запрос:

https://www.strava.com/api/v3/19133707/activities?before=&after=1546293601&page=&per_page=&access_token={{ADR_Strava_API_Key}}

Я получил это возвращено:

{"message": "Запись не найдена", "error": [ { "resource": "resource", "field": "path", "code": "invalid" } ] }

По моему мнению, я запрашиваю все записи после 1 января 2019 года, т.е. отметку времени эпохи 1546293601. Я знаю, что после этой даты у этого спортсмена есть много занятий. (Более 20).

Я также попытался получить один вид деятельности, используя:

https://www.strava.com/api/v3/activities/2110745394?include_all_efforts="true" &access_token= {{ADR_Strava_API_Key}}

и я получаю результат:

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

На странице разработчика Strava приведены примеры для HTTPie:

https://www.strava.com/api/v3/activities/{id}? include_all_ehaps=" " Авторизация: Носитель [[токен]]

Поэтому я заменяю "Авторизация: Носитель [[токен]] на &access_token=

Возможно, это моя ошибка, но access_token работает в первом примере.

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

Спасибо

0 ответов

У меня были те же проблемы с запросом GET с Postman. В частности, при использовании Postman {https://www.strava.com/api/v3/activities/12345678?include_all_efforts=true} не работал, а { https://www.strava.com/api/v3/athletes/12345678/stats?} Работал как шарм.

Затем я опробовал игровую площадку Strava, как описано в документации. Оттуда меня попросили снова пройти аутентификацию, чтобы продлить авторизацию и успешно выполнить запрос GET. Этот: {https://www.strava.com/api/v3/activities/12345678?include_all_efforts=true} наконец-то заработал, как ожидалось. Я предполагаю, что использование Postman не позволяет выполнять этот дополнительный шаг аутентификации, и это причина, по которой я не мог получить ожидаемые результаты.

Другие вопросы по тегам