java - Google Firebase HTTP 发布

标签 java firebase firebase-cloud-messaging

我正在尝试在服务器中请求 Google Firebase 的 POST。我按照文档指南进行操作,但没有成功。

我的发送消息功能如下。

private static void sendMsg() throws IOException 
{
    String url = "https://fcm.googleapis.com/fcm/send";
    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();

    con.setRequestMethod("POST");
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Authorization", "key=XXXX");

    JSONObject msg=new JSONObject();
    msg.put("message","test8");

    JSONObject parent=new JSONObject();

    parent.put("to", "XXXXX");
    parent.put("data", msg);

    con.setDoOutput(true);

    int responseCode = con.getResponseCode();
    System.out.println("\nSending 'POST' request to URL : " + url);
    System.out.println("Post parameters : " + parent.toString());
    System.out.println("Response Code : " + responseCode+" "+con.getResponseMessage());

}

响应代码是“411”,消息是“长度要求”。 我也尝试过设置内容长度,但结果是一样的。

我做错了吗?

最佳答案

您的所有设置均正确,但尚未写入数据。添加所示的语句:

con.setDoOutput(true);
// Added
OutputStreamWriter os = new OutputStreamWriter(con.getOutputStream());
os.write(parent.toString());
os.flush();
os.close();

关于java - Google Firebase HTTP 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44836435/

相关文章:

java - RMI 服务器调用抛出 java.lang.ClassNotFoundException : compute. 计算

firebase - 离线启用 Google Nearby Messages API?

firebase - 我如何在Firebase项目中使用 ‘functions’以外的文件夹名称作为云功能?

firebase - 没有 Google 帐户的应用程序用户是否可以使用 Firebase?

angularjs - 在 Angular 中将数据传递到 Twitter Bootstrap Modal

php - 如何在 Android 中使用 firebase 向 1000 多个用户发送推送通知?

java - 如何在java http客户端中使用SSL证书向服务器发出请求

java - 使用 Files.lines 读取和写入文件流

java - 使用 Lisp 或 Scheme 进行 Java 程序的运行时配置

angularjs - Firebase:它足够安全吗?