We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.

Forum Discussion

Lukag's avatar
Lukag
Collaborator | Level 8
3 months ago

Access dropbox file - Authentication failed because the remote party has closed the transport stream

i'm new in this type of access.
I wrote this code but i have the error in objet to recover the list of files in dropbox.

Dim token As String
token = "sl.B6........."
Dim _command As String
_command = "https://api.dropboxapi.com/2/files/list_folder"

Dim Request As HttpWebRequest
Request = HttpWebRequest.Create(_command)

Request.Method = "GET"
Request.KeepAlive = True
Request.ContentType = "application/json"
Request.UserAgent = "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36"
Request.AllowAutoRedirect = True
Request.Headers.Add("Authorization", "Bearer " & token)

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

Dim Response As HttpWebResponse = Request.GetResponse()

  • Здравко's avatar
    Здравко
    Legendary | Level 20

    The endpoint for folder listing is RPC call style endpoint. RPC on Dropbox uses POST request and it's mandatory 'path' to be passed in JSON style to the request body. Fix your code.

    Good luck.

    • Lukag's avatar
      Lukag
      Collaborator | Level 8

      Thank you.

      It's first time that i use this tools.

      I changed the Metod in POST and insered the path ( looking other example ) but i have always error 401 not autorized.

      this is new cod  : 

       

      Dim _command As String
      _command = "https://api.dropboxapi.com/2/files/list_folder"

      Dim Request As HttpWebRequest
      Request = HttpWebRequest.Create(_command)
      Request.Method = "POST"
      Request.KeepAlive = True
      ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls
      Request.ContentType = "application/json" ' application/x-www-form-urlencoded"
      Request.UserAgent = "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36"
      ServicePointManager.SecurityProtocol = CType(48, SecurityProtocolType) Or CType(192, SecurityProtocolType) Or CType(768, SecurityProtocolType) Or CType(3072, SecurityProtocolType)
      Request.AllowAutoRedirect = True

      Request.Headers.Add("Authorization", "Bearer " & token)


      Dim payloadLiteral = "{""Path"": ""/files/list_folder""}"

      Dim payload = Encoding.UTF8.GetBytes(payloadLiteral)
      Request.ContentLength = payload.Length

      Using dataStream = Request.GetRequestStream()
      dataStream.Write(payload, 0, payload.Length)
      End Using

      Try
       Using response = CType(Request.GetResponse(), HttpWebResponse)
          Using reader = New IO.StreamReader(response.GetResponseStream())
              'Return reader.ReadToEnd()
          End Using
       End Using
      Catch ex As WebException
      Using response = CType(ex.Response, HttpWebResponse)
          Using reader = New IO.StreamReader(response.GetResponseStream())
            Throw New Exception(reader.ReadToEnd())
          End Using
      End Using
      Catch ex As Exception
      Throw
      End Try

       

      • Здравко's avatar
        Здравко
        Legendary | Level 20

        Are you sure the access token you're using is actual one and not expired? 🧐

        Also, post the received result (either error or success) so it be clear what's going on exactly..