Google drive api 使用API创建的Google驱动器文件夹/文件在Google界面上不可见

Google drive api 使用API创建的Google驱动器文件夹/文件在Google界面上不可见,google-drive-api,Google Drive Api,这很奇怪。我使用GoogleDrive API在GoogleDrive中创建了一个文件夹,然后在那里上传了一个文件。我可以使用相同的API检索文件夹和文件(代码在各个方面都运行良好)。然而,当我进入Google Drive Web界面时,我似乎找不到文件夹或文件。该文件也不同步到我的本地驱动器。API或其他地方是否有设置“可见性”的设置 提前感谢。创建文件夹时,应确保设置了父级,如“root”。如果没有此功能,它将不会显示在“我的驱动器”中,而只显示在搜索中(您是否尝试过在UI中搜索?) 因为您

这很奇怪。我使用GoogleDrive API在GoogleDrive中创建了一个文件夹,然后在那里上传了一个文件。我可以使用相同的API检索文件夹和文件(代码在各个方面都运行良好)。然而,当我进入Google Drive Web界面时,我似乎找不到文件夹或文件。该文件也不同步到我的本地驱动器。API或其他地方是否有设置“可见性”的设置


提前感谢。

创建文件夹时,应确保设置了父级,如“root”。如果没有此功能,它将不会显示在“我的驱动器”中,而只显示在搜索中(您是否尝试过在UI中搜索?)

因为您已经创建了文件夹,所以可以更新该文件并将其指定为父根目录

您可以使用该示例进行测试


将文件夹ID放入文件ID框中,然后在请求正文中,在ID字段中添加根。

我也遇到了同样的问题。原来是权限。当文件由服务帐户上载时,服务帐户被设置为所有者,然后您无法从驱动器UI中查看文件。我在网上找到了解决方案(但似乎再也找不到了…) 这就是我所做的

是C#,你的问题没有具体说明。你感兴趣的代码是上传后获得响应正文后的权限内容

FilesResource.InsertMediaUpload request = service.Files.Insert(body, stream, "text/plain");
request.Upload();

//Start here...
Google.Apis.Drive.v2.Data.File file = request.ResponseBody;
Permission newPermission = new Permission();
newPermission.Value = "yourdriveaccount@domain.com";
newPermission.Type = "user";
newPermission.Role = "reader";
service.Permissions.Insert(newPermission, file.Id).Execute();
在此之后,该文件在驱动器UI上可见。我尝试为角色指定“所有者”,就像api建议的那样,但我得到了一个错误,说他们正在处理它。我还没有玩过其他的场景(我昨晚玩过)。如果您在权限方面有任何其他组合,请告诉我


希望这会有帮助,我也遇到了同样的问题,但是我使用了一个list-data-type-for-parents参数解决了这个问题,例如:如果想在文件夹下创建一个文件夹(“1tbymlzxpgkouw-lTQ0EccN0CMb_-yxUB”),那么python代码将类似于

private void SetFilePermission(string fileId)
    {
        Permission adminPermission = new Permission
        {
            EmailAddress = "test@gmail.com", // email address of drive where 
                                                //you want to see files
            Type = "user",
            Role = "owner"
        };
        var permissionRequest = _driveService.Permissions.Create(adminPermission, fileId);
        permissionRequest.TransferOwnership = true;   // to make owner (important)
        permissionRequest.Execute();
        Permission globalPermission = new Permission
        {
            Type = "anyone",
            Role = "reader"
        };
        var globalpermissionRequest = _driveService.Permissions.Create(globalPermission, fileId);
        globalpermissionRequest.Execute();
    }
drive_service = build('drive', 'v3', credentials=creds)
body={
            'name':'generated_folder',
            'parents':['1TBymLMZXPGkouw-lTQ0EccN0CMb_yxUB'],
            'mimeType':'application/vnd.google-apps.folder'
    }
doc = drive_service.files().create(body=body).execute()

您确定您登录的帐户与创建文件时使用的帐户相同吗?如何通过API显示.get()?我怀疑您正在混合帐户或使用服务帐户…让我检查一下.get()输出。什么是服务帐户?我只有一个GoogleDrive帐户(和我的gmail帐户一样),你可以试试这个答案,它肯定很好用:我已经正确设置了家长。我在根目录下创建一个文件夹,然后将文件上载到该文件夹。通过相同的文件夹结构阅读工作正常。实际上,文件不是使用服务帐户上载的。谢谢!我用ruby做这件事,面临着一个确切的问题。你的回答对我有帮助。我对nodejs也有同样的问题。添加了对我自己帐户的权限,它开始显示在谷歌硬盘的“与我共享”下。