在 Firebase 上使用消息正文调用 GET



我正在尝试呼叫(从 https://firebase.google.com/docs/cloud-messaging/ios/device-group(

检索通知密钥

如果需要检索现有通知密钥
,请使用GET请求中的notification_key_name,如下所示:

https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris Content-Type:application/json Authorization:key=API_KEY project_id:SENDER_ID {}

它看起来像一个带有消息正文和内容类型 (!( 的 GET。如果我发布它,我会收到有关丢失notification_key_name的错误。如果我使用 HttpClient 获取它,它会抱怨它不是 JSON 请求,如果我通过执行以下操作强制它具有内容类型:

_client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json");

它给了我同样的错误。如果我尝试使用 GET 请求发送"{}"的消息正文,HttpClient 拒绝发送它。关于如何使其工作的任何想法?

我无法让HttpClient这样做,不得不求助于使用HttpWebRequest。

var wr = (HttpWebRequest)WebRequest.Create("https://fcm.googleapis.com/fcm/notification?notification_key_name=" + name);
wr.Method = "GET";
wr.ContentType = "application/json";
wr.Headers.Add("Authorization", "key=" + applicationID);
wr.Headers.Add("project_id", senderId);
var resp = await wr.GetResponseAsync();
using (Stream stream = resp.GetResponseStream())
{
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
return reader.ReadToEnd();
}

最新更新