Java Android FCM 向用户服务器发送消息返回 HTTP 响应代码

用户7652543

我这样做了:

public class PushNotifictionHelper {
    public final static String AUTH_KEY_FCM = "AIzaSyD63pfTvnwhe9WVuIe.........";
    public final static String API_URL_FCM = "https://fcm.googleapis.com/fcm/send";

    public static String sendPushNotification(String deviceToken)
            throws IOException, JSONException {
        String result = "";
        URL url = new URL(API_URL_FCM);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();

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

        conn.setRequestMethod("POST");
        conn.setRequestProperty("Authorization", "key=" + AUTH_KEY_FCM);
        conn.setRequestProperty("Content-Type", "application/json");

        JSONObject json = new JSONObject();

        json.put("to", deviceToken.trim());
        JSONObject info = new JSONObject();
        info.put("title", "notification title"); // Notification title
        info.put("body", "message body"); // Notification
        // body
        json.put("notification", info);
        try {
            OutputStreamWriter wr = new OutputStreamWriter(
                    conn.getOutputStream());
            wr.write(json.toString());
            wr.flush();

            BufferedReader br = new BufferedReader(new InputStreamReader(
                    (conn.getInputStream())));

            String output;
            System.out.println("Output from Server .... \n");
            while ((output = br.readLine()) != null) {
                System.out.println(output);
            }
            result = "OK";
        } catch (Exception e) {
            e.printStackTrace();
            result = "BAD";
        }
        System.out.println("GCM Notification is sent successfully");

        return result;

    }

    public static void main(String [] args){
        try {
            PushNotifictionHelper.sendPushNotification("ep51x3Ckmig:APA91bG4PdoJC7zGlV0JPmCA49jmqJCkeSPH1QzF9byxdH1nRlFOVyAi9ppO2ygoSpp8s44o1oGO8n-HCJDB_oZAZ6WCwFD2a9yAFmKIpKhmPXakeLf-ktqPnzwf-GFziv7_nMdVPIci");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

当我在控制台中运行它时,我看到

java.io.IOException: Server returned HTTP response code: 401 for URL: https://fcm.googleapis.com/fcm/send

我从网上获得的 AUTH_KEY_FCM:

Klucz interfejsu Web API AIzaSyD63pfTvnwhe9WVuIe.........
艾尔。

401 错误是指身份验证错误。文档

用于发送邮件的发件人帐户无法通过身份验证。可能的原因有:

  • HTTP 请求中缺少授权标头或使用无效的语法。
  • 作为密钥发送的项目编号无效。
  • 密钥有效但禁用了 FCM 服务。
  • 请求源自未在服务器密钥 IP 中列入白名单的服务器。

检查您在 Authentication 标头内发送的令牌是否是与您的项目关联的正确服务器密钥。有关详细信息,请参阅检查服务器密钥的有效性

使用 FCM 时,您应该始终使用Firebase 控制台Cloud Messaging选项卡中显示服务器密钥(而不是 Web API 密钥)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java服务器返回的HTTP响应代码:401

来自分类Dev

Android FCM 向用户发送消息

来自分类Dev

java.io.IOException:服务器返回的HTTP响应代码:URL的400

来自分类Dev

java.io.IOException:服务器返回的HTTP响应代码:502

来自分类Dev

java.io.IOException:服务器返回的HTTP响应代码:URL的403

来自分类Dev

java.io.IOException:服务器返回的HTTP响应代码:502

来自分类Dev

服务器返回URL的HTTP响应代码:400:java.io.IOException

来自分类Dev

Android App无法更改JAVA中HTTP连接的响应代码

来自分类Dev

Android App无法更改JAVA中HTTP连接的响应代码

来自分类Dev

Java HTTP服务器发送分块响应

来自分类Dev

服务器返回HTTP响应代码:URL的405

来自分类Dev

服务器返回的HTTP响应代码:URL的503

来自分类Dev

服务器返回HTTP响应代码:URL的405

来自分类Dev

从服务器返回的错误 HTTP 响应。代码 500

来自分类Dev

服务器返回 HTTP 响应代码:openConnection() 后 400

来自分类Dev

java http服务器响应

来自分类Dev

从已部署的公司项目中调用Google脚本Web应用程序URL时,获取java.io.IOException:服务器返回URL的HTTP响应代码:403:

来自分类Dev

Scrapy:使用特定的HTTP服务器代码捕获响应

来自分类Dev

预期的服务器错误的Http响应代码

来自分类Dev

如何从码头服务器中的Java servlet发送大型(超过64k)http响应?

来自分类Dev

VB中的HTTP响应代码检查器?

来自分类Dev

服务器返回HTTP响应代码:403(适用于URL)Google Translate API

来自分类Dev

服务器返回的HTTP响应代码:GET请求的URL为500

来自分类Dev

创建Gradle项目时出现错误:服务器返回了HTTP响应代码:403

来自分类Dev

更新postgresql数据库:服务器返回URL的HTTP响应代码:405

来自分类Dev

服务器返回 HTTP 响应代码:415 不支持的媒体类型

来自分类Dev

服务器返回 HTTP 响应代码:URL instagram 访问令牌 api 为 405

来自分类Dev

获取响应代码:非HTTP响应代码:Jmeter中某些示例的java.net.ConnectException

来自分类Dev

未找到从 ASP .Net MVC 返回到 android 的服务器响应代码

Related 相关文章

  1. 1

    Java服务器返回的HTTP响应代码:401

  2. 2

    Android FCM 向用户发送消息

  3. 3

    java.io.IOException:服务器返回的HTTP响应代码:URL的400

  4. 4

    java.io.IOException:服务器返回的HTTP响应代码:502

  5. 5

    java.io.IOException:服务器返回的HTTP响应代码:URL的403

  6. 6

    java.io.IOException:服务器返回的HTTP响应代码:502

  7. 7

    服务器返回URL的HTTP响应代码:400:java.io.IOException

  8. 8

    Android App无法更改JAVA中HTTP连接的响应代码

  9. 9

    Android App无法更改JAVA中HTTP连接的响应代码

  10. 10

    Java HTTP服务器发送分块响应

  11. 11

    服务器返回HTTP响应代码:URL的405

  12. 12

    服务器返回的HTTP响应代码:URL的503

  13. 13

    服务器返回HTTP响应代码:URL的405

  14. 14

    从服务器返回的错误 HTTP 响应。代码 500

  15. 15

    服务器返回 HTTP 响应代码:openConnection() 后 400

  16. 16

    java http服务器响应

  17. 17

    从已部署的公司项目中调用Google脚本Web应用程序URL时,获取java.io.IOException:服务器返回URL的HTTP响应代码:403:

  18. 18

    Scrapy:使用特定的HTTP服务器代码捕获响应

  19. 19

    预期的服务器错误的Http响应代码

  20. 20

    如何从码头服务器中的Java servlet发送大型(超过64k)http响应?

  21. 21

    VB中的HTTP响应代码检查器?

  22. 22

    服务器返回HTTP响应代码:403(适用于URL)Google Translate API

  23. 23

    服务器返回的HTTP响应代码:GET请求的URL为500

  24. 24

    创建Gradle项目时出现错误:服务器返回了HTTP响应代码:403

  25. 25

    更新postgresql数据库:服务器返回URL的HTTP响应代码:405

  26. 26

    服务器返回 HTTP 响应代码:415 不支持的媒体类型

  27. 27

    服务器返回 HTTP 响应代码:URL instagram 访问令牌 api 为 405

  28. 28

    获取响应代码:非HTTP响应代码:Jmeter中某些示例的java.net.ConnectException

  29. 29

    未找到从 ASP .Net MVC 返回到 android 的服务器响应代码

热门标签

归档