Я загрузил 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
Был бы очень признателен, если бы кто-нибудь мог указать, где я ошибаюсь.