手动使用Jira Rest API与以编程方式使用Jira Rest API有区别吗?

问题描述 投票:3回答:1

对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
json excel vba excel-vba jira-rest-api
1个回答
0
投票

我个人使用VBA-Web连接到Jira。您的代码看起来还不错。如果您的基本加密正常工作,我看不到错误可能来自哪里。

© www.soinside.com 2019 - 2024. All rights reserved.