Google Cloud Messaging服务器C#

时间:2012-07-06 11:25:48

标签: google-cloud-messaging

我想向GCM发送消息,我收到状态为200的不可用。我做错了什么?

var GoogleAppID =“”;                 var DeviceID =“”;

            var request = WebRequest.Create("https://android.googleapis.com/gcm/send");
            request.Method = "POST";
            request.Headers.Add("Authorization", "key=" + GoogleAppID);
            request.ContentType = "application/json";

            var message = new Message();
            message.registration_ids.Add(DeviceID);
            message.data.Add("gcm_message", "12345");
            var jsonMessage = Newtonsoft.Json.JsonConvert.SerializeObject(message);
            byte[] byteArray = Encoding.UTF8.GetBytes(jsonMessage);
            request.ContentLength = byteArray.Length;

            var reqStream = request.GetRequestStream();
            reqStream.Write(byteArray, 0, byteArray.Length);

            var response = request.GetResponse();
            var responseCode = ((HttpWebResponse)response).StatusCode;
            if (responseCode.Equals(HttpStatusCode.Unauthorized) || responseCode.Equals(HttpStatusCode.Forbidden))
            {
                return "Unauthorized - need new token";

            }
            else if (!responseCode.Equals(HttpStatusCode.OK))
            {
                return "Response from web service isn't OK";
            }

            var responseStream = response.GetResponseStream();
            var streamReader = new StreamReader(responseStream);
            var responseContent = streamReader.ReadToEnd();
            streamReader.Close();

1 个答案:

答案 0 :(得分:0)

无需构建自己的库,github已经有了。使用以下内容。

https://github.com/Redth/GCMSharp