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

 string authTicket = "asdfsafdsafsdafdsafsf";
 username = "[email protected]";
 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,并确保在使用令牌的情况下启用令牌访问,在使用密码的情况下确保密码访问。

10-07 17:30