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