2017-09-15 52 views
0

我遇到了一個我不明白的問題! 我正在開發嘗試使用隱式授權流程訪問Spotify API的react-native(js)應用程序。Spotify隱式授權流程 - 缺少必需參數:client_id

這裏是我的方法來獲得訪問令牌:

async function getTokenFromAPI() { 
    try { 
     var params = { 
      client_id: '<client_id>', 
      response_type: 'token', 
      redirect_uri: 'http://localhost:8888/callback' 
     }; 

     var esc = encodeURIComponent; 
     var query = Object.keys(params) 
      .map(k => `${esc(k)}=${esc(params[k])}`) 
      .join('&'); 

     fetch('https://accounts.spotify.com/authorize', query).then(function (response) { 
      console.log('response, ' + JSON.stringify(response)); 
      return response; 
     }) 
    } catch(error) { 
     console.error(error); 
    } 
} 

但它回答的是: Missing required parameter: client_id

我也用郵差來檢查我的要求是好的,我也得到了同樣的答覆。 ..

有什麼問題嗎?在他們的doc他們說這是一個GET方法只有3個參數..

在此先感謝您的任何解決方法!

回答

0

您將查詢參數作爲選項提供給fetch,而不是將其添加到url。

改變這種

fetch('https://accounts.spotify.com/authorize', query).then(function() { ... }) 

這個

fetch(`https://accounts.spotify.com/authorize${query}`).then(function() { ... }) 
+0

它做到了!謝謝你,這是我的錯誤! –

相關問題