我将以下C#网络方法用于webRequest Firebase云消息传递
public void messgaeFCM(String cToken) {
try
{
//send message to clientToken through FCM server
WebRequest wr = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
wr.Method = "POST";
wr.ContentType = "application/json";
wr.Headers.Add("Authorization", "Key='" + FIREBASE_PROJECT_ID +"'");
String notification = "{ 'data': " +
"{" +
"'title': 'Firebase notification'," +
"'detail': 'I am firebase notification. you can customise me. enjoy'," +
"}," +
"'to' : '" + cToken + "'" +
"}";
byte[] byteArray = Encoding.UTF8.GetBytes(notification);
Stream dataStream = wr.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = wr.GetResponse();
}
catch (Exception e)
{
new general().logError(e.Message);
}
}
FIREBASE_PROJECT_ID 值设置为FCM项目ID。
为有效的客户端令牌设置cToken 值。
以上代码始终返回以下错误:
远程服务器返回错误:(401)未经授权。
不确定有什么问题......
答案 0 :(得分:0)
wr.Headers.Add("Authorization", "Key='" + FIREBASE_PROJECT_ID +"'");
尝试删除单引号:
wr.Headers.Add("Authorization", "Key=" + FIREBASE_PROJECT_ID);