2015-12-29 67 views
3

上的一個小應用程序,需要在消息應用程序提交的用戶Spotify的跟蹤URL,並將其添加到公共Spotify的播放工作。該應用程序正在Heroku站點上使用spotipy python的幫助下運行(所以我有一個有效/回調)並監聽發佈跟蹤URL的用戶。完成通過桌面應用程序Spotify的授權碼流,而無需使用瀏覽器

當運行通過命令行該應用中,我使用util.prompt_for_user_token。瀏覽器打開後,我成功移動身份驗證流程,然後將提供的回調URL複製粘貼回終端。

當我運行這個程序,並嘗試添加的消息應用的軌道,它不會打開用戶進行身份驗證的瀏覽器,所以驗證流程永遠不會完成。

有關如何處理此問題的任何建議?我可以通過終端驗證一次,捕獲代碼/令牌,然後處理刷新過程,以便最終用戶永遠不必驗證?

P.S.不能添加標籤「spotipy」又吃了一驚它已經不可

回答

1

不幸的是,spotipy UTIL功能只返回的access_token,不是所有重要refresh_token。 access_token將在有限的時間後過期。此時,您需要使用refresh_token創建一個新的access_token。

我沒有看到任何spotipy公共職能,讓您搶refresh_token。但是,你總是可以創建一個包含以下組件的新的access_token:

  • 你的Spotify客戶端ID(您的應用頁面上找到)
  • 你的Spotify客戶端密鑰(您的應用頁面上找到)
  • 您的Spotify刷新令牌 - 在這裏看到了一種方式來獲得,一旦 - https://developer.spotify.com/web-api/tutorial/

聰明人的話,在調試的時候,我要求一個新的使用的access_token郵差張貼到https://accounts.spotify.com/api/token - 它只是在heade指定工作後, RS

  • '的Content-Type': '應用程序/ X WWW的形式,進行了urlencoded'
+0

謝謝你,這是非常有幫助! –

2

有一次,我遇到了與谷歌的日曆API類似的問題。該應用程序的重要性非常低,所以我通過在瀏覽器中本地運行auth來查找解決方案,找到響應令牌並手動將其複製到Heroku的環境變量中。當然,缺點是令牌設置爲自動過期(我認爲Google日曆已設置爲30天),因此應用程序定期停止工作,我必須通過驗證流程並將密鑰複製過來。有可能是一種自動化的方法。

祝你好運!

相關問題