私たちは Google の企業アカウントを持っており、すでに Groups Provisioning API を使用してドメイン内のグループを管理しています。ここで、「グループ設定 API」を使用してグループ設定を微調整する必要があります。私たちの Java コードは、グループを管理するため、すべてのグループ プロビジョニング API のドメインで特別な管理者として機能します。
a) https://developers.google.com/google-apps/groups-settings/authを読んでいます
b) 「アプリケーションに特定の異常な認証要件がある場合、....またはドメイン全体の権限委任 (2LO) がある場合、現在 OAuth 2.0 トークンを使用できません。そのような場合、代わりに OAuth 1.0 トークンと API を使用する必要があります。鍵。"
c) https://developers.google.com/console/help/#generatingdevkeysを読み、このアプリの新しいサーバー キーを生成しました
d) さて何?google-api-services-groupssettings API の v1-rev25-1.14.2-beta バージョンと「google-api-client」バージョン 1.14.1-beta でこれを使用するにはどうすればよいですか? 例で見られる唯一のオプション (これは oauth 2.0 のみを対象としています) は、oauth 2.0 のみを中心としたこの GoogleCredential オブジェクトを使用するものであり、上記の (a) によれば、使用できません。
e) このライブラリで API キーを使用する際の例や役立つ情報がないため、oauth 2.0 と特別なサービス アカウント clientEmail および privatekey の 1 つを介して Groupsettings オブジェクトを作成する例を使用して、それを試してみることにしました。グループが「ユーザーデータ」ではないことを考えると、いくつかの点でこれが機能しない理由がわかりませんが、接続しているこの管理者 API アカウントで管理できるはずです。
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId("ourspecial_client_email@from.api.console")
.setServiceAccountScopes(GroupssettingsScopes.APPS_GROUPS_SETTINGS)
.setServiceAccountUser("my.special.admin.user@ourdomain.com")
.setServiceAccountPrivateKeyFromP12File(
new java.io.File("/path/to/privatekey"))
.build();
Groupssettings service = new Groupssettings.Builder(httpTransport, jsonFactory, null)
.setApplicationName("my API Integration")
.setHttpRequestInitializer(credential).build();
Groups groups= service.groups().get("someexistingtestgroup@mydomain.com").execute();
Groups group = new Groups();
group.setWhoCanJoin("ALL_IN_DOMAIN_CAN_JOIN");
service.groups().patch("someexistingtestgroup@mydomain.com", group).execute();
上記のコードを実行すると (patch() 呼び出し)、次のエラーが返されます: ("update()" も試しましたが、同じ結果でした。このメッセージはどういう意味ですか?? これは auth に関連していますか? それとも無効な呼び出しですか?アップデート/パッチで?
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Permission denied: Cannot hide from Groups directory.",
"reason" : "invalid"
} ],
また、 「ヘルプ」ページには、「Google エンジニアがタグ google-groups-settings を監視して回答する」と記載されています。助けを求めてここに投稿すると、stackoverflow を使用するには XXXXX ポイントが必要になります。よかった、誰もこれを見ないだろう。