1

我在问是否可以检索使用 Java 中的 Google Hangout Meet API 完成的会议列表?谷歌搜索后,我无法弄清楚。

更新 - 1:使用谷歌日历,我做了:

        Calendar service = getCalendarService();
        List<Event> items = new ArrayList<Event>();
        String pageToken = null;
        do {
          Events events = service.events().list("service-account-esprit@my-first-project-2587777.iam.gserviceaccount.com").setPageToken(pageToken).execute();
          items = events.getItems();
          for (Event event : items) {
            System.out.println(event.getSummary());
          }
          pageToken = events.getNextPageToken();
        } while (pageToken != null);

getCredentials()方法是:

public static Credential getCredentials() throws IOException
{
    java.io.File clientSecretFilePath = new java.io.File(CREDENTIALS_FOLDER, CLIENT_SECRET_FILE_NAME);

    InputStream in = new FileInputStream(clientSecretFilePath);
    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

    SCOPES.add(CalendarScopes.CALENDAR_READONLY);

    GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES).setDataStoreFactory(DATA_STORE_FACTORY).setAccessType("offline").build();
    Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");

    return credential;
}

更新 - 2

所以,我错过了启用 G Suite 域范围委派。我修复了该捕获所呈现的问题, 我将旧的credentials.json替换为my-first-project-274515-ba944be8b749.json(创建服务帐户后生成的文件)。

然后,我做了 Events events = service.events().list("service-account-esprit@my-first-project-2587777.iam.gserviceaccount.com").setPageToken(pageToken).execute();

我与service-account-esprit@my-first-project-2587777.iam.gserviceaccount.com共享日历

我也启用了 Google 日历 API。

但我得到了那个例外:

com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:108) 在 com.google.api.client.util 的线程“main”java.lang.IllegalArgumentException 中的异常.Preconditions.checkArgument(Preconditions.java:37) 在 com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets.getDetails(GoogleClientSecrets.java:82) 在 com.google.api.client.googleapis.auth.oauth2 .GoogleAuthorizationCodeFlow$Builder.(GoogleAuthorizationCodeFlow.java:197) 在 tn.esprit.spring.google.calendar.Calendar_Utils.getCredentials(Calendar_Utils.java:75) 在 tn.esprit.spring.google.calendar.Calendar_Utils.getCalendarService(Calendar_Utils. java:87) 在 tn.esprit.spring.google.calendar.Calendar_Utils.main(Calendar_Utils.java:95)

--> 我有错误, GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES).setDataStoreFactory(DATA_STORE_FACTORY).setAccessType("offline").build(); 我无法弄清楚。你能告诉我我错过了什么吗?任何建议表示赞赏。非常感谢。

4

1 回答 1

2

你可以试试:

Events events = service.events().list(user@entreprise.tn)
                .setOrderBy("startTime")
                .setSingleEvents(true)
                .execute();

HTH。

于 2020-04-20T13:39:42.807 回答