gpt4 book ai didi

google-drive-api - 与谷歌服务帐户共享了一个谷歌驱动器文件夹,但服务帐户看不到它

转载 作者:行者123 更新时间:2023-12-04 18:02:40 25 4
gpt4 key购买 nike

编写一个应用程序,该应用程序将抓取用户上传的打包 zip 文件的上传目录,并在 Google for Work 共享的 google 驱动器文件夹中重新创建 in-zip 目录结构。

问题:在 For Work 域中创建的服务帐户无法访问或查看共享文件夹。代码在 C# 中。我希望我只是错过了一些愚蠢的东西。

详细信息:以域管理员帐户登录。进入 google api 控制台,启用 api,创建一个服务帐户,授予对该服务帐户电子邮件的访问权限。通过 API 和服务帐户,在 File 对象列表中找不到共享文件夹,我也无法通过 ID 上传到它。

使用共享文件夹的 in-url 文件夹 ID 调用以下代码段。与服务帐户共享的文件夹未显示在返回的内容列表中。

// get starting point

string masterParent = "xxxxx"; // pulled from URL after sharing folder
File masterParentFolder = GetGAPIFileById( service, masterParent, false );

示例片段:
static File GetGAPIFileById( gapi.DriveService service, string id, bool folderOnly ) {
if( null == id ) id = "-1";
File rtn = null;

var lreq = service.Files.List();
lreq.MaxResults = 10000;
if( folderOnly ) {
lreq.Q = "mimeType='application/vnd.google-apps.folder' and trashed=false";
} else {
lreq.Q = "trashed=false";
}
var lres = lreq.Execute();

foreach( File f in lres.Items ) {
Console.WriteLine( "Item: " + f.Title + " // " + f.Id );
if( f.Id.Trim().ToLower() == id.Trim().ToLower() ) {
rtn = f;
break;
}
}

return rtn;
}

最佳答案

好吧,事实证明,问题似乎是由更改域外共享设置引起或加剧的,而不是在共享文件夹和创建服务帐户之前等待完全传播。删除所有内容并重做完全相同的步骤后,在初次尝试后大约 5 天,一切正常。当 Google 说“这可能需要长达 24 小时”并且它似乎在几分钟内就可以正常工作时,请继续处理这些问题,一两天后再回来处理。

::耸耸肩::谢谢大家。

关于google-drive-api - 与谷歌服务帐户共享了一个谷歌驱动器文件夹,但服务帐户看不到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32314329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com