2016-08-08 24 views
0

我試圖通過spotipy和它的prompt_for_user_token實用程序運行Spotify驗證工作流程。我正在按照我所知道的方向,按照指示here,官方Spotify Web API教程逐字逐句。而使用的例子,從保羅Lamere的Spotipy項目here斑點驗證工作流程導致錯誤=瀏覽器中的state_mismatch

我有一個溢價Spotify的帳戶,並註冊的應用與客戶端ID和客戶端密鑰(32個字符串),並在該示例(...//localhost:8888/callback)給出的重定向URI。全部顯示我的應用程序頁面(...//developer.spotify.com/my-applications

開始從app.js了「authentication_code」例如,在教程中我的應用程序服務器(已被修改,以包含我的應用程序的客戶端ID,客戶端密鑰和重定向URI)。 9位數 -

$node app.js 
Listening on 8888 

出口我的應用程序的CLIENT_IDCLIENT_SECRET,並REDIRECT_URI到我的環境,在教程中所述,我和我的用戶名(真正的用戶「ID」運行從保羅Lamere的spotipy例子user_playlists.py示例腳本後),因爲它只是命令行參數。

瀏覽器(chrome)已打開以前的選項,通過Facebook或密碼登錄Spotify。我選擇Facebook和然後我得到一個瀏覽器警告,上面寫着:在

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

與瀏覽器網址:

...localhost:8888/#error=state_mismatch 

而且prompt_for_user_token函數永遠不會返回。每次我運行示例腳本時,瀏覽器都將打開,但會顯示空白頁面,並具有相同的瀏覽器警報和URL。

對任何人來說,我做錯了什麼或者如何找出認證錯誤的性質或細節是什麼或者如何解決錯誤,甚至是什麼意思?

+0

關閉主題,但關於你的MySQL問題昨天,檢查一半以下我的這個自我答案的密碼在錯誤日誌文件http://stackoverflow.com/questions/39025524 – Drew

+0

:-o哇!這當然是一個徹底的答案@德魯!謝謝。 –

回答

0

我發現了spotify的一個很好的基本示例,它通過不依賴於節點的spotipy或者由perelin貢獻的util.prompt_for_user_token here

另外spoti PY文檔不指示哪個的幾個用戶級別範圍所需的任何給定的spoti PY方法,該方法將是有益的。但是,在開始爲Spotify編寫客戶端代碼之前,理解scopes是個好主意。例如:user_playlists需要「playlist-read-private」,而不是「user-library-read」,這在spoti py文檔中沒有說明,因此您需要查看官方spotify web api文件,並知道你的方法將(可能)需要哪個範圍。

相關問題