'先决条件失败。'获取暂停Google用户时出错使用Google Admin API进行推广?

时间:2014-05-12 10:10:11

标签: google-drive-api google-admin-sdk

我有以下代码来读取域用户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();

2 个答案:

答案 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管理员权限模拟其他域用户