在节点

时间:2016-08-24 17:36:00

标签: node.js firebase firebase-cloud-messaging

我遇到了Node应用程序向Firebase Cloud Messaging发送邮件的问题。

 request({
        url: 'https://fcm.googleapis.com/fcm/send',
        method: 'POST',
        headers: {
          'Content-Type' :' application/json',
          'Authorization': 'key=AIzaSyAF9cvEThRo3ZlWCLuSU5k6W9kk0uumkLM',
          'project_id': '83933810320'
        },
        body: JSON.stringify(
          { "data": {'notification': notification, _id: _id, action: action},
            "registration_ids" : registration_ids,
            "content_available": true,
          }
        )
      }, function(error, response, body) {
        if (error) { 
          console.error(error, response, body); 
        }
        else if (response.statusCode >= 400) { 
          console.error('HTTP Error: '+response.statusCode+' - '+response.statusMessage+'\n'+body); 
        }
        else {
          console.log(response);
        }
      });

当我拨打上述代码时,它会给我回复401 Unauthorized。我无法理解为什么会收到此错误。我使用了正确的服务器密钥。在我使用的策略中是否存在语法错误或任何错误。

2 个答案:

答案 0 :(得分:1)

您可以将fcm消息从Web应用程序发送到移动设备或主题。

将fcm发送到设备: https://firebase.google.com/docs/cloud-messaging/send-message#send_messages_to_specific_devices

向主题发送fcm: https://firebase.google.com/docs/cloud-messaging/send-message#http_post_request

答案 1 :(得分:0)

您需要使用Cloud Messaging密钥,这与其他API密钥不同。

要获取密钥,请转到https://console.firebase.google.com/project/:project-name/settings/cloudmessaging(将project_name替换为项目名称)