【问题标题】:Authorization for Spotify API in Java HttpURLConnectionJava HttpURLConnection 中的 Spotify API 授权
【发布时间】:2016-11-11 17:24:21
【问题描述】:

我对使用 http 和 API 比较陌生,但我试图在 Java 中使用 HttpURLConnection 连接到 Spotify API。我设法让 GET 工作,但我不知道如何使授权工作以访问其他材料。这是我的代码,谁能看到我做错了什么?它返回一个 400 响应代码。

URL url = new URL("https://accounts.spotify.com/api/token?grant_type=client_credentials");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
con.setRequestProperty("Authorization", Base64.getEncoder().encodeToString("Basic bdfc603f24c54078a7365d3af39c2aed:<ClientSecret>".getBytes()));

【问题讨论】:

  • 可能是您没有向该端点发布任何内容吗?
  • 我不这么认为,因为它应该返回访问令牌而不发布,但它只是给出 400 错误。

标签: java httpurlconnection spotify


【解决方案1】:

您缺少 Content-Type,请参阅我的示例。

URL url = new URL("https://accounts.spotify.com/api/token?grant_type=client_credentials");
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
    conn.setRequestMethod("POST");

    conn.setDoOutput(true);
    conn.setDoInput(true);

    conn.setRequestProperty("User-Agent", "Mozilla/5.0");
    conn.setRequestProperty("Authorization", "Basic MDg4ZDc=");
    conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 2017-12-29
    • 2018-08-12
    • 2017-12-23
    • 1970-01-01
    • 2015-09-25
    相关资源
    最近更新 更多