无法请求Spotify访问令牌[错误请求]

时间:2017-02-28 23:35:14

标签: c# asp.net asp.net-core spotify

我正在尝试使用< 客户端凭据流' 客户端凭据流下定义的过程来请求访问令牌。在Spotify developer page上,

这是我当前的实现(当前返回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(注意:将编码类型更改为' application / json'导致http 415错误(不支持媒体)

1 个答案:

答案 0 :(得分:3)

首先,你需要使用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