我必须从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,并确保在使用令牌的情况下启用令牌访问,在使用密码的情况下确保密码访问。