Добавлен пример использования прокси при необходимости
このコミットが含まれているのは:
コミット
da76665405
|
@ -3,6 +3,10 @@
|
|||
В этой папке есть небольшие примеры, чтобы показать, как выглядят скрипты,
|
||||
написанные с помощью `yandex-music-api`.
|
||||
|
||||
- [proxy](proxy.py) – пример использования прокси, когда у пользователя нет подписки
|
||||
(так как Яндекс.Музыка недоступна за пределами СНГ. Актуально для расположения
|
||||
скрипта на зарубежном сервере). При проблемах с авторизацией или токеном
|
||||
использование клиента без авторизации.
|
||||
- [radio_example](radio_example) – пример [@Angel777d](https://github.com/Angel777d)
|
||||
без внесения правок. Обёртка для более легкого взаимодействия с радио и
|
||||
потоками по разным сущностям ЯМ с примерами её использования.
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
import os
|
||||
|
||||
from yandex_music import Client
|
||||
from yandex_music.exceptions import YandexMusicError
|
||||
from yandex_music.utils.request import Request
|
||||
|
||||
yandex_music_token = os.environ.get('YANDEX_MUSIC_TOKEN')
|
||||
proxied_request = Request(proxy_url=os.environ.get('PROXY_URL'))
|
||||
|
||||
try:
|
||||
if not yandex_music_token:
|
||||
raise YandexMusicError()
|
||||
|
||||
# подключаемся без прокси для получения информации об аккаунте (доступно из других стран)
|
||||
client = Client(yandex_music_token, request=Request())
|
||||
# проверяем отсутствие подписки у пользователя
|
||||
if client.me and client.me.plus and not client.me.plus.has_plus:
|
||||
# если подписки нет - пересоздаем клиент с использованием прокси
|
||||
client = Client(yandex_music_token, request=proxied_request)
|
||||
except YandexMusicError:
|
||||
# если есть проблемы с авторизацией, токеном или чем-либо еще, то инициализируем клиент без авторизации
|
||||
# так как сервисом можно пользоваться будучи гостем, но со своими ограничениями
|
||||
client = Client(request=proxied_request, fetch_account_status=False)
|
読み込み中…
新しいイシューから参照