У меня есть служебная учетная запись с делегированием домена в домен Gsuite. Я хотел бы выдать себя за одного из пользователей, который будет организатором созданного события.
Мой код:
List<String> scopes = new ArrayList<>();
scopes.add(CalendarScopes.CALENDAR);
scopes.add(CalendarScopes.CALENDAR_EVENTS);
InputStream credentialsJSON = Service5.class.getClassLoader()
.getResourceAsStream("credentials.json");
GoogleCredential gcFromJson = GoogleCredential.fromStream(credentialsJSON, HTTP_TRANSPORT, JSON_FACTORY).createScoped(scopes);
GoogleCredential cred = new GoogleCredential.Builder()
.setTransport(gcFromJson.getTransport())
.setJsonFactory(gcFromJson.getJsonFactory())
.setServiceAccountId(gcFromJson.getServiceAccountId())
.setServiceAccountUser("edt@company.tn")
.setServiceAccountPrivateKey(gcFromJson.getServiceAccountPrivateKey())
.setServiceAccountScopes(gcFromJson.getServiceAccountScopes())
.build();
Calendar service = new Calendar.Builder(HTTP_TRANSPORT, JSON_FACTORY, cred).setApplicationName(APPLICATION_NAME).build();
Event event = new Event().setSummary("Test");
DateTime startDateTime = new DateTime("2020-04-27T09:00:00.000Z");
EventDateTime start = new EventDateTime()
.setDateTime(startDateTime)
.setTimeZone("Africa/Tunis");
event.setStart(start);
DateTime endDateTime = new DateTime("2020-04-27T10:30:00.000Z");
EventDateTime end = new EventDateTime()
.setDateTime(endDateTime)
.setTimeZone("Africa/Tunis");
event.setEnd(end);
List<EventAttendee> attendees = new ArrayList<EventAttendee>();
EventAttendee ens = new EventAttendee().setEmail("user@company.tn");
attendees.add(ens);
event.setAttendees(attendees);
String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
Но я получил это исключение:
![enter image description here](https://i.stack.imgur.com/CytAi.png)
РЕДАКТИРОВАТЬ - 1 Я скачал файл json, полученный в результате CREATE KEY
Получил это исключение:
Исключение в потоке "main" com.google.api.client.auth.oauth2.TokenResponseException: 401 Не авторизовано на com.google.api.client.auth.oauth2.TokenResponseException.from (TokenResponseException. java: 105) на com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed (TokenRequest. java: 287) на com.google.api.client.auth.oauth2.TokenRequest.execute (TokenRequest. java: 307) на com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken (GoogleCredential. java: 394) на com.google.api.client.auth.oauth2.Credential.refreshToken (учетные данные. * 1032) *: 493) на странице com.google.api.client.auth.oauth2.Credential.intercept (Credential. java: 217) на странице com.google.api.client.http. HttpRequest.execute (HttpRequest. java: 880) на com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed (AbstractGoogleClientRequest. java: 419) на com.google.api.client.g AbstractGoogleClientRequest.executeUnparsed (AbstractGoogleClientRequest. java: 352) на com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute (AbstractGoogleClientRequest. java: 469) в tner.google.png. main (Service5. java: 183)
Подскажите, пожалуйста, что я пропустил?.
Спасибо большое