0

Google Admin SDK API を使用して、スタンドアロン C# コードを使用して Google でユーザー/グループをプロビジョニングしています。ユーザーの作成、ユーザーの更新、グループの作成、メンバーの追加、メンバーの取得、ユーザーの検索などを含むすべての操作は完全に正常に機能しています。グループ設定 API を呼び出して、いくつかのグループ設定を更新しますが、

ログインが必要な例外 (401)。

サービス アカウント スコープにグループ設定を追加し、Google 管理コンソールのセキュリティ設定に同じグループ設定を追加し、開発者コンソール スコープでグループ設定を有効にしました: GroupssettingsService.Scope.AppsGroupsSettings 管理コンソールのセキュリティ設定: https://www.googleapis.com /auth/apps.groups.settings

ここで何が問題なのかわかりません。残りのすべての API は正常に動作しており、API エクスプローラーから同じことを試してみましたが、これも正常に動作しています。

//Connect Google Snippet

public static DirectoryService fnConnectGoogle()
{
            Console.WriteLine("Connect to Google API");
            Console.WriteLine("=====================");

            String serviceAccountEmail = "xyz@developer.gserviceaccount.com";
            var certificate = new X509Certificate2(@"D:\CECV\Google\GoogleAppsProvisioning.p12", "notasecret", X509KeyStorageFlags.Exportable);

            ServiceAccountCredential credential = new ServiceAccountCredential(
            new ServiceAccountCredential.Initializer(serviceAccountEmail)
            {
                User = "test@mydomain.com",
                Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser, DirectoryService.Scope.AdminDirectoryGroup,
                    GroupssettingsService.Scope.AppsGroupsSettings}
            }.FromCertificate(certificate));


            var dirservice = new DirectoryService(new BaseClientService.Initializer()
            {enter code here
                HttpClientInitializer = credential,
                ApplicationName = "GoogleAppsProvisioning"
            });
            return dirservice;
}

//Update Group Settings


public static void fnUpdateGroupSetting(DirectoryService dirService)
{
            GroupssettingsService groupSetting = new GroupssettingsService();
            //   Groups group = new Groups();
            Google.Apis.Groupssettings.v1.Data.Groups group = new Google.Apis.Groupssettings.v1.Data.Groups();

             group.AllowWebPosting = "true";
            var g = groupSetting.Groups.Update(group, "testgroupprovisioning-code-1@vic.catholic.edu.au").Execute();
            Console.WriteLine("Group Settings updated successfully"+g.AllowWebPosting );
}
4

1 に答える 1

0

アクティブ化するためにtest@mydomain.comでログインしましたか? 私は同じ問題を抱えていましたが、サービスアカウントがユーザーとして機能しようとしていることに気付くまで、ユーザーがアクティブ化されていないと機能しない可能性があります。ただし、GroupSettings 以外の API には問題がないようです。

于 2015-07-20T15:03:45.183 に答える