1
我很努力使用HttpClient
張貼FCM消息。我得到無效的標題格式異常。我可以使用WebRequest
發佈FCM消息。但我想通過使用HttpClient嘗試Async和Await。如何使用HttpClient異步和等待張貼FCM消息
請建議我哪個是最好的HttpClient或WebRequest。
<div>
<br>String uri;
<br>uri = "https://fcm.googleapis.com/fcm/send";
<br>var postData = new
<br>{
<br>to = DeviceID,
<br>data = new
{
MessageID = enquiryid
},<br>
<br>notification = new
{
body = enquirymessage,
title = FromUser,
icon = "myicon"
}<br>
};<br>
<br>var serializer = new JavaScriptSerializer();
<br>var json = serializer.Serialize(postData);<br>
<br>using (var client = new HttpClient())
<br>{
<p>client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue
("key", "=" + fcmDetails.SERVER_API_KEY);<br>
<p>client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue
("application/json"));
<p>client.DefaultRequestHeaders.Add("Sender: id ", "="+ fcmDetails.PROJECT_KEY);
<p>using (var r = client.PostAsJsonAsync(new Uri(uri), json))
<br>{
<br>string result = await r.Content.ReadAsStringAsync();
<br>sResponseFromServer= result;
}<br>
}
謝謝。現在,我正在使用(var r = await client.PostAsJsonAsync(new Uri(uri),json))'在BAD REQUEST中遇到問題。不確定它是因爲'var json'的值。但代碼在** WebRequest **中工作正常。 –
@PajaniArjunan你可以打印postData爲String嗎?看看JSON結構是否正確? –
@PajaniArjunan我已添加示例代碼檢查,並讓我知道如果你需要任何更多的幫助 –