我必须从我的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,如果您正在使用令牌,请确保启用令牌访问权限,如果您使用密码,则确保密码访问权限。
当你连接到各地的各种Zendesk帐户时,你们中的一些人会遇到这个问题。有些百分比的Zendesk帐户具有IP白名单设置,这意味着您只能从明确允许的IP地址或范围发出请求。阻止的IP没有特定的错误消息,但它类似于“无法验证您”。