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

时间:2013-04-03 06:24:59

标签: 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";  
 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");
 }

2 个答案:

答案 0 :(得分:0)

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

我不清楚您是否使用带有用户名/密码组合的API令牌或密码访问权限进行令牌访问,但看起来您正在使用密码访问(如果是令牌访问,则为冒号格式)不会工作)。仔细检查API文档,查看端点是否仅允许代理或最终用户使用,并确保您提供的凭据与所需的凭据相匹配。

此外,使用管理员帐户登录Zendesk,如果您使用的是令牌,请确保启用令牌访问权限,或者在使用密码时密码访问权限。

答案 1 :(得分:0)

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