Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fsoky/donationalertsapi
Модуль для работы с Donation Alerts API
https://github.com/fsoky/donationalertsapi
api donationalerts flask fsoky python
Last synced: about 1 month ago
JSON representation
Модуль для работы с Donation Alerts API
- Host: GitHub
- URL: https://github.com/fsoky/donationalertsapi
- Owner: Fsoky
- Created: 2021-03-30T12:22:44.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-17T17:30:03.000Z (about 1 year ago)
- Last Synced: 2024-11-16T03:14:42.295Z (about 1 month ago)
- Topics: api, donationalerts, flask, fsoky, python
- Language: Python
- Homepage: https://www.youtube.com/watch?v=ln7fvwdy5zo
- Size: 392 KB
- Stars: 28
- Watchers: 3
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# О платформе DonationAlerts
**DonationAlerts** - онлайн-платформа для сбора пожертвований от зрителей в реальном времени. Часто используется стримерами и блогерами во время трансляций. Платформа предоставляет сервис для приема электронных пожертвований, уведомления о которых появляются в реальном времени. С помощью DonationAlerts создатели контента могут интегрировать различные платежные системы и настраивать персонализированные сообщения для поддерживающих.# Об API
**API DonationAlerts** - это программный интерфейс приложения, который позволяет разработчикам взаимодействовать с функциональностью **DonationAlerts**. С его помощью можно автоматизировать процессы сбора информации о пожертвованиях, управления уведомлениями, и, возможно, другими аспектами, связанными с платформой.> [!NOTE]
> _Для работы с **API** понадобится:_ \
> [Создать свое приложение Donation Alerts](https://www.donationalerts.com/application/clients) \
> [Официальная документация Donation Alerts API](https://www.donationalerts.com/apidoc)> [!WARNING]
> **Новая версия модуля на стадии разработки**## Установка
- Установка, используя пакетный менеджер pip
```
$ pip install DonationAlertsAPI
```
- Установка с GitHub *(требуется [git](https://git-scm.com/downloads))*
```
$ git clone https://github.com/Fsoky/DonationAlertsAPI
$ cd DonationAlertsAPI
$ python setup.py install
```
- Или
```
$ pip install git+https://github.com/Fsoky/DonationAlertsAPI
```## Пример использования
>[!TIP]
>Если желаете работать _асинхронно_, импортируйте класс **AIODonationAlertsAPI**, методы работы аналогичны.В данном коде реализован пример простого веб-приложения на Flask, которое обеспечивает авторизацию через DonationAlerts API и получение информации о пользователе. Давайте разберем, что происходит шаг за шагом:
#### Импорт библиотек:
```python
from flask import Flask, redirect, request
from donationalerts import DonationAlertsAPI, Scope
```
В этом блоке происходит импорт необходимых модулей. Flask используется для создания веб-приложения, а DonationAlertsAPI и Scope - для работы с DonationAlerts API и указания необходимых разрешений (scopes).#### Настройка приложения и API:
```python
app = Flask(__name__)
api = DonationAlertsAPI(
"CLIENT_ID",
"CLIENT_SECRET",
"http://127.0.0.1:5000/login",
[
Scope.OAUTH_USER_SHOW,
Scope.OAUTH_DONATION_INDEX
]
)
```
Здесь создается экземпляр Flask-приложения (app) и объекта DonationAlertsAPI с указанием идентификатора клиента (CLIENT_ID), секрета клиента (CLIENT_SECRET), URI перенаправления после авторизации (http://127.0.0.1:5000/login) и списком разрешений (scopes).#### Маршрут для инициации авторизации:
```python
@app.route("/")
def index():
return redirect(api.authorize.login())
```
При переходе на корневой URL приложения происходит перенаправление на URL авторизации DonationAlerts с использованием api.authorize.login().#### Маршрут для обработки ответа после авторизации:
```python
@app.route("/login")
def login():
code = request.args.get("code")
access_token = api.authorize.get_access_token(code)user = api.user.get(access_token.access_token)
return user.to_dict()
```
После того, как пользователь разрешил доступ, происходит перенаправление на указанный URI (http://127.0.0.1:5000/login). Затем извлекается код доступа (code), который используется для получения токена доступа. С помощью токена доступа запрашивается информация о пользователе, и возвращается словарь с данными пользователя.#### Запуск приложения:
```python
if __name__ == "__main__":
app.run(debug=True)
```
Приложение запускается, если оно запускается напрямую, а не импортируется в другой скрипт.Этот код создает простое веб-приложение, которое позволяет пользователям авторизоваться через DonationAlerts, после чего выводится информация о пользователе. Важно убедиться, что идентификатор клиента и секрет клиента правильно указаны, и что URI перенаправления соответствует настройкам вашего приложения в DonationAlerts.
#### Полный код:
```python
from flask import Flask, redirect, request
from donationalerts import DonationAlertsAPI, Scopeapp = Flask(__name__)
api = DonationAlertsAPI(
"CLIENT_ID",
"CLIENT_SECRET",
"http://127.0.0.1:5000/login",
[
Scope.OAUTH_USER_SHOW,
Scope.OAUTH_DONATION_INDEX
]
)@app.get("/")
def index():
return redirect(api.authorize.login())@app.get("/login")
def login():
code = request.args.get("code")
access_token = api.authorize.get_access_token(code)user = api.user.get(access_token.access_token)
return user.to_dict()if __name__ == "__main__":
app.run(debug=True)
```