Автоматизированное управление плейлистами Spotify с помощью PHP-интерфейса и ограничений скорости

Два вопроса:

Вопрос 1.

Нам нужно управлять 4 плейлистами пользователя Spotify из нашего бэкэнда (PHP) (без входа пользователя). Посетители нашего сайта могут представить несколько своих любимых песен на наши сайты. Исходя из этого, мы создаем и управляем 4 плейлистами, которые содержат "самые популярные песни". Мы хотим автоматизировать этот процесс из нашего PHP-интерфейса без необходимости ручного управления списком воспроизведения изо дня в день в течение нескольких месяцев. Для этого мы хотели бы использовать API Spotify, но для доступа и управления пользовательскими плейлистами необходим токен доступа пользователя. Мы создали подтверждение концепции, которая "симулирует браузер с PHP". Мы регистрируемся, получаем токен аутентификации, запрашиваем токен доступа с токеном аутентификации, а затем выполняем необходимые вызовы API - и все это без вмешательства пользователя. Этот метод работает, но мы подозреваем и знаем, что это не 100% путь:). Мы не за злоупотребления API или что-то еще, но как мы можем периодически автоматизировать управление этими 4 пользовательскими плейлистами, если это не правильный путь? Обратите внимание, что наш бэкэнд основан на Apache - PHP. Мы также могли бы использовать NodeJS, но опять же, это тоже не тот путь.

Вопрос 2.

Пользователи отправляют песни на наш сайт. Когда пользователь вводит в поле поиска (название песни / имя исполнителя), через одну секунду мы выполняем ajax-вызов к Spotify API и показываем результаты поиска на основе введенных данных. Принимая во внимание количество посетителей, ожидаемых на сайте, это может вызвать большой трафик к API. В документах ( https://developer.spotify.com/web-api/user-guide/) не очень ясно указаны применяемые ограничения по ставкам. Можно ли дать нам более точное представление об этих ограничениях скорости, поскольку мы хотим предотвратить это, чтобы нанести ущерб нашему веб-сайту?

Заранее спасибо.

1 ответ

Вопрос 1

Если вы хотите создать списки воспроизведения в библиотеке определенного пользователя, вам нужно предоставить этому пользователю эти разрешения.

В вашем случае вы должны реализовать поток кода авторизации для получения токенов обновления и доступа.

Сохраните полученный токен доступа и токен обновления, используйте токен доступа для выполнения запросов и обновляйте токен доступа каждый раз, когда он истекает с использованием токена обновления.

Если вы собираетесь управлять этими плейлистами у своего пользователя, вам не нужно показывать пользователям какую-либо форму входа. Войдите один раз и используйте извлеченные токены в скрипте, который будет периодически вносить изменения в плейлисты вашего пользователя.

вопрос 2

На данный момент ограничения не указаны на сайте Spotify Developer, но они должны быть в состоянии обрабатывать ваши поисковые запросы. Если вы хотите быть более безопасным, аутентифицируйте свои запросы, чтобы они были ограничены на основе client_id. Чтобы получить такой токен, который не содержит никакой информации о пользователе, вы можете использовать поток учетных данных клиента.

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