Asp.net中的GCM请求

SimplyProgrammer

我已经转寄了此链接以发送GCM请求,并且它工作正常。gcm与ASP.NET推送通知

我引用了另一个链接来发布JSON 如何将json发布到服务器

在第二个链接的基础上,我尝试了以下代码。

        var httprequest = (HttpWebRequest)WebRequest.Create("https://gcm-http.googleapis.com/gcm/send");
        httprequest.ContentType = "application/json";
        httprequest.Method = "POST";
        httprequest.Headers.Add(string.Format("Authorization: key={0}", GCM.APIKey));
        httprequest.Headers.Add(string.Format("Sender: id={0}", GCM.ProjectNo));

        using (var streamWriter = new StreamWriter(httprequest.GetRequestStream()))
        {
            string json = new JavaScriptSerializer().Serialize(new GCMValues
            {
                delay_while_idle = false,
                priority = "high",
                registration_id = regId,
                data = new MessagesValues
                {
                    message = message
                }
            });

            streamWriter.Write(json);
            streamWriter.Flush();
            streamWriter.Close();
        }

        var httpResponse = (HttpWebResponse)httprequest.GetResponse();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            var result = streamReader.ReadToEnd();
        }

我使用过的属性

public class GCMValues
{
    public Object data { get; set; }
    public bool delay_while_idle { get; set; }
    public String priority { get; set; }
    public String registration_id { get; set; }
}
public class MessagesValues
{
    public String message { get; set; }
    public DateTime? time { get; set; }
}

我面临的问题是在线 var httpResponse =(HttpWebResponse)httprequest.GetResponse();

我收到错误要求的回应。我哪里做错了,或者可以做些什么以将JSON格式的值传递GCM后期请求。提前致谢。

马格努斯·史密斯

您不需要registration_ids(复数)而不是registration_id(单数)JSON。它是一个字符串数组,而不是单个字符串值。

如果您查看GCM文档,它将提供所有JSON选项。

在其他地方,文档详细说明了to如果只有一个令牌向其发送通知的方式,如本例所示:

  {
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification" : {
      "body" : "great match!",
      "title" : "Portugal vs. Denmark",
      "icon" : "myicon"
    }
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:使用asp.net在GCM中缺少注册

来自分类Dev

覆盖ASP .NET Core中的请求对象

来自分类Dev

asp.net 5上的GCM / APNS

来自分类Dev

在ASP.NET 5(MVC6)中请求BinaryRead

来自分类Dev

增加最大 在asp.net 5(vNext)中的请求长度

来自分类Dev

从ASP.NET中的代码隐藏提交POST请求

来自分类Dev

无法在ASP.Net中执行跨域请求

来自分类Dev

ASP.NET MVC从请求参数中删除双斜杠

来自分类Dev

在ASP.NET 5中请求范围服务

来自分类Dev

在ASP.NET Web API请求中检测额外的字段

来自分类Dev

在asp.net中捕获请求静态文件

来自分类Dev

接受ASP.NET Web服务中的SOAP请求

来自分类Dev

在ASP.NET中,编码引号阻止请求到达路由

来自分类Dev

重新读取ASP.NET Core中的请求正文

来自分类Dev

如何在ASP .NET Core 3.1中设置请求超时

来自分类Dev

从ASP.NET中的代码隐藏提交POST请求

来自分类Dev

在ASP.NET Web Api中请求“外来” Api

来自分类Dev

无法在ASP.Net中执行跨域请求

来自分类Dev

在ASP.NET 5中请求范围服务

来自分类Dev

在asp.net中捕获请求静态文件

来自分类Dev

避免ASP.NET中View重复请求的最佳实践

来自分类Dev

如何在asp.net中获取完整的请求URL

来自分类Dev

asp.net MVC中的AJAX DELETE请求

来自分类Dev

在 ASP.net 中创建类似 cURL 的请求

来自分类Dev

无法让 HTTP PUT 请求在 ASP.NET Core 中工作

来自分类Dev

如何使用C#在ASP.NET中中止类似IIS请求中止的请求

来自分类Dev

如何在浏览器中请求ASP.NET(.NET FRAMEWORK)中的DELETE http方法

来自分类Dev

启用asp.net核心请求验证

来自分类Dev

Azure ASP .net WebApp请求超时