Я пытаюсь использовать служебную учетную запись для получения местоположений / отзывов с помощью Google My Business API.
На данный момент у меня есть:
- Создан проект в консоли разработчика
- Включен доступ к Google My Business API (он был одобрен / внесен в белый список Google)
- Создан сервисный аккаунт со связанной идентификацией OAuth
- Приглашен идентификатор OAuth (т.е. учетной записи службы) в качестве менеджера для местоположения Google My Business
Я могу видеть приглашение при программном перечислении приглашений из https://mybusiness.googleapis.com/v4/accounts/[ACCOUNT NAME]/invitations
, используя образец клиента .NET Google, доступный для загрузки из https://developers.google.com/my-business/samples
Однако, когда я пытаюсь принять приглашение через https://mybusiness.googleapis.com/v4/accounts/[ACCOUNT NAME]/invitations/[INVITATION NAME]:accept
, запрос не выполняется с ошибкой сервера 500.
При создании экземпляра MyBusinessService
я сначала создаю учетные данные учетной записи службы, например:
ServiceAccountCredential credential;
using (Stream stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read, FileShare.Read))
{
credential = (ServiceAccountCredential)GoogleCredential
.FromStream(stream)
.CreateScoped(new [] { "https://www.googleapis.com/auth/plus.business.manage" })
.UnderlyingCredential;
}
Далее я создаю инициализатор, например:
var initializer = new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "My GMB API Client",
GZipEnabled = true,
};
Наконец, я создаю MyBusinessService
экземпляр, например: var service = new MyBusinessService(initializer);
Я могу перечислитьnvitations with:
service.Accounts
.Invitations
.List("[ACCOUNT NAME]")
.Execute()
.Invitations;
Однако попытка принять приглашение не удалась:
service.Accounts
.Invitations
.Accept(null, "[INVITATION NAME]")
.Execute();
Первый параметр null
, так как эта документация гласит, что запростело должно быть пустым.
Или, возможно, есть какой-то другой способ принять приглашение, чтобы служебная учетная запись могла получать отзывы Google My Business для наших местоположений?