我对soundcloudapi有一些问题,我希望有人可以帮助我。所有GET Methdods都很完美,但现在我想在SoundCloud上创建一个新的播放列表,并且我收到了共鸣422,消息为“Unprocessable Entity”
这是我目前的api执行方法
private T Execute<T>(Uri url, HttpMethod method = null, object bodyParams = null)
where T: class
{
var uri = url.AddParameter("oauth_token", Uri.EscapeDataString(tokenKey)).AddParameter("client_id", ((SoundCloudAuthenticationOptions)AuthenticationOptions).ClientId);
var httpRequestMessage = new HttpRequestMessage(method ?? HttpMethod.Get, uri);
if (bodyParams != null)
{
httpRequestMessage.Content = new StringContent(JsonConvert.SerializeObject(bodyParams));
}
HttpResponseMessage response = httpClient.SendAsync(httpRequestMessage).Result;
// response.EnsureSuccessStatusCode();
var json = response.Content.ReadAsStringAsync().Result;
var jObject = JObject.Parse(json);
if (typeof (T) == typeof (JObject))
return jObject as T;
return jObject.ToObject<T>();
}
为了创建播放列表,我将其称为
Execute<JObject>(apiUrl.Append("playlists"), HttpMethod.Post, new { playlist = new { title = name, sharing = "private", tracks = new string[0] } })
答案 0 :(得分:0)
我不是100%确定问题是什么,但我过去曾使用过这个库来安装SoundCloud API(图书馆没有问题)
https://github.com/Haythem/SoundCloud.NET
你可以看看那里,看看他们是如何做到的。
另一方面,我只是在玩SoundCloud网站,并测试使用Chrome开发工具创建一些播放列表 - 我发现不允许创建没有曲目的播放列表。
您可能只想尝试使用非空曲目列表执行命令。