调用“ https://fcm.googleapis.com/fcm/send”时,Firebase云消息获取内部服务器错误

时间:2018-11-28 12:19:14

标签: java android firebase firebase-cloud-messaging

我在Spring Boot(我正在使用Intellij IDE)中编写了此代码。代码为androidFcmUrl =“ https://fcm.googleapis.com/fcm/send”。 androidFcmKey =我的服务器密钥。 deviceToken =设备ID。

@RequestMapping(value = "/pushNotification", method = RequestMethod.GET)
public void pushNotification() {
    try {

        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.set("Content-Type","application/json; UTF-8");
        httpHeaders.set("Authorization", "key=" + androidFcmKey);

        JSONObject msg = new JSONObject();
        JSONObject json = new JSONObject();

        msg.put("title", "Title");
        msg.put("body", "Message");
        msg.put("notificationType", "Test");

        json.put("data", msg);
        json.put("notification",msg);
        json.put("to", deviceToken);

        HttpEntity<String> httpEntity = new HttpEntity<>(json.toString(), httpHeaders);
        String response = restTemplate.postForObject(androidFcmUrl, httpEntity, String.class);
        System.out.println(response);

    } catch (JSONException e) {
        e.printStackTrace();
    }

}

我收到状态500内部服务器错误。

2018-11-28 17:42:47.712错误15292 --- [nio-8088-exec-2] oaccC [。[。[/]。[dispatcherServlet]:Servlet [dispatcherServlet]的Servlet.service()在路径为[]的上下文中引发异常[请求处理失败;嵌套的异常是org.springframework.web.client.ResourceAccessException:POST请求“ https://fcm.googleapis.com/fcm/send”时发生I / O错误:连接超时:connect;嵌套异常是java.net.ConnectException:连接超时:具有根本原因的connect]。

但是当我用相同的有效载荷击中api形式的邮递员时,我收到一条消息ID为成功的响应。

2 个答案:

答案 0 :(得分:0)

您尝试呼叫的androidFcmUrl可能无法接通。确保路径正确并且正在侦听。还请确保是否有任何代理服务器中断您的URL。

答案 1 :(得分:0)

有些时候,IDE具有diff conf设置,然后使用的工具就像邮递员一样。它看起来仅是环境问题。您可以尝试通过OS控制台而不是IDE来运行应用程序,您将看到区别。