对Jira Rest API的新手...我想使用VBA程序登录到本地Jira服务器。我可以登录并手动使用带有URL的REST API并获取我正在寻找的JSON响应,但是每次我尝试使用VBA(Excel)进行操作时,都会收到以下错误
{“ errorMessages”:[“您无权查看指定的问题。”,“需要登录”],“错误”:{}}
我正在使用基本授权。还有什么我需要做的吗? (我正在使用下面可以从其他帖子复制的代码)。非常感谢您的帮助。也许Jira会将我的代码视为与登录名不同的用户?
Sub JiraRestGetCall()
Call JiraRest
End Sub
Private Function UserPassBase64() As String
Dim objXML As MSXML2.DOMDocument60
Dim objNode As MSXML2.IXMLDOMElement
Dim arrData() As Byte
arrData = StrConv("MyUserName:MyPassword", vbFromUnicode)
Set objXML = New MSXML2.DOMDocument60
Set objNode = objXML.createElement("b64")
objNode.DataType = "bin.base64"
objNode.nodeTypedValue = arrData
UserPassBase64 = objNode.Text
End Function
Public Function JiraRest()
Dim JiraService As New MSXML2.XMLHTTP60
With JiraService
.Open "Get", "http://localhost:8080/rest/api/2/issue/NP-1.json", False
.SetRequestHeader "Content-Type", "application/json"
.SetRequestHeader "Authorization", "Basic " & UserPassBase64
.Send ""
If .Status = "401" Then
MsgBox "Not authorized of invalid username/password"
Else
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "Get", "http://localhost:8080/rest/api/2/issue/NP-1.json"
MyRequest.Send
MsgBox MyRequest.ResponseText
End If
End With
End Function
我个人使用VBA-Web连接到Jira。您的代码看起来还不错。如果您的基本加密正常工作,我看不到错误可能来自哪里。