2017-07-04 37 views
0

我正在製作個人智能鏡像,我正在整合spotify API來顯示我當前播放的曲目。但是,我注意到,在授權過程中,您需要物理地單擊登錄並授權應用程序才能獲取向前邁進以獲取數據所需的憑據。這可以自動/不需要用戶交互?Spotify API自動初始授權

我指的是api authorization guide的第1步。

非常感謝。

回答

0

如果您正在使用這個個人智能鏡像,你應該沒有問題。您只需點擊一次瀏覽器中的按鈕即可進行授權,並且無​​需點擊任何內容即可進行所有API調用。

具體來說,在您執行授權流程的第3步之後,您將獲得刷新令牌。授權令牌到期後,您可以使用刷新令牌自動刷新授權,而無需點擊任何內容。

從他們的文檔:

不顯示登錄表單

我想與web API進行交互,並顯示在我的網站的一些數據訪問您的數據。我看到我需要授權的端點,但我不需要/希望登錄窗口彈出,因爲我想將我自己的應用程序訪問權限授予我自己的播放列表一次。有沒有辦法做到這一點?

您基本上需要爲您的 用戶帳戶頒發訪問令牌和刷新令牌。爲獲得一對訪問令牌/刷新令牌,您需要遵循授權碼流(如果您需要某個 範圍被批准)或客戶端憑證(如果您只需要簽署 您的請求,就像獲取某個播放列表)。一旦你獲得 他們,你可以使用你的訪問令牌,並在它到期時刷新它 而不必顯示任何登錄表單。

如果它不是爲你個人,你可以跳火圈,並編寫假貨是一個網頁瀏覽器,可能使用像捲曲或硒,但賠率是它是對他們的服務條款,且如果你被抓住碼他們會禁止你。

+0

感謝您的回答。還有一個問題。如果我正在獲取當前播放的歌曲,是否通過頻繁輪詢獲得正確播放的歌曲的唯一方法?我有時會遇到費率限制,並想知道是否有另一種解決方案 – JC1

+0

由於API基於休息,因此會出現這種情況。我看不到任何流式或其他API可以讓你訂閱推送通知。爲了限制你的投票,有一個'progress_ms'和'duration_ms',它告訴你一首歌是多久以及當前位置在哪裏。使用它與'timestamp'相結合,當日期通過時間戳+(duration_ms- progress_ms)時,您可以安排輪詢來調用api。這些看起來像「progress_ms」:44272,「duration_ms」:222075,「timestamp」:1490252122574.它將解決速度限制問題,但如果歌曲提前更改將無濟於事。 –

+0

另一種選擇是讓你的鏡子留下一兩首歌。您可以通過輪詢最近播放的曲目來播放最後一首歌曲之前播放的歌曲。一旦該歌曲完成,播放他們完成的最後一首歌曲,同時更新最近播放的曲目並重復播放。 –