C# System.Net.WebException:远程服务器返回错误:(401)未经授权。在System.Net.HttpWebRequest.GetResponse()中

C# System.Net.WebException:远程服务器返回错误:(401)未经授权。在System.Net.HttpWebRequest.GetResponse()中,c#,.net,web-services,http,iis,C#,.net,Web Services,Http,Iis,我想通过parse.com发送推送通知,我有这样的Web服务 [网络方法] 公共布尔推送通知(字符串推送消息) { bool isPushMessageSend=false string postString = ""; string urlpath = "https://api.parse.com/1/push"; //var httpWebRequest = (HttpWebRequest)WebRequest.Create(urlpath); System

我想通过parse.com发送推送通知,我有这样的Web服务

[网络方法] 公共布尔推送通知(字符串推送消息) { bool isPushMessageSend=false

    string postString = "";
    string urlpath = "https://api.parse.com/1/push";
    //var httpWebRequest = (HttpWebRequest)WebRequest.Create(urlpath);

    System.Net.WebRequest request = System.Net.HttpWebRequest.Create(urlpath);

    request.UseDefaultCredentials = true;

    request.PreAuthenticate = true;

    request.Credentials = CredentialCache.DefaultCredentials;




    postString = "{ \"channels\": [ \"Trials\"  ], " +
                     "\"data\" : {\"alert\":\"" + pushMessage + "\"}" +
                     "}";
    request.ContentType = "application/json";
    request.ContentLength = postString.Length;
    request.Headers.Add("APP ID", "My Parse App Id");
    request.Headers.Add("REST API KEY", "My Rest API Key");
    request.Method = "POST";
    StreamWriter requestWriter = new StreamWriter(request.GetRequestStream());
    requestWriter.Write(postString);
    requestWriter.Close();
    //var httpResponse = (HttpWebResponse)request.GetResponse();
    System.Net.WebResponse response = request.GetResponse();
    using (var streamReader = new StreamReader(response.GetResponseStream()))
    {
        var responseText = streamReader.ReadToEnd();
        JObject jObjRes = JObject.Parse(responseText);
        if (Convert.ToString(jObjRes).IndexOf("true") != -1)
        {
            isPushMessageSend = true;
        }
    }

    return isPushMessageSend;
}
我犯了这样的错误

System.Net.WebException: The remote server returned an error: (401) Unauthorized.
   at System.Net.HttpWebRequest.GetResponse()
   at WebService.pushNotification(String pushMessage) in c:\Users\Hurkan Seyhan\desktop\website3\App_Code\WebService.cs:line 488

我怎样才能解决这个问题呢?

根据他们的文档()我认为你的标题中有这个错误

而不是

request.Headers.Add("[YOUR APP ID]", "My Parse App Id");
request.Headers.Add("[YOUR REST API KEY]", "My Rest API Key");
您可能应该编写以下内容:

request.Headers.Add("X-Parse-Application-Id", "[YOUR APP ID]");
request.Headers.Add("X-Parse-REST-API-Key", "[YOUR REST API KEY]");

你知道我如何在没有指定渠道的情况下向所有用户发送通知吗?请查看文档中的“使用高级目标”部分,该部分可通过我在回答中提供的链接获得