我有以下代码来读取域用户Drive中的文档。选定域中的一个用户被暂停。我得到的前提条件失败了。'此暂停用户的错误。对于所有其他用户,相同的代码正常工作是否可以使用管理员API阅读已暂停的Google用户云端硬盘的内容。
var certificate = new X509Certificate2("D:\\05-privatekey.p12", "notasecret", X509KeyStorageFlags.Exportable);
var privateKey = certificate.Export(X509ContentType.Cert);
var provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, certificate)
{
ServiceAccountId = "877564787679-glrhdp0e4998dkc6mfj62@developer.gserviceaccount.com",
Scope = DriveService.Scopes.Drive.GetStringValue(),
ServiceAccountUser = "suspendedusersEmailAddress"
};
var auth = new OAuth2Authenticator<AssertionFlowClient>(provider, AssertionFlowClient.GetState);
DriveService service = new DriveService(new BaseClientService.Initializer()
{
Authenticator = auth,
ApplicationName = "My APP",
});
FilesResource.ListRequest request = service.Files.List();
FileList files = request.Execute();
答案 0 :(得分:0)
不,在尝试访问其Google云端硬盘之前,您需要在脚本中取消暂停用户。另请注意,在发出users.patch(suspended=false)
后,可能会在通过服务帐户访问Google云端硬盘之前最多延迟一个小时。你需要测试这个延迟。
访问Google云端硬盘后,您可以重新暂停用户。
答案 1 :(得分:0)
以前的Google文档列表API似乎可以选择获取已暂停用户的文件。不确定为什么当前的驱动SDK似乎没有这样的选项。
https://developers.google.com/google-apps/documents-list/?hl=ja 部分:使用Google Apps管理员权限模拟其他域用户