Операции Google Admin SDK с использованием входа клиента не работают с кодом 403 даже с токеном аутентификации

Я загрузил admin-cmd-line-sample для Java и его отличная работа с oAuth, я могу создавать пользователей и группы. У меня включен Admin SDK, а также использование API в настройках безопасности.

Но мне приходится использовать старый механизм ClientLogin для создания пользователей и групп.

При запросе токена авторизации Client Login возвращает мне значение, которое я в конечном итоге устанавливаю в заголовке HTTP-запроса и вызываю удаленную службу.

Но я получаю

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
    "extendedHelp": "https://code.google.com/apis/console"
   }
  ],
  "code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
} 

Я использую вход клиента следующим образом.

ClientLogin authenticator = new ClientLogin();
authenticator.authTokenType = "apps";
authenticator.username = "[email protected]";
authenticator.password = "bar123#";
authenticator.transport = GoogleNetHttpTransport.newTrustedTransport();

final Response response = authenticator.authenticate();

Directory client = new Directory.Builder(GoogleApacheHttpTransport.newTrustedTransport(), JSON_FACTORY, new HttpRequestInitializer() {

        @Override
        public void initialize(HttpRequest httpRequest) throws IOException {
           httpRequest.getHeaders().setAuthorization(response.getAuthorizationHeaderValue());
        }

}).setApplicationName(APPLICATION_NAME).build();

Выше экземпляра клиента, чем я использую для создания пользователя или группы.

Group group = new Group();
group.setEmail("[email protected]");
group.setName("bar group");
group.setDescription("bar group");
client.groups().insert(group).execute();

Если я напечатаю response.getAuthorizationHeaderValue () на консоли, я увижу длинное строковое значение.

Я использую версию directory_v1-rev16-1.16.0-rc из google-api-services-admin

Был бы очень признателен, если бы кто-нибудь мог указать, где я ошибаюсь.


person baba.kabira    schedule 28.11.2013    source источник


Ответы (1)


Новый Admin SDK API не поддерживает устаревший ClientLogin. Вам необходимо использовать аутентификацию OAuth 2.0.

person Jay Lee    schedule 29.11.2013