1

Google Admin Directory API と 2 Legged OAuth を使用して、Google Apps ドメイン内のすべてのユーザー アカウントを取得するコードを作成しようとしています。残念ながら、ディレクトリ API のドキュメントやサンプル コードはほとんど見つかりません。以下のコードを試しました:

AdminService adminService = new AdminService();
Google.Apis.Authentication.OAuth2LeggedAuthenticator  authenticator= new  Google.Apis.Authentication.OAuth2LeggedAuthenticator(mydomainName, domainConsumerSecret, adminId, mydomainName);
UsersResource usrRes = new UsersResource(adminService, authenticator);
UsersResource.ListRequest listReq =   usrRes.List();
Google.Apis.Admin.directory_v1.Data.Users  allUsers =  listReq .Fetch();
foreach (Google.Apis.Admin.directory_v1.Data.User usr in allUsers.UsersValue)
{ ...  }

しかし、401の無許可エラーが発生しました。次に、古い GData Lib を使用して低レベルの方法を試しました。

Google.GData.Client.OAuth2LeggedAuthenticator authenticator = new OAuth2LeggedAuthenticator("MyAPP", mydomainName, domainConsumerSecret,adminId, mydomainName, "HMAC-SHA1");
HttpWebRequest request = authenticator.CreateHttpWebRequest("GET", new Uri("https://www.googleapis.com/admin/directory/v1/users?domain=mydomain.com"));
HttpWebResponse response = request.GetResponse() as HttpWebResponse;

上記のコードでも同じ 401 エラーが発生しました。

Directory API のソース コードに基づいて、2LO がサポートされていると思います。しかし、私はそれを機能させることができません。誰でも私の問題を指摘するのを助けることができますか? ありがとう。

別の質問: ユーザー ID (xoauth_requestor_id パラメーター) は 2LO ディレクトリ API 要求に必要ですか? 2LO を使用する場合、このパラメーターが他の API に必要であることは知っていますが、ディレクトリおよびプロビジョニング API に必要かどうかは明確ではありません。

ところで: lib を使用せずに 2LO HTTP リクエストをゼロから構築したいと考えていますが、まだ開始していません。Directory API リクエストで 2LO が機能することを確認する必要があります。

4

1 に答える 1