Список событий календаря Google после аутентификации Oauth2

У меня проблема, когда мне нужно вернуть текущее событие, указанное в чьем-то календаре Google по умолчанию, возможно, на неделю. Ниже я привел лучший пример кода, который смог найти, но в нем нет ничего, что указывало бы на вызов Oauth2. Кроме того, я получаю ошибку для службы. но я не могу найти ничего, что могло бы ссылаться на него, включая объект accessProtectedResource.

Может ли кто-нибудь объяснить, какой должна быть служба, или ссылку на пример, который даст мне события календаря после вызова Oauth2?

CalendarList calendarList = service.calendarList().list().execute();

    while (true) {
      for (CalendarListEntry calendarListEntry : calendarList.getItems()) {
        System.out.println(calendarListEntry.getSummary());
      }
      String pageToken = calendarList.getNextPageToken();
      if (pageToken != null && !pageToken.isEmpty()) {
        calendarList =     service.calendarList().list().setPageToken(pageToken).execute();
      } else {
        break;
      }
    }

person Tequila    schedule 06.07.2012    source источник


Ответы (2)


Мне потребовалось некоторое время, чтобы получить это, так как есть документация Google, но в ней есть ошибка.

Calendar service3 = new Calendar(transport, jsonFactory, accessProtectedResource);

com.google.api.services.calendar.model.Calendar calendar = service3.calendars().get("primary").execute();
com.google.api.services.calendar.model.Events events = service3.events().list("primary").execute(); 
person Tequila    schedule 11.07.2012

Вы можете обратиться

https://developers.google.com/google-apps/calendar/v1/developers_guide_java

Отображение Календаря Google в Java JFrame

https://developers.google.com/google-apps/calendar/v2/developers_guide_java

Код что-то вроде этого

// Create a CalenderService and authenticate
CalendarService myService = new CalendarService("exampleCo-exampleApp-1");
myService.setUserCredentials("[email protected]", "mypassword");

// Send the request and print the response
URL feedUrl = new URL("https://www.google.com/calendar/feeds/default/allcalendars/full");
CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);
System.out.println("Your calendars:");
System.out.println();
for (int i = 0; i<resultFeed.getEntries().size(); i++) {
  CalendarEntry entry = resultFeed.getEntries().get(i);
  System.out.println("\t" + entry.getTitle().getPlainText());
}
person Rahul Agrawal    schedule 06.07.2012
comment
Использует ли это Oauth2? Как бы я передал токен вместо имени пользователя/пароля? - person Tequila; 06.07.2012
comment
Я нашел ссылку, указанную ниже, но я до сих пор понятия не имею, что такое сервис или что он делает? Я считаю, что это связано с Oauth, но я не уверен, как это сделать. stackoverflow.com/questions/8597634/ - person Tequila; 06.07.2012