繁体   English   中英

Google Calendar API Java 403

[英]Google Calendar API Java 403

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日历获取我的活动。 我已经建立了一个ServiceAccount并可以访问我的日历。 我的错误讯息:

com.google.api.client.googleapis.json.GoogleJsonResponseException:403禁止{“代码”:403,“错误”:[{“域”:“ usageLimits”,“消息”:“对未经身份验证的使用的每日限制已超过。续使用需要注册。“,”原因“:” dailyLimitExceededUnreg“,” extendedHelp“:” https://code.google.com/apis/console “}],”消息“:”未经身份验证的使用的每日限制已超过。继续使用需要注册。” }

我也无法通过创建Event对象来了解list(“ primary”)的功能。 有人可以向我解释一下吗? 我该怎么做才能从日历中获取事件?

看来您未正确处理身份验证。 根据您的代码判断,我想您会读到以下内容: https : //developers.google.com/google-apps/calendar/quickstart/java

我看不到您正在某处读取凭证文件(指南中的client_secret.json )。 您可以在Google Developer Console中生成此文件。

我也无法通过创建Event对象来了解list(“ primary”)的功能。 有人可以向我解释一下吗?

您不是要在此处创建活动,而是要列出服务帐户主日历中的下10个事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM