Drobox API上传不适用于业务用户

时间:2018-10-01 14:50:44

标签: vb.net http upload dropbox-api

我以前在个人用户帐户上使用过Dropbox api,一切都很好。

现在,我需要这样做,但是这次帐户是企业帐户用户。我已经尝试了几个小时,但找不到上传文件的有效方法。

这是我尝试的代码:

objDHTTP = New Chilkat.Http
objDHTTP.UnlockComponent("")
objDHTTP.HeartbeatMs = 125
objDHTTP.ConnectTimeout = 60
objDHTTP.ReadTimeout = 60

objDJSON = New Chilkat.JsonObject
objDJSON.AppendString("path", "/test.pdf")
objDJSON.AppendString("mode", "overwrite")
objDJSON.AppendBool("autorename", False)
objDJSON.AppendBool("mute", True)

objDRequest = New Chilkat.HttpRequest
objDRequest.UsePost()
objDRequest.Path = "/2/files/upload"
objDRequest.AddHeader("Content-Type", "application/octet-stream")
objDRequest.AddHeader("Dropbox-API-Select-User", "dbmid:member_id") 'Note-1
objDRequest.AddHeader("Authorization", "Bearer auth_token") 'Note-2
objDRequest.AddHeader("Dropbox-API-Arg", objDJSON.Emit)
objDRequest.StreamBodyFromFile(strLocalFile)
objDResponse = objDHTTP.SynchronousRequest("content.dropboxapi.com", 443, True, objDRequest)
objDJSON.Dispose()
objDJSON = Nothing
If (objDResponse Is Nothing) Then
    strDBReturn = "Call failed!"
Else
    strDBReturn = objDResponse.BodyStr.Trim
    objDResponse.Dispose()
    objDResponse = Nothing
End If
objDRequest.Dispose()
objDRequest = Nothing

代码在vb.net中,我将chilkat libray用于http和json部分。 但是很容易理解代码。

注1:我已将标题设置为选择成员。

注2:首先我尝试使用Dropbox API,然后尝试使用Dropbox Business API

它在响应中显示该文件已上传,并且还显示了与http请求相同的路径。.但是我在Dropbox中(从浏览器中)找不到文件:(

这是数据库响应示例:

{"name": "test1.pdf", "path_lower": "/test1.pdf", "path_display": "/test1.pdf", "id": "id:7fQPQ7pubtAAAAAAAAAAFQ", "client_modified": "2018-10-01T13:46:24Z", "server_modified": "2018-10-01T13:46:24Z", "rev": "cee6f9f90", "size": 204181, "content_hash": "318bc8a4b25c3c319b558dda011a8e837caa0dee2b84e1c7deb0d0405bad1bf0"}

我们将不胜感激。

先谢谢 最好的问候

0 个答案:

没有答案