C# c中的离子推送通知api#
基于汤姆·拉兹·波斯特。我尝试使用ionic push notifications api实现发送推送通知的方法。以下是我的代码:C# c中的离子推送通知api#,c#,ios,asp.net,ionic-framework,C#,Ios,Asp.net,Ionic Framework,基于汤姆·拉兹·波斯特。我尝试使用ionic push notifications api实现发送推送通知的方法。以下是我的代码: public void sendToIonic(string regId, string msg) { using (var client = new HttpClient()) { string data = "{ \"user_ids\":[\" "+ regId + "\"],\"notific
public void sendToIonic(string regId, string msg) {
using (var client = new HttpClient())
{
string data = "{ \"user_ids\":[\" "+ regId + "\"],\"notification\":{\"alert\":\" "+ msg + "\"}}";
string json = Newtonsoft.Json.JsonConvert.SerializeObject(data);
client.BaseAddress = new Uri("https://push.ionic.io/api/v1/push");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Add("X-Ionic-Application-Id", "1d74b1f2");
var keyBase64 = "Basic %s" + "53a03dc7d9ce58511263e40580294f62af36b89be7cc4db2";
client.DefaultRequestHeaders.Add("Authorization", keyBase64);
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://push.ionic.io/api/v1/push");
request.Content = new StringContent(data, Encoding.UTF8, "application/json");
var response = client.SendAsync(request).Result;
}
}
但我一直得到的反应错误403禁止代码>。以下是完整的回答:
{状态代码:403,原因短语:“禁止”,版本:1.1,内容:System.Net.Http.StreamContent,标题:
{
连接:保持活力
访问控制允许来源:*
访问控制允许标头:来源、X请求、内容类型、接受
日期:2016年1月15日星期五20:50:33 GMT
ETag:W/“35 nGlZv/eC8CyS+KJzQ1P9rg”
服务员:牛仔
Via:1.1维格尔
X-Powered-By:Express
内容长度:53
内容类型:application/json;字符集=utf-8
}}
不知道怎么了。我被卡住了。任何帮助都将不胜感激
var keyBase64 = "Basic %s" + "..."
%这是用python连接的。
您需要转换为Base64
你可以用
client.DefaultRequestHeaders.Add("X-Ionic-Application-Id", "1d74b1f2");
var IONIC_PRIVATE_KEY_BASE_64 = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("53a03dc7d9ce58511263e40580294f62af36b89be7cc4db2:")); // ends with two points
var keyBase64 = "Basic " + IONIC_PRIVATE_KEY_BASE_64 ;
client.DefaultRequestHeaders.Add("Authorization", keyBase64);