连接到官方的Clash Royale API时出现错误403

时间:2018-08-18 13:32:40

标签: java httprequest http-status-code-403

我一直收到错误403无效授权,该令牌完全正确。 还有其他人使用Clash API吗?到目前为止,找不到与此有关的任何工作代码。

这是我用于测试请求的代码:

import java.io.*;
import java.net.*;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;

public class Test {

    private static String token = "can't show that :)";

    public static void main(String[] args) {

        try {
            URL url = new URL("https://api.clashroyale.com/v1/locations");

            HttpURLConnection con = (HttpURLConnection) url.openConnection();

            con.setRequestMethod("GET");
            con.setDoOutput(true);
            con.setRequestProperty("Authorization", "Bearer " + token);
            con.setRequestProperty("Accept", "application/json");

            InputStream content = (InputStream) con.getInputStream();
            BufferedReader in = new BufferedReader(new InputStreamReader(content));

            Gson gson = new GsonBuilder().setPrettyPrinting().create();
            JsonParser jp = new JsonParser();
            JsonElement je = jp.parse(in.readLine());
            String jsonString = gson.toJson(je);
            System.out.println(jsonString);

            con.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用实际令牌测试此卷曲,以检查其是否有效。

curl -X GET \
  https://api.royaleapi.com/v1/locations \
  -H 'Authorization: Bearer {{token}}' \
  -H 'Cache-Control: no-cache' 

您是否按照https://docs.royaleapi.com/#/authentication上的说明获得了开发人员令牌?