通过Java使用Google API获取Google Calendar ID的步骤如下:
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.31.0</version>
</dependency>
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client-jetty</artifactId>
<version>1.31.0</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-calendar</artifactId>
<version>v3-rev305-1.25.0</version>
</dependency>
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.CalendarScopes;
import com.google.api.services.calendar.model.CalendarList;
import com.google.api.services.calendar.model.CalendarListEntry;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Collections;
import java.util.List;
public class GoogleCalendarExample {
private static final String APPLICATION_NAME = "Your Application Name";
private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
private static final List<String> SCOPES = Collections.singletonList(CalendarScopes.CALENDAR_READONLY);
private static final String CREDENTIALS_FILE_PATH = "/path/to/your/credentials.json";
public static void main(String[] args) throws IOException, GeneralSecurityException {
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = GoogleCredential.fromStream(new FileInputStream(CREDENTIALS_FILE_PATH))
.createScoped(SCOPES);
Calendar service = new Calendar.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();
CalendarList calendarList = service.calendarList().list().execute();
List<CalendarListEntry> items = calendarList.getItems();
for (CalendarListEntry calendar : items) {
System.out.println("Calendar ID: " + calendar.getId());
}
}
}
请注意,你需要将APPLICATION_NAME
替换为你的应用程序名称,并将CREDENTIALS_FILE_PATH
替换为你下载的JSON密钥文件的路径。
这段代码将使用Google API客户端库创建一个Calendar服务实例,并获取当前用户的所有日历列表。然后,它将打印每个日历的ID。
领取专属 10元无门槛券
手把手带您无忧上云