将曲目添加到播放列表 SoundCloud API

问题描述 投票:0回答:2

在我的 Windows Phone 应用程序中,我使用以下代码将曲目添加到播放列表(即对播放列表/id 端点的 PUT 请求)

using (HttpClient httpClient = new HttpClient())
        {
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(AccessToken);
            HttpResponseMessage response = await httpClient.PutAsync(endpoint, new StringContent(data));
            response.EnsureSuccessStatusCode();
        }

其中“data”是 JSON 数据,其形式为:

{"playlist":{"tracks":["TrackId(待添加)"]}}

上面的代码返回“OK”(200) 响应,但曲目未添加到播放列表中!

我做错了什么?

windows-phone-8 soundcloud
2个回答
1
投票

我使用 Put 来替换集合中的轨道 id。 这是示例代码

for (String s : trackIds)
    nameValuePairs.add(new BasicNameValuePair("playlist[tracks][][id]", s.trim()));

String url = "https://api.soundcloud.com/playlists/" + setId + ".json";
httpPut(url, nameValuePairs);

1
投票

问题在于(请求正文的)JSON 数据格式不正确。 “数据”必须采用以下形式:

    {"playlist":{"tracks":[{"id":"__"}, {"id":"__"}, {"id":"__"}]}}

此处必须存在 id-value 对

  • 播放列表中已存在的每首曲目,以及

  • 您要添加到播放列表的曲目

(请记住,这是一个 PUT 请求。因此,您需要更新数据,即更新“播放列表”的“曲目”属性)

© www.soinside.com 2019 - 2024. All rights reserved.