問題通過使用Google Calendar API V3解決。我從this post發現的想法。 假期可以從谷歌的默認假日日曆中獲得。
默認假期日曆的ID列表可以發現here,支持40個國家。
一塊的代碼,處理許可,並得到節日列表: -
com.google.api.services.calendar.Calendar client = null;
credential = GoogleAccountCredential.usingOAuth2(mContext, CalendarScopes.CALENDAR);
credential.setSelectedAccountName(mList.get(0));
client = getCalendarService(credential);
do {
com.google.api.services.calendar.model.Events events;
events = client.events().list("en.usa#[email protected]").setPageToken(pageToken).execute();
onHolidayChecked(events.getItems()); //result return here (events.getItems())
pageToken = events.getNextPageToken();
} while (pageToken != null);
private com.google.api.services.calendar.Calendar getCalendarService(GoogleAccountCredential credential) {
return new com.google.api.services.calendar.Calendar.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential).build();
}
它可以做同樣的事情用JavaScript? –
@Vitor格雷羅它是某種谷歌API的,所以我認爲這是可能的 – Dolphin
我收到此錯誤com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException,我也看着谷歌,這是否需要一個谷歌項目鏈接到應用程序才能獲取數據? – BennyKok