我以前在个人用户帐户上使用过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"}
我们将不胜感激。
先谢谢 最好的问候