private final String clientSecret = "<my_client_secret>";
private final String clientID = "<my_client_id>.apps.googleusercontent.com";
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
//Access token
private Credential credentials = new GoogleCredential.Builder()
.setTransport(new NetHttpTransport())
.setJsonFactory(new JacksonFactory())
.setClientSecrets(clientID, clientSecret)
.build();
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
.setApplicationName("Calendar")
.build();
public PersonalCalendar() throws GeneralSecurityException, IOException {
}
public void getGoogleCalendarList() throws IOException {
DateTime now = new DateTime(System.currentTimeMillis());
Events events = service.events().list("primary").setMaxResults(10)
.setTimeMin(now)
.setOrderBy("startTime")
.setSingleEvents(true)
.execute();
List<Event> eventsList = events.getItems();
if (eventsList.size() == 0) {
System.out.println("No upcoming events found.");
} else {
System.out.println("Upcoming events");
for (Event event : eventsList) {
DateTime start = event.getStart().getDateTime();
if (start == null) {
start = event.getStart().getDate();
}
System.out.printf("%s (%s)\n", event.getSummary(), start);
}
}
}
这是我的 Spring 服务器上的 PersonalCalendar.class。我尝试从我的 Google 日历获取我的 Activity 。我已经创建了一个 ServiceAccount 并授予了对我的日历的访问权限。 我的错误消息:
com.google.api.client.googleapis.json.GoogleJsonResponseException:403 禁止 { “代码”:403, “错误”:[ { “域”:“使用限制”, "message": "未经身份验证的使用已超出每日限制。继续使用需要注册。", “原因”:“dailyLimitExceededUnreg”, “扩展帮助”:“https://code.google.com/apis/console” }], "message": "超出未经身份验证使用的每日限制。继续使用需要注册。" }
我也不明白 list("primary") 通过创建我的 Event 对象来做什么。有人可以向我解释一下吗?我需要做什么才能从我的日历中获取我的 Activity ?
最佳答案
看来您没有正确处理身份验证。根据你的判断 代码我猜你读过这个:https://developers.google.com/google-apps/calendar/quickstart/java
我看不到您正在某处读取凭据文件(指南中的client_secret.json
)。您可以在 Google 开发者控制台中生成此文件。
I also don't understand what list("primary") does by the creation of my Event object. Can someone please explain this to me?
您不是在此处创建 Activity ,而是从您的服务帐户主日历中列出接下来的 10 个 Activity 。
关于java - Google 日历 API Java 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48079461/