【问题标题】:Sending GCM push in Node在 Node 中发送 GCM 推送
【发布时间】:2014-03-06 04:54:42
【问题描述】:

我在向 Google Cloud Messaging by Node 应用程序发送消息时遇到问题。我已创建 API 密钥(服务器和浏览器),已将服务器密钥服务器 IP 和代码列入白名单

        var headers = [
            'Content-Type: application/json',
            'Authorization: key=' + apiKey
        ];

        curl("https://android.googleapis.com/gcm/send", {
            HTTPHEADER: headers,
            POST: true,
            POSTFIELDS: JSON.stringify({
                data: {
                    type: 'xxx',
                    city: 'xxx',
                    url: 'xxx'
                },
                registration_ids: [phoneId]
            })
        }, function () {
            console.log(arguments);
        });

我正在尝试向 Android 设备发送简单的通知。不幸的是,我收到 401 Unauthorized 错误。我正在使用node-curl 库,之前我尝试过node-gcmnode-gcm-service - 两者的结果相同。有没有我错过的可能性?

提前感谢您的帮助, 大卫。

【问题讨论】:

    标签: android node.js curl google-cloud-messaging


    【解决方案1】:

    当使用 node js 发送推送通知时,我们可以使用以下代码

    var gcm = require('node-gcm'),
        gcm_message = new gcm.Message(),
        sender = new gcm.Sender(GCM_API_KEY),
        RETRY_COUNT = 4;
    
    gcm_message.addDataWithKeyValue('key1', message);
    gcm_message.delayWhileIdle = true;
    
    sender.send(gcm_message, registrationIds, RETRY_COUNT, function(err, result) {
        callback(err, result);
    });
    

    【讨论】:

      【解决方案2】:

      我认为您使用的 API 密钥不正确,这就是您失败的原因。您必须获取 Google Cloud Console 的 API SERVER KEY。

      【讨论】:

      • 这是个老问题,已经解决了;我启用了一些谷歌服务,但我忘记了一个(不记得是哪个),API 密钥是正确的。
      【解决方案3】:

      您必须在 php 中使用连接运算符来将值附加到键

      'Authorization: key=' . $apiKey
      

      【讨论】:

      • 它是 NodeJS,所以 plus 很好。在这个问题中,只是等待 GCM 工作的时间,不知道为什么。
      【解决方案4】:

      我遇到了同样的问题。发生“错误 401”是因为我忘记在 Google Developers Console 中启用 API - 适用于 Android 的 Google Cloud Messaging。启用后它起作用了。希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2016-12-31
        • 1970-01-01
        • 2016-01-01
        • 2017-01-08
        • 1970-01-01
        • 2020-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多