2017-02-28 140 views
1

我想請求使用下的「客戶端憑證流」上Spotify developer page規定的程序一Spotify的訪問令牌,故障請求Spotify的訪問令牌[錯誤的請求]

這是我目前的執行(目前回報HTTP 400錯誤):

using (var client = new HttpClient()) 
{ 
    var requestBody = new StringContent(
     "grant_type:client_credentials", 
     Encoding.UTF8, 
     "application/x-www-form-urlencoded"); 

    var requestEncrypted = Convert.ToBase64String(
     Encoding.UTF8.GetBytes(ClientId + ":" + ClientSecret)); 

    client.DefaultRequestHeaders.Add(
     "Authorization", 
     $"Basic {requestEncrypted}"); 

    var tokenResult = await client.PostAsync(TokenEndpoint, requestBody); 
} 

我曾嘗試其他方法用於格式化請求體包括作爲JSON(注意:在改變編碼類型爲「應用/ JSON」的結果在一個http 415錯誤(媒體不支持)

+0

什麼是您的TokenEndpoint值? –

+0

@ShaunLuttin'https://accounts.spotify.com/api/token' –

回答

2

首先,你需要使用equals而不是冒號。

grant_type=client_credentials 

這是example POST from the RFC

POST /token HTTP/1.1 
Host: server.example.com 
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW 
Content-Type: application/x-www-form-urlencoded 

grant_type=client_credentials 
+0

由單個字符卡住30分鐘,謝謝! –

相關問題