Аутентификация в Google Vault API — получение ответа 400 с сообщением: «Пользователь не принадлежит клиенту G Suite».
Я пытаюсь выполнить простой запрос из Google Vault API, используя учетные данные JSON, предоставленные из консоли Google API для учетной записи службы. Я получаю ответ 400 (неверный запрос/неверный аргумент) с сообщением:
The user does not belong to a G Suite customer.
Кто-нибудь знает, что я могу делать неправильно? Нужно ли дополнять JSON чем-либо, чтобы указать нашу учетную запись G Suite?
Заранее спасибо.
Код довольно прост:
matter_id = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
vault = Google::Apis::VaultV1::VaultService.new
scope = 'https://www.googleapis.com/auth/ediscovery.readonly'
vault.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
json_key_io: File.open('./xxxxxxxxxx.json'),
scope: scope)
vault.authorization.fetch_access_token!
m = vault.get_matter(matter_id)
Обновление - это было решено. Вы должны обновитьsub
после создания учетных данных для олицетворения пользователя.
matter_id = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
vault = Google::Apis::VaultV1::VaultService.new
scope = 'https://www.googleapis.com/auth/ediscovery.readonly'
credentials = Google::Auth::ServiceAccountCredentials.make_creds(
json_key_io: File.open('./xxxxxxxxxx.json'),
scope: scope)
credentials.update!(sub: 'user@domain.com')
vault.authorization = credentials
vault.authorization.fetch_access_token!
m = vault.get_matter(matter_id)