Запускаю скрипт, открывается вкладка в браузере, приложение просит разрешение. Нажимаю
"Разрешить".
Происходит редирект на пустую страницу с ошибкой
"Security token is invalid".
Если я всё верно понимаю:
(сгенерированные данные для примера)
API_KEY = '9qqLIoNFGEctIaFWfPqWwDBOtVQ6sIHr2F0zPlKe'
APP_ID = 66666
token = 'GNujomvS8KxSAQZiuQmw'
API_KEY и APP_ID указаны на странице
https://www.donationalerts.com/application/clients
после регистрации приложения.
Токен: настройки аккаунта - Секретный токен - показать.
Или в разделе "оповещения" - показать ссылку для встраивания, после знака равно. Они идентичны.
С ними невозможно накосячить, так как я их копирую, а не вбиваю вручную.
Токен актуальный, т.к. донаты приходят и отображаются в ОБС с текущим токеном в ссылке виджета.
По тому же токену открывается виджет в браузере с донатами по ссылке
https://www.donationalerts.com/widget/lastdonations?alert_type=1,4,13,15,11,16,14,2,3,5,12&limit=50&token=GNujomvS8KxSAQZiuQmw
Вот и не понимаю, откуда ошибка о неверном токене...
Может есть ещё какой-то токен?
Единственное - не смог получить refresh_token со страницы
https://www.donationalerts.com/oauth/token
(Страница не найдена)
Есть ли способ получить данные о донатах не через API а через ссылку
https://www.donationalerts.com/widget/lastdonations?alert_type=1,4,13,15,11,16,14,2,3,5,12&limit=50&token=GNujomvS8KxSAQZiuQmw?
гет запросы не работают, данные подгружаются динамически через джава скрипт...
Сам код
import requests
import webbrowser
from urllib.parse import urlencode
API_KEY = '9qqLIoNFGEctIaFWfPqWwDBOtVQ6sIHr2F0zPlKe'
APP_ID = 66666
token = 'GNujomvS8KxSAQZiuQmw'
REDIRECT_URI = 'http://127.0.0.1:49803/login'
SCOPE = 'oauth-user-show oauth-donation-index'
data = {'client_id': APP_ID, 'redirect_uri': REDIRECT_URI, 'response_type': 'code', 'scope': SCOPE}
url = 'https://www.donationalerts.com/oauth/authorize?' + urlencode(data)
webbrowser.open(url)
code = input('code: ')
data = {'grant_type':'authorization_code', 'client_id':APP_ID, 'client_secret': API_KEY, 'redirect_uri': REDIRECT_URI, 'code': code}
r = requests.post('https://www.donationalerts.com/oauth/token', data=data).json()
access_token = r[token]
refresh_token = r['refresh_token']
headers = {'Authorization': 'Bearer {}'.format(access_token)}
response = requests.get('https://www.donationalerts.com/api/v1/alerts/donations', headers=headers)
r = response.json()
print(r)