C# 远程服务器返回错误:(401)Zendesk中未经授权

C# 远程服务器返回错误:(401)Zendesk中未经授权,c#,exception-handling,http-status-code-401,zendesk,C#,Exception Handling,Http Status Code 401,Zendesk,我必须从我的MVC应用程序访问zendesk.com上的页面。我有用户名和身份验证票证。当我尝试访问该页面时,它返回错误“远程服务器返回错误:(401)未经授权”。这是身份验证的代码 string authTicket = "asdfsafdsafsdafdsafsf"; username = "user@mysite.com"; string api_url = "https://mysite.zendesk.com/users/current.json"; stri

我必须从我的MVC应用程序访问zendesk.com上的页面。我有用户名和身份验证票证。当我尝试访问该页面时,它返回错误“远程服务器返回错误:(401)未经授权”。这是身份验证的代码

 string authTicket = "asdfsafdsafsdafdsafsf";       
 username = "user@mysite.com";
 string api_url = "https://mysite.zendesk.com/users/current.json";  
 string base64_creds = Convert.ToBase64String(Encoding.UTF8.GetBytes(username + ":" + authTicket));
 HttpWebRequest request = WebRequest.Create(api_url) as HttpWebRequest;
 request.Headers.Add("Authorization", "Basic " + base64_creds);
 using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
 {
      StreamReader reader = new StreamReader(response.GetResponseStream());
      string content = reader.ReadToEnd();
      //return Content(content);
      return View("https://mysite.zendesk.com/entries/mypage");
 }

同样的事情也发生在我身上。不幸的是,我的背景是Zendesk API Ruby客户端,但我会尽力提供帮助

我不完全清楚您是将令牌访问与API令牌一起使用,还是将密码访问与用户名/密码组合一起使用,但看起来您使用的是密码访问(如果是令牌访问,则冒号格式将不起作用)。仔细检查API文档,查看端点是否仅允许代理或最终用户使用,并确保您提供的凭据与所需的凭据匹配


此外,请使用管理员帐户登录Zendesk,并确保在使用令牌时启用令牌访问,或者在使用密码时启用密码访问。

在连接到各地的Zendesk帐户时,有些人会遇到此问题。某些百分比的Zendesk帐户具有IP白名单设置,这意味着您只能从明确允许的IP地址或范围发出请求。对于被阻止的IP,没有特定的错误消息,但类似于“无法验证您的身份”