• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 适用于 iOS 的 Google Calendar API 返回BirthDays?

[复制链接]
菜鸟教程小白 发表于 2022-12-11 17:21:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试从适用于 iOS 应用程序的 Google Calendar API 获取生日。现在我可以从 Google 日历中获取事件了。

- (void)fetchEvents {
GTLQueryCalendar *query = [GTLQueryCalendar queryForEventsListWithCalendarId"primary"];
query.maxResults = 10;
query.timeMin = [GTLDateTime dateTimeWithDate:[NSDate date]
                                     timeZone:[NSTimeZone localTimeZone]];;
query.singleEvents = YES;
query.orderBy = kGTLCalendarOrderByStartTime;

[self.service executeQuery:query
                  delegate:self
         didFinishSelectorselector(displayResultWithTicket:finishedWithObject:error];}

- (void)displayResultWithTicketGTLServiceTicket *)ticket
         finishedWithObjectGTLCalendarEvents *)events
                      errorNSError *)error {
    if (error == nil) {
        NSMutableString *eventString = [[NSMutableString alloc] init];
        if (events.items.count > 0) {
            for (GTLCalendarEvent *event in events) {
                GTLDateTime *start = event.start.dateTime ?: event.start.date;
                NSString *startString =
                [NSDateFormatter localizedStringFromDate:[start date]
                                               dateStyle:NSDateFormatterShortStyle
                                               timeStyle:NSDateFormatterShortStyle];
                [eventString appendFormat"\n  %@\n  %@\n\n%@\n", event.summary, startString, event.descriptionProperty];

            }
        } else {
            [eventString appendString"No upcoming events found."];
        }

        NSLog(@"eventString %@",eventString);

    } else {
        [self showAlert"Error" message:error.localizedDescription];
    }
}

如何从适用于 iOS 的 Google Calendar API 获取生日。 我已经阅读了 Google Calendar API 的文档: https://developers.google.com/google-apps/calendar/quickstart/ios



Best Answer-推荐答案


我以前做过这方面的工作,这就是我发现的。虽然默认情况下存在,但生日事件没有有效的“eventID”,看起来像 2016_BIRTHDAY_self(今年),所以当你使用 Events: list 获取它时,不返回任何内容。您必须先添加它:

在您的 Google 日历上:

  1. 点击默认birthday icon在您的日历中。
  2. 点击“复制到我的日历”。
  3. 这将打开事件 UI。您可以在说明中添加其他详细信息。然后保存。

现在,一个重复的生日事件已添加到您的日历中,但这次它有一个有效的 eventID。因此,当您使用 Events:list 调用另一个电话时,它会 returns the event .

如何在 iOS 中做到这一点?

URI 请求:

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events

您可以use NSURLConnection :

// Create the request.
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString"http://google.com"]];

// Create url connection and fire request
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];

使用 People API 获得生日:

1.在 Google+ 中将您的生日设为公开 Basic Information通过勾选“显示出生年份”

  1. 利用 People API URI 请求:

    获取 https://www.googleapis.com/plus/v1/people/userId

使用 Try-it现在用参数测试它:

userId -> me
fields -> birthday
Authorize and Execute.

关于ios - 适用于 iOS 的 Google Calendar API 返回BirthDays?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39132020/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap