从C#Web方法向Firebase Cloud Messaging发送消息将返回401

时间:2018-01-16 14:56:30

标签: c# firebase firebase-cloud-messaging

我将以下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)未经授权。

不确定有什么问题......

1 个答案:

答案 0 :(得分:0)

wr.Headers.Add("Authorization", "Key='" + FIREBASE_PROJECT_ID +"'");

尝试删除单引号:

wr.Headers.Add("Authorization", "Key=" + FIREBASE_PROJECT_ID);