我正在尝试使用API将用户计算机中的文件上传到BOX。在GitHub上,我发现了这一点:https://github.com/Tackgnol/VBA-BOX-API/blob/master/mBox.bas
箱同步和箱体传动不是溶液(不能强迫用户安装)。
当我打印StatusText时,出现“方法不允许”。
65853643834是从URL获取的文件夹ID。 h5ntjo525se0tbhwswq8ozpoqsge ****来自Box Dev“客户ID”
Sub UploadFile()
UploadBoxFile "h5ntjo525se0tbhwswq8ozpoqsge****"
End Sub
Sub UploadBoxFile(ByVal sToken As String)
Dim curlInput As XMLHTTP60
Dim sQuery As String
Dim sXMLInput As String
Set curlInput = CreateObject("MSXML2.XMLHTTP.6.0")
sQuery = "https://upload.box.com/api/2.0/files/content"
sXMLInput = "attributes={name: ""fileSample.txt"", ""parent"": {""id"": ""65853643834""}}" & vbNewLine & "file=C:\Users\MichalPalko\Downloads\fileSample.txt"
curlInput.Open "POST", sQuery, False
curlInput.setRequestHeader "Authorization:", "Bearer " & sToken & 3243
curlInput.send sXMLInput
Debug.Print curlInput.StatusText
End Sub
答案 0 :(得分:0)
我遇到了同样的问题,但对您的代码进行了一些调整,并收到“不支持的媒体类型”的StatusText响应。
我觉得我很近但是在黑暗中被刺伤。你有没有想过?
我的调整后代码如下:
Sub UploadBoxFile(sFilePath As String)
Dim curlInput 'As XMLHTTP60
Dim sQuery As String
Dim sXMLInput As String
Dim sToken As String
Dim sFolderID As String
Const sP As String = """"
Const sAp As String = "'"
sQuery = "https://upload.box.com/api/2.0/files/content"
sToken = "XXXXXXXXXXXXXXXXXXXXXXXXX" 'My Obscured token
sFolderID = "1234567890" 'My Obscured FolderID
sFileName = "TEST File 0001a.txt"
sXMLInput = "attributes=" & sAp & "{" & sP & "name" & sP & ":" & sP & sFileName _
& sP & ", " & sP & "parent" & sP & ":{" & sP & "id" & sP & ":" & sP & sFolderID & sP & "}}" & sAp _
& vbNewLine & "file=" & sFilePath
Debug.Print sXMLInput
Set curlInput = CreateObject("MSXML2.XMLHTTP.6.0")
With curlInput
.Open "POST", sQuery, False
.setRequestHeader "Authorization:", "Bearer " & sToken
.send sXMLInput
Debug.Print .StatusText
End With
End Sub