Google Admin SDK 403 无权访问此资源/API

the*_*yuv 5 google-api google-api-java-client google-oauth google-admin-sdk

我在 java web 应用程序中使用以下代码来尝试获取组的所有用户:

GoogleCredential credential = GoogleCredential.fromStream(Util.class.getResourceAsStream("[credential_file].json")).createScoped(SCOPES);

Directory directory = new Directory.Builder(httpTransport, JSON_FACTORY, credential).build();

Directory.Members dirMem = directory.members();
Members members = dirMem.list("[group_email]").execute();
Run Code Online (Sandbox Code Playgroud)

这会导致最后一行 ( dirMem.list...)出现异常 403(未授权访问此资源/API )。

从文档(https://developers.google.com/admin-sdk/directory/v1/guides/delegation)和其他帖子中,我看到解决方案是使用setServiceAccountUser(). 但是,这意味着我必须使用 p12 文件而不是 json 文件(Google 建议在创建密钥时使用 json 文件)。

有什么办法可以在仍然使用 json 文件的同时解决这个问题(它还涉及更少的代码)。

谢谢。

the*_*yuv 1

目前,我只使用 p12 文件,如下所述:

https://developers.google.com/admin-sdk/directory/v1/guides/delegation

如果有人知道如何使用 json 文件执行此问题中的代码,请随时发表评论/回答。