首页 文章

通过用户名从Spotify获取公共播放列表

提问于
浏览
1

我将尝试获取Spotify用户的公共播放列表,但我总是遇到401错误 .

{
    "error": {
        "status": 401,
        "message": "This request requires authentication."
    }
}

我使用这个url https://api.spotify.com/v1/users/id/playlists,其中id必须是Spotify的用户名 . 我有一个oAuth密钥 . 我用这个JavaScript,JQuery代码请求API:

$.ajax({
    url: "https://api.spotify.com/v1/users/" + $("#username").val() + "/playlists",
    Authorization: "Bearer my_OAuth_Token",
    Host: "api.spotify.com",
    Accept: "application/json",
    type: "GET",
    success: function (data){

        var count = data.items.length;

        for (var i = 0; i < aantal; i++) {
            $("#playlists").append('<option>' + data.items[i].name + '</option>');
        }
    },
    error: function (data) {
        $("#playlists").append("<option>error</option>");
    }
});

1 回答

  • 1

    您需要将 AuthorizationHost 值作为 Headers 发送,而不是作为options对象的属性发送 . 另请注意 accepts 应为小写 . 试试这个:

    $.ajax({
        url: "https://api.spotify.com/v1/users/" + $("#username").val() + "/playlists",
        headers: {
            Authorization: "Bearer my_OAuth_Token",
            Host: "api.spotify.com"
        },
        accepts: "application/json",
        type: "GET",
        success: function (data) {    
            var count = data.items.length;    
            for (var i = 0; i < aantal; i++) {
                $("#playlists").append('<option>' + data.items[i].name + '</option>');
            }
        },
        error: function (data) {
            $("#playlists").append("<option>error</option>");
        }
    });
    

    您可能也会遗漏 Host Headers ,因为我不需要't believe it' .

相关问题