Google Apps管理员可以使用云端硬盘SDK管理用户文件吗?

Rid*_*dgh 7 google-apps google-docs-api google-drive-api

新版本Drive SDK对于经过身份验证的用户非常有用.是否可以使用Drive SDKGoogle Apps管理员权限模拟其他域用户?

doclist API可以做到这一点,但是用这个工具管理和复制文件(pdf,jpg)是不可能的.

我正在使用Java代码:

credential_origine = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
                    .setJsonFactory(JSON_FACTORY)
                    .setServiceAccountId("[email from console api]")
                    .setServiceAccountScopes(DriveScopes.DRIVE)
                    .setServiceAccountUser("user@domain.com")
                    .setServiceAccountPrivateKeyFromP12File(new File("key.p12")).build();
Run Code Online (Sandbox Code Playgroud)

但是当我尝试为user@domain.com检索数据时出现错误.如果我评论.setServiceAccountUser("user@domain.com")该代码适用于我用于创建密钥的同一帐户.

在旧的DOCList API中,我们通过请求的URL模拟了另一个用户.它有类似的东西吗?

Ala*_*ain 5

您可以使用服务帐户执行此操作,并指定用户在构建断言声明时进行模拟.

在API项目中创建服务帐户密钥后(从API控制台),您必须将此项目添加到cPanel中授权的第三方应用程序列表中.有关这方面的更多信息,请点击此处.您需要使用的"客户端ID"是绑定到服务帐户密钥的"客户端ID"<APP_ID>-<OTHER_KEY>.apps.googleusercontent.com

由于您要管理其他用户文件,因此您必须授权Drive wide范围:https://www.googleapis.com/auth/drive.

我们的大多数客户端库负责为开发人员提取索赔生成.如果您可以指定您计划使用的语言,我可以通过提供代码片段来帮助您开始更新此答案.