gpt4 book ai didi

ios - 想在谷歌日历中添加事件

转载 作者:行者123 更新时间:2023-11-28 06:32:49 24 4
gpt4 key购买 nike

我想在不使用任何第三方的情况下在谷歌日历中插入事件。如果有人知道,请帮助我。提前致谢。

最佳答案

您想在谷歌日历中添加一些事件,您可以使用以下谷歌 API 库来完成此操作:我使用以下库将事件发布到谷歌日历。

https://github.com/google/google-api-objectivec-client-for-rest

他们给出了使用代码将事件添加到谷歌日历的简要说明。 #pragma mark 添加、编辑和删除事件

- (void)addAnEvent {
// Make a new event, and show it to the user to edit
GTLRCalendar_Event *newEvent = [GTLRCalendar_Event object];
newEvent.summary = @"Sample Added Event";
newEvent.descriptionProperty = @"Description of sample added event";

// We'll set the start time to now, and the end time to an hour from
now,
// with a reminder 10 minutes before
NSDate *anHourFromNow = [NSDate dateWithTimeIntervalSinceNow:(60 * 60)];

// Include an offset minutes that tells Google Calendar that these
dates
// are for the local time zone.
NSInteger offsetMinutes = [NSTimeZone localTimeZone].secondsFromGMT / 60;

GTLRDateTime *startDateTime = [GTLRDateTime dateTimeWithDate:[NSDate date]offsetMinutes:offsetMinutes];
GTLRDateTime *endDateTime = [GTLRDateTime dateTimeWithDate:anHourFromNow
offsetMinutes:offsetMinutes];

newEvent.start = [GTLRCalendar_EventDateTime object];
newEvent.start.dateTime = startDateTime;

newEvent.end = [GTLRCalendar_EventDateTime object];
newEvent.end.dateTime = endDateTime;

GTLRCalendar_EventReminder *reminder = [GTLRCalendar_EventReminder
object];
reminder.minutes = @10;
reminder.method = @"email";

newEvent.reminders = [GTLRCalendar_Event_Reminders object];
newEvent.reminders.overrides = @[ reminder ];
newEvent.reminders.useDefault = @NO;
[self addEvent:event];}

- (void)addEvent:(GTLRCalendar_Event *)event {
GTLRCalendarService *service = self.calendarService;
GTLRCalendar_CalendarListEntry *selectedCalendar = [self
selectedCalendarListEntry];
NSString *calendarID = selectedCalendar.identifier;

GTLRCalendarQuery_EventsInsert *query =
[GTLRCalendarQuery_EventsInsert queryWithObject:event
calendarId:calendarID];
self.editEventTicket = [service executeQuery:query
completionHandler:^(GTLRServiceTicket
*callbackTicket,
GTLRCalendar_Event *event,
NSError *callbackError) {
// Callback
self.editEventTicket = nil;
if (callbackError == nil) {
[self displayAlert:@"Event Added"
format:@"Added event \"%@\"",
event.summary];
[self fetchSelectedCalendar];
} else {
[self displayAlert:@"Add failed"
format:@"Event add failed: %@", callbackError];
} }];

}

- (void)editSelectedEvent {
// Show the selected event to the user to edit
GTLRCalendar_Event *eventToEdit = [self selectedEvent];
if (eventToEdit) {
EditEventWindowController *controller = [[EditEventWindowController
alloc] init];
[controller runModalForWindow:self.window
event:eventToEdit
completionHandler:^(NSInteger returnCode,
GTLRCalendar_Event *event) {
// Callback
if (returnCode == NSModalResponseOK) {
[self editSelectedEventWithEvent:event];
}
}];
}
}

关于ios - 想在谷歌日历中添加事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39829301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com