从webapi c#发送POST请求到onesignal url

时间:2017-12-07 18:09:47

标签: c# asp.net rest asp.net-web-api onesignal

我对此很新,我需要一些帮助。我正在尝试从我的webapi发送通知到我的应用程序。要做到这一点,只需要发送一个帖子到URL(“https://onesignal.com/api/v1/notifications”),其中包含一些信息(来自授权和内容类型的标题)。但是当我发送帖子时,它需要很长时间才能获得已达到操作超时,没有可能对我有帮助的消息错误。我尝试了来自asp.net解决方案的onesignal文档的代码,但不适合我。有人可以帮忙吗?或者只是帮助我如何跟踪我的请求来追踪错误?在尝试了来自onesignal文档的代码后,我决定使用以下代码(两个代码都有相同的行为):

using (var client = new HttpClient())
        {
            var url = new Uri("https://onesignal.com/api/v1/notifications");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "Rest ID");
            var obj = new
            {
                app_id = "APP ID",
                contents = new { en = "English Message" },
                included_segments = new string[] { "All" }
            };
            var json = JsonConvert.SerializeObject(obj);
            var content = new StringContent(json, Encoding.UTF8, "application/json");
            var response = await client.PostAsync(url, content);

        }

1 个答案:

答案 0 :(得分:0)

出于某种原因需要很长时间才能发送通知并为我返回一些回复。所以我增加超时以等待响应并且不会取消任务。希望能帮助别人。