1

我正在使用 Directory API 的最新 Beta,在尝试获取用户列表时,我得到以下信息:

“远程服务器返回错误:(400)错误请求。”

我能够从 API Explorer ( https://developers.google.com/apis-explorer/#p/admin/directory_v1/directory.users.list ) 执行此功能,并且我拥有所有适当的权限和范围集。

C#代码如下:

            X509Certificate2 certificate = new X509Certificate2(
                SERVICE_ACCOUNT_PKCS12_FILE_PATH,
                "KEY_PASSWORD", X509KeyStorageFlags.Exportable);

            var provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, certificate)

            var provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, certificate)
            {
                ServiceAccountId = SERVICE_ACCOUNT_EMAIL,
                Scope = Utilities.GetStringValue(
                    DirectoryService.Scopes.AdminDirectoryUser),
                ServiceAccountUser = SERVICE_ACCOUNT_USER,
            };
            var auth = new OAuth2Authenticator<AssertionFlowClient>(provider, AssertionFlowClient.GetState);

            var service = new DirectoryService(new BaseClientService.Initializer()
            {
                Authenticator = auth,
                ApplicationName = "API Project Name",                
            });

            var usersList = service.Users.List();
            usersList.Domain = "mydomain";

            Users results = usersList.Execute();
4

1 回答 1

1

尝试按照执行域范围授权中的步骤进行操作。这些说明特定于 Drive SDK,但可以很容易地适用于 Admin SDK。特别注意委托步骤,经常漏掉。

于 2013-10-07T09:28:27.883 回答