Trying to integrate an HTTP GET request in my MS-Access database program

前端 未结 3 1608
挽巷
挽巷 2021-01-24 09:55

I want to import data from Anedot, a credit card processing firm, using a HTTP GET request from an MS Access program. Anedot uses a RESTful API and has provided help on there we

3条回答
  •  渐次进展
    2021-01-24 10:30

    First of all try to make a request to API using basic authorization. Take a look at the below code as the example:

    Sub Test()
    
        ' API URL from https://anedot.com/api/v2
        sUrl = "https://api.anedot.com/v2/accounts"
        ' The username is the registered email address of your Anedot account
        sUsername = "mymail@example.com"
        ' The password is your API token
        sPassword = "1e56752e8531647d09ec8ab20c311ba928e54788"
        sAuth = TextBase64Encode(sUsername & ":" & sPassword, "us-ascii") ' bXltYWlsQGV4YW1wbGUuY29tOjFlNTY3NTJlODUzMTY0N2QwOWVjOGFiMjBjMzExYmE5MjhlNTQ3ODg=
        ' Make the request
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", sUrl, False
            .SetRequestHeader "Authorization", "Basic " & sAuth
            .Send
            Debug.Print .ResponseText
            Debug.Print .GetAllResponseHeaders
        End With
    
    End Sub
    
    Function TextBase64Encode(sText, sCharset) ' 05 10 2016
        Dim aBinary
        With CreateObject("ADODB.Stream")
            .Type = 2 ' adTypeText
            .Open
            .Charset = sCharset ' "us-ascii" for bytes to unicode
            .WriteText sText
            .Position = 0
            .Type = 1 ' adTypeBinary
            aBinary = .Read
            .Close
        End With
        With CreateObject("Microsoft.XMLDOM").CreateElement("objNode")
            .DataType = "bin.base64"
            .NodeTypedValue = aBinary
            TextBase64Encode = Replace(Replace(.Text, vbCr, ""), vbLf, "")
        End With
    End Function
    

    Put your credentials to sUsername and sPassword variables, choose the appropriate URL from API help page and put it to sURL. Then you can parse JSON response from the server (currently you will see the response for /v2/accounts request in Immediate window).

提交回复
热议问题