尝试构建一个服务,根据传递给它的ID获取JIRA票证的信息。
我正在调用API来获取传递给服务的ID,将其添加到API的URL并获取JSON对象。 问题是,似乎必须登录或在JIRA上注册才能使用API。
因此,如果我使用下面的代码发出请求,我会收到404错误,就像我在任何浏览器上一样,我以前没有登录过Jira
request.Credentials = new NetworkCredential("vinnie@company.com","mypassword");
我可以像这样添加凭证
if example_array.length > 0
span() Array contains elements!
- if (example_array.includes('example string'))
span() Array includes example string!
但我不知道究竟需要发送什么。我已经尝试过我在Jira中设置的电子邮件地址,但这不起作用。
我怀疑Jira在我的浏览器中添加了一个cookie,用于在初始配置后进行验证 - 是这样吗?如果是这样,我可以在我的网络请求中添加/包含哪些内容以使其运行?
我是否只是以正确的方式访问它?或者是否可以对Jira方面进行更改以允许请求?
答案 0 :(得分:0)
您必须首先使用Base64格式对凭据进行编码,然后将这些凭据放入您的请求中,如下所示:
string mergedCredentials = string.Format("{0}:{1}", m_Username, m_Password);
byte[] byteCredentials = UTF8Encoding.UTF8.GetBytes(mergedCredentials);
string base64Credentials = Convert.ToBase64String(byteCredentials);
request.Headers.Add("Authorization", "Basic " + base64Credentials);
希望您能通过这种方法解决问题!