2016-08-08 7 views
0

Я пытаюсь запустить рабочий процесс проверки Spotify через spotipy и его утилиту prompt_for_user_token. Я следую инструкциям here, официальному руководству по веб-интерфейсу Spotify, дословно из того, что я могу сказать. И используя примеры из проекта Пола Lamere в Spotipy herespotipy auth workflow приводит к ошибке = state_mismatch в браузере

У меня есть премиум Spotify счет и зарегистрированное приложение с идентификатором клиента и секретом клиента (оба 32 символьных строк) и перенаправление URI, указанный в примере (...//localhost:8888/callback). все, что показано на моей странице приложения (...//developer.spotify.com/my-applications)

Запустите мой сервер приложений с app.js пример «authentication_code» в учебнике (который был изменен, чтобы содержать идентификатор клиента моего клиента, секрет клиента и URL-адрес перенаправления).

$node app.js 
Listening on 8888 

после экспорта CLIENT_ID, CLIENT_SECRET и REDIRECT_URI в моей среде, как описано в руководстве, я запустить user_playlists.py пример сценария из spotipy примеров Пола Lamere с моим именем (на самом деле пользователь «ид» моего приложения - 9-значный номер), поскольку это только аргумент командной строки.

Браузер (хром) открыл ранее с возможностью входа в Spotify через Facebook или пароль. Я выбираю Facebook, а затем я получаю предупреждение браузера, который читает:

localhost:8888 says: 
There was an error during the authentication. 

С браузера URL по адресу:

...localhost:8888/#error=state_mismatch 

И функция prompt_for_user_token никогда не возвращается. Каждый раз, когда я запускаю сценарий примера, браузер открывается, но на пустую страницу с тем же предупреждением и URL-адресом браузера.

Означает ли кто-либо то, что я делаю неправильно, или как узнать, что такое природа или какие-либо детали ошибки аутентификации, или как разрешить ошибку state_mismatch или даже что это значит?

+0

Отключить тему, но в отношении вашего вопроса mysql вчера, проверить на полпути этот автоответчик для моего пароля в файле журнала ошибок http://stackoverflow.com/questions/39025524 – Drew

+0

: -o Ничего себе! Это, безусловно, тщательный ответ @Drew! Спасибо. –

ответ

0

Я нашел отличный и базовый пример опознавания oauth workflow через spotipy, который не зависит от узла или util.prompt_for_user_token here Относительно perelin.

Кроме того spoti ру документация не указывает, какой из нескольких областей на уровне пользователя требуется для любого заданного spoti ру метод, который был бы полезен. Но, кроме того, это хорошая идея, чтобы понять scopes, прежде чем начинать писать код клиента для определения. Например: «playlist-read-private» требуется для user_playlists, в отличие от «user-library-read», который не уточняется в документации spot py, поэтому вам нужно посмотреть официальную веб-apifify api документацию и знать, в какой области может потребоваться ваш метод spot py.