Google Drive API v3 VB. NET Загрузить в папку Spesifi c - PullRequest
0 голосов
/ 19 января 2020

Пожалуйста, помогите, я пытаюсь загрузить файл в указанную папку c на моем диске Google с помощью Vb. net. но я гуглю часами и не получаю рабочий код. я не могу спать, потому что это. вот мой код:

    Private Sub UploadFile(FilePath As String)
        Try
            If Service.ApplicationName <> "Google Drive VB Dot Net" Then CreateService()
            Dim TheFile As New File()
            TheFile.Name = "Database Sekretariat.accdb"
            TheFile.Description = "A test document"
            'TheFile.MimeType = "text/plain"
            TheFile.Parents(0) = "1uMeTMRtvhm5_98udPmV8kp19aGtrmeQj"
            Dim ByteArray As Byte() = System.IO.File.ReadAllBytes(FilePath)
            Dim Stream As New System.IO.MemoryStream(ByteArray)
            Dim UploadRequest As FilesResource.CreateMediaUpload = Service.Files.Create(TheFile, Stream, TheFile.MimeType)
            UploadRequest.Upload()
            Dim file As File = UploadRequest.ResponseBody
            MsgBox("Upload Selesai " & file.Name & "")
        Catch ex As Exception
            MsgBox("Upload Gagal")
        End Try
    End Sub

1 Ответ

0 голосов
/ 11 марта 2020

используйте его следующим образом, это функционально

Во-первых, я ищу папку с идентификатором

Public Sub SearchFolder()
    IDFolderSave = String.Empty 'Global Variable
    Try
        Dim findrequest As FilesResource.ListRequest = Service.Files.List
        Dim listFolder As Data.FileList = findrequest.Execute

        For Each item As File In listFolder.Files
            If item.MimeType = "application/vnd.google-apps.folder" Then
                If item.Name = "NameFolder" Then
                    IDFolderSave = item.Id.ToString
                    Exit For
                End If
            End If
        Next
    Catch ex As Exception
        Throw ex
    End Try

    'MsgBox("Folder id: " + idFolder)
End Sub

Во-вторых, загрузите файл

Public Sub UploadFileInFolder()
    Dim FilePath As String = String.Empty
    FilePath = "C:\Icons\Loadding.gif"
    Dim plist As List(Of String) = New List(Of String)

    SearchFolder()
    plist.Add(IDFolderSave) 'Set parent folder

    If (System.IO.File.Exists(FilePath)) Then
        Dim fileMetadata = New File() With {
                .Name = "Test",
                .Parents = plist
            }

        Dim request As FilesResource.CreateMediaUpload

        Using stream = New System.IO.FileStream(FilePath, System.IO.FileMode.Open)
            request = Service.Files.Create(fileMetadata, stream, "application/octet-stream")
            request.Fields = "id, parents"
            request.Upload()
        End Using


        Dim file As File = request.ResponseBody
        IDFileShared = file.Id

        SharedFile()
        MsgBox("File upload: " + file.Id)
    Else
        MsgBox("File does not exist: " + FilePath)
    End If
End Sub

I надеюсь, это поможет вам

...