2015-04-08 3 views
0

Я пытаюсь использовать API каталогов для обновления паролей Google для пользователей в нашем домене. Я следил за примером для учетной записи Service Plus, которая почти идентична (https://github.com/google/google-api-java-client-samples/blob/master/plus-serviceaccount-cmdline-sample/src/main/java/com/google/api/services/samples/plus/serviceaccount/cmdline/PlusServiceAccountSample.java).Выполнение вызовов учетной записи службы Google без использования администратора домена

Я пытаюсь определить, почему мне необходимо передать адрес электронной почты супер администратора в setServiceAccountUser(), чтобы установить пароли пользователей в домене. Есть ли где-нибудь параметр, который позволит мне использовать API без настроек serviceAccountUser?

я получаю сообщение ниже, когда я закомментируйте setServiceAccountUser() вызов:

{ 
"code" : 403, 
"errors" : [ { 
"domain" : "global", 
"message" : "Not Authorized to access this resource/api", 
"reason" : "forbidden" 
} ], 
"message" : "Not Authorized to access this resource/api" 

Вот код (от образца Plus), которая имеет отношение:

// service account credential (uncomment setServiceAccountUser for domain-wide delegation) 
    GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport) 
     .setJsonFactory(JSON_FACTORY) 
     .setServiceAccountId(SERVICE_ACCOUNT_EMAIL) 
     .setServiceAccountScopes(Collections.singleton(PlusScopes.PLUS_ME)) 
     .setServiceAccountPrivateKeyFromP12File(new File("key.p12")) 
     // .setServiceAccountUser("[email protected]") 
     .build(); 

ответ

1

Справочник по API записи для операций требуется учетная запись администратора. Либо супер администратор, либо delegated admin, у которого есть права на модификацию пользователя API. Это указано в документе prerequisites.

+0

Спасибо ... Я не совсем понял, почему это так, b/c вам не нужно передавать учетные данные администратора, а также смысл вызова, который вы могли бы по существу передать на любой адрес электронной почты администратора этого свойства просто зная адрес электронной почты. Может быть, Google добавил это как требование предотвратить случайный вызов записи? – acvcu

Смежные вопросы