Я использую приведенный ниже код для выполнения 599 асинхронных запросов к Strava API. По какой-то причине ответ, который я получаю для каждого из них,
{"сообщение":"Ошибка авторизации","ошибки":[{"ресурс":"Приложение","поле":"","код":"неверный"}]}
Это тип ошибки, которую вы обычно получаете, когда ваш параметр строки запроса access_token
недействителен. Но в этом случае токен на 100% правильный: URL-адрес возвращает правильный ответ, если его просто скопировать и вставить вручную в браузере.
В чем может быть причина ошибки и как ее исправить? Может ли быть так, что сеанс aiohttp
как-то мешает процедуре аутентификации?
Примечание: из соображений конфиденциальности токен в приведенном ниже коде является поддельным.
import aiohttp
import asyncio
async def fetch(session, url):
async with session.get(url) as response:
print(await response.text())
async def main():
urls = ['''https://www.strava.com/api/v3/activities/
280816027?include_all_efforts=true&
access_token=11111111'''] * 599
async with aiohttp.ClientSession() as session:
tasks = [
asyncio.ensure_future(fetch(session, url))
for url in urls
]
await asyncio.gather(*tasks)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
aiohttp
для получения отладочного вывода? Какой результат вы получили? Он должен показывать точные HTTP-запросы, которые он отправляет... - person Bakuriu   schedule 27.01.2019