【问题标题】:test if a folder exist or not in google drive测试谷歌驱动器中是否存在文件夹
【发布时间】:2018-01-02 23:50:15
【问题描述】:

我想知道谷歌驱动器中是否存在文件夹(子文件夹),在此page 中搜索后,我尝试这样做,我创建了一个布尔函数,如果文件夹存在则返回 true。

这里是布尔函数的代码

 Public Function exist(v As String) As Boolean
    Dim pag As String
    Dim req = Service.Files.List()
    req.Q = "application/vnd.google-apps.folder"
    req.PageToken = pag
    Dim result = req.Execute()
    If (result.NextPageToken IsNot Nothing) Then
        Return False
    Else
        Return True
    End If

End Function

我怎么称呼它

 If (exist(dat_sauv.SelectedItem) = False) Then
        MessageBox.Show("folder exist")

    End If

例外是

此指令中存在方法中的异常已消除

昏暗结果 = req.Execute()

我的方法是否正确?你能帮帮我吗

【问题讨论】:

    标签: vb.net google-drive-api directory exists


    【解决方案1】:

    您的代码有两个问题。

    1. 查询不当

    您的电话req.Q = "application/vnd.google-apps.folder" 应该是

    req.Q = "mimeType='application/vnd.google-apps.folder' and name = '"+v+"' and trashed=false" 您可能需要整理引用和转义(即不要复制/粘贴并期望它第一次工作)

    1. 使用 nextPageToken

    文件夹的存在不会由 nextpageToken 的存在来指示。相反,您需要检查响应中的 files 数组是否有 >0 个元素。

    【讨论】:

    • 谢谢,第一个,我加了垃圾=假,但下一个,我不明白
    • 1.你为什么添加垃圾=假。你应该使用我给你的完整查询。 2. 阅读文档以了解 nextPageToken 的作用。还可以使用developers.google.com/drive/v3/reference/files/list#try-it 的“立即尝试”功能来帮助您了解其工作原理
    • 好的,我会在我的代码中尝试这个 api,我添加 req.Q = "mimeType = 'application/vnd.google-apps.folder' AND '" + v + "' 和垃圾= false”,我用于每个 boucle,但在同一个地方相同的异常 v 是文件夹名称
    • 请仔细阅读我的回答。你还是把 Q 弄错了
    猜你喜欢
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多