Я пытаюсь получить свой собственный календарь занятости с помощью простого вызова POST в Java, и я сталкиваюсь с ошибками доступа.В основном я получаю ошибку 404, notFound, например, так:
{
"kind": "calendar#freeBusy",
"timeMin": "2019-05-28T13:00:00.000Z",
"timeMax": "2019-05-28T21:00:00.000Z",
"calendars": {
"me@mycompany.com": {
"errors": [
{
"domain": "global",
"reason": "notFound"
}
],
"busy": []
}
}
}
Код довольно прост.Я могу получить именно то, что мне нужно, если я использую токен на предъявителя с OAuth Playground, все работает просто отлично.Вот мой соответствующий код:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(Objects.requireNonNull(classLoader.getResource("...a59.json")).getFile());
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream(file))
.createScoped(CalendarScopes.all());
credential.refreshToken();
String accessToken = credential.getAccessToken();
Значение accessToken
, которое я получаю, приводит к ответу выше.
Для моей служебной учетной записи я создал ее в проекте, в котором включен Календарь API.Я также предоставил ему роль Project Owner
, чтобы он имел полный доступ к настройкам в проекте.
Я уверен, что это что-то маленькое и простое с моей конфигурацией учетной записи службы, но я не могудля меня жизнь понять, что это такое.