Подтвердить что ты не робот

Совместное использование принтера с учетной записью службы Google API

Можно ли использовать принтер GCP с учетной записью службы Google API (https://developers.google.com/accounts/docs/OAuth2ServiceAccount)?

Я попытался использовать принтер с адресом электронной почты клиента ([email protected]), но принтер не отображается в ответе на вызов API /search. Вызов /submit приводит к ошибке (пользователь не имеет доступа)

4b9b3361

Ответ 1

Я полагаю, что вы столкнулись с проблемой "ожидает рассмотрения".
А именно, вы поделились своим принтером с учетной записью [email protected], но другой пользователь (в данном случае [email protected].com) должен принять приглашение поделиться принтером.

Вы можете проверить это, выполнив запрос /print, и вы увидите

"is_pending": true

элемент в разделе access для вашего пользователя ([email protected]) в этом случае.

Нет необходимости говорить, что учетные записи, для которых этот элемент имеет значение true, не могут печататься, поэтому "пользователь не авторизован". сообщение.
Я не знаю, как принять приглашение для данной учетной записи, но есть обходной путь:

  1. Вы можете создать частную группу Google с учетной записью, которая может принимать общие принтеры (например, вашу учетную запись Gmail).
  2. Затем вы добавляете учетную запись службы ("[email protected]") в группу et voila. Вы можете распечатать с помощью учетной записи службы;).

Когда вы делитесь принтером, вы должны поделиться им с группой Google (используйте адрес электронной почты группы, который вы можете найти где-нибудь в консоли управления группой), и менеджер группы (например, ваша учетная запись Gmail) должен принять приглашение для всей группы.

Подробнее о том, как создать группу, можно найти здесь.
Я пробовал это с учетной записью службы GAE, и это работает. Если вам нужны какие-либо разъяснения, не стесняйтесь спрашивать. Удачи.

Ответ 2

Как вы сами поделились принтером с учетной записью службы, мы можем предположить, что вы знаете "Идентификатор принтера" принтера, на который была приглашена учетная запись службы.

Учетная запись службы вызывает запрос /processinvite с этими (обязательными) параметрами:

  • printerid= the-known-printer-id
  • accept= true

После этого принтер появится в /search

Счастливая печать!