Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在没有服务器的情况下使用Google云消息发送通知_Javascript_Jquery_Https_Google Cloud Messaging - Fatal编程技术网

Javascript 在没有服务器的情况下使用Google云消息发送通知

Javascript 在没有服务器的情况下使用Google云消息发送通知,javascript,jquery,https,google-cloud-messaging,Javascript,Jquery,Https,Google Cloud Messaging,我正在寻找一种从我的pc上使用javascript通过Google云消息发送通知的方法,因此没有中间服务器。正如开发人员网站中指出的,请求的格式应如下所示: https://gcm-http.googleapis.com/gcm/send Content-Type:application/json Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA { "data": { "score": "5x1", "time": "15:10"

我正在寻找一种从我的pc上使用javascript通过Google云消息发送通知的方法,因此没有中间服务器。正如开发人员网站中指出的,请求的格式应如下所示:

https://gcm-http.googleapis.com/gcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}
首先,我尝试使用ajax方法:

var textNotification={ 
    "notification": {
        "title": "Portugal vs. Denmark",
        "text": "5 to 1"
    }
};
    $.ajax(
    {
        url : "https://gcm-http.googleapis.com/gcm/send",
        type : "POST",
        headers :
        {
            'Authorization' : 'AIzaSyZ-1u...',
            'Content-type': 'application/json'
        },
        data : textNotification
    }
    ).done(function (data)
    {
        console.log(data);
    }
    );

如前所述,由于我正试图从我的电脑发送HTTPS请求,因此被阻止。还有别的办法吗

要发送消息,您需要知道应该获取消息的设备的注册ID。设备的应用程序在注册到GCM时获取此ID。应用程序收到此ID后,会将其传递给服务器。因此,当您将PC用作服务器时,您会发现很难从应用程序发送注册ID,除非您在PC上运行本地web服务器。您的Android设备和PC应通过同一网络连接到internet。但您也可以手动复制注册ID并将其粘贴到发送GCM消息的代码中

您需要您的服务器实现一个服务,从您的应用程序接受注册ID,并将其存储在数据库中。HTTP请求只允许下行,您需要使用XMPP来执行上行/下行操作

您可以使用它在手机中测试您的gcm客户端。另请参见示例代码。

试试这个

    var textNotification={ 
        "notification": {
            "title": "Portugal vs. Denmark",
            "text": "5 to 1"
        },
        "to":"[Device Key]"
    };
        $.ajax(
        {
            url : "https://gcm-http.googleapis.com/gcm/send",
            type : "POST",
            headers :
            {
                'Authorization' : 'key=AIzaSyZ-1u...',
                'Content-type': 'application/json'
            },
            data : textNotification
        }
        ).done(function (data)
        {
            console.log(data);
        }
        );

您需要在
Authorization

中传递
key=[Your key]
,在Google Chrome扩展中尝试您的代码怎么样?我想向应用程序的所有设备广播消息。所以我想我必须知道所有的设备ID。对吧?对。请参阅: