如何使用 Google Calendar API iOS Swift 创建事件
Posted
技术标签:
【中文标题】如何使用 Google Calendar API iOS Swift 创建事件【英文标题】:How to Create events using Google Calendar API iOS Swift 【发布时间】:2016-05-04 07:41:48 【问题描述】:我想开发一个演示应用程序,它将使用我的应用程序创建事件,使用 Google Calendar API 存储它,然后获取所有数据并提供提醒。我已经提到这个link 来获取数据和设置,但我不知道如何创建事件。谁能指导我如何做到这一点?我搜索了很多使用 ios 创建事件的方法,但我没有得到任何对 Google Calendar API 有用的东西,我找到了所有使用 EventKit 框架的东西。
请帮助我。 谢谢。
【问题讨论】:
不。我可以使用此链接获取数据。但我想从我的应用程序创建事件。我不知道该怎么做 实际上,除非你不知道自己哪里出错了,否则没人能帮上忙。它是您所关注的谷歌开发人员形式,并且大多数情况下在他们的形式中没有任何问题的迹象。因此,请使用您作为链接提供的 Google 表单上的可用步骤来交叉检查您的步骤! 我对该代码没有任何问题。该代码用于从谷歌日历 API 获取事件,并且运行良好。我要求我想使用我的 iOS 应用程序创建和注册事件。 【参考方案1】:我找到了一个教程:"iOS SDK: Working with Google Calendars",在本教程中,他们提供了有关下载日历以及创建带有描述和日期/时间的新事件的见解。
关于我们的应用程序结构,基本视图将是一个表格视图,其中包含用于设置以下数据的三个部分:
事件描述 事件日期/时间 目标日历
添加事件的代码示例(Objective C):
// Create the URL string of API needed to quick-add the event into the Google calendar.
// Note that we specify the id of the selected calendar.
NSString *apiURLString = [NSString stringWithFormat:@"https://www.googleapis.com/calendar/v3/calendars/%@/events/quickAdd",
[_dictCurrentCalendar objectForKey:@"id"]];
// Build the event text string, composed by the event description and the date (and time) that should happen.
// Break the selected date into its components.
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents = [[NSCalendar currentCalendar] components:NSDayCalendarUnit|NSMonthCalendarUnit|NSYearCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit
fromDate:_dtEvent];
if (_isFullDayEvent)
// If a full-day event was selected (meaning without specific time), then add at the end of the string just the date.
_strEventTextToPost = [NSString stringWithFormat:@"%@ %d/%d/%d", _strEvent, [dateComponents month], [dateComponents day], [dateComponents year]];
else
// Otherwise, append both the date and the time that the event should happen.
_strEventTextToPost = [NSString stringWithFormat:@"%@ %d/%d/%d at %d.%d", _strEvent, [dateComponents month], [dateComponents day], [dateComponents year], [dateComponents hour], [dateComponents minute]];
// Show the activity indicator view.
[self showOrHideActivityIndicatorView];
// Call the API and post the event on the selected Google calendar.
// Visit https://developers.google.com/google-apps/calendar/v3/reference/events/quickAdd for more information about the quick-add event API call.
[_googleOAuth callAPI:apiURLString
withHttpMethod:httpMethod_POST
postParameterNames:[NSArray arrayWithObjects:@"calendarId", @"text", nil]
postParameterValues:[NSArray arrayWithObjects:[_dictCurrentCalendar objectForKey:@"id"], _strEventTextToPost, nil]];
我认为您可以从 iOS Quickstart Google 中开始的内容实现这一点。
我希望这会有所帮助。祝你好运:)
【讨论】:
感谢您的帮助,但实际上我看到了这个链接,它在目标 C 中。我不知道如何将目标 C 代码转换为 swift。你能帮我吗?@Mr.转机 @Mr.Rebot 我有一些疑问。实际上我也在处理谷歌日历活动。我的疑问是我给了客户 ID 硬代码。但我需要动态传递客户端 ID。那么如何动态传递客户端ID。例如,用户必须在我的应用程序中登录谷歌。然后我需要显示他的相关事件。另一个用户登录同一个手机。然后我需要显示他的相关事件。所以我们需要动态生成客户端ID。这件事怎么办??请你指导我 我实现了谷歌日历的示例代码,它工作正常,但我将如何进一步通过我的应用程序在谷歌日历中创建事件【参考方案2】:首先您必须创建一个公共 API,并且获取是关键。并使用以下代码设置其网址
let url = NSURL(string: "https://www.googleapis.com/calendar/v3/calendars/email.gmail.com/events?maxResults=15&key=APIKey-here")
它适合你
【讨论】:
有教程可以参考吗?以上是关于如何使用 Google Calendar API iOS Swift 创建事件的主要内容,如果未能解决你的问题,请参考以下文章
Google Calendar API - 创建事件 PHP
Google Calendar API,如何添加带有附加新生成的google meet的事件?
Google Calendar API 日历 ID 和事件 ID
Google Calendar API eventResponse.getHtmlLink() - 如何获取允许“添加视频通话”的事件 url