[英]Android Spotify api respone 400
目的:在onClick()之后创建一个名为MonthlyTest的播放列表
码:
public void createPlaylist(){
String CREATE_PLAYLIST = "https://api.spotify.com/v1/users/"+username+"/playlists";
JsonObjectRequest jsonRequest = new JsonObjectRequest
(Request.Method.POST, CREATE_PLAYLIST, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
MONTHLY_PLAYLIST_ID = response.getJSONArray("items").getJSONObject(0).getString("uri");
MONTHLY_PLAYLIST_NAME = response.getJSONArray("items").getJSONObject(0).getString("name");
Log.i("MainActivity", response.toString(4));
} catch (JSONException e) {
Log.e("MainActivity", "Error whilst parsing JSONObject");
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("MainActivity", "Error whilst creating playlist");
error.printStackTrace();
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<>();
headers.put("Authorization", "Bearer " + token);
return headers;
}
@Override
public Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> params = new HashMap<>();
params.put("name", MONTHLY_PLAYLIST);
params.put("description", "Monthly playlist with my current favourite songs.");
params.put("public", "true");
return params;
}
};
requestQueue.add(jsonRequest);
}
错误:
06-05 12:04:49.666 7826-7846/applicationname.companydomain.simpleapp E/Volley: [275] BasicNetwork.performRequest: Unexpected response code 400 for https://api.spotify.com/v1/users/iwishiwasaneagle/playlists
06-05 12:04:49.666 7826-7826/applicationname.companydomain.simpleapp E/MainActivity: Error whilst creating playlist
06-05 12:04:49.666 7826-7826/applicationname.companydomain.simpleapp W/System.err: com.android.volley.ClientError
06-05 12:04:49.666 7826-7826/applicationname.companydomain.simpleapp W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:190)
06-05 12:04:49.666 7826-7826/applicationname.companydomain.simpleapp W/System.err: at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:120)
06-05 12:04:49.666 7826-7826/applicationname.companydomain.simpleapp W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:87)
使用https://developer.spotify.com/documentation/web-api/reference/playlists/create-playlist/作为准则,我几乎可以确定我已经包含了所有数据,但是找不到可显示的资源我我在做什么错。 我已经从SpotifyWebAPI成功实现了一些GET。
使用此问题已解决: Android Volley:POST请求-NodeJS REST API内的req.body为空
必须重写getBody()
,而不是getParams()
因为它实际上从未被请求调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.