使用TMS Cloud组件更新现有的Google日历条目

时间:2013-08-19 16:54:12

标签: delphi google-calendar-api sync tms

我使用以下代码使用TMS Cloud组件向我的Google日历添加新条目 我在数据库的表中有新条目,并添加它们 但我希望能够更新一个条目,但我无法找到任何帮助。 随控件提供的演示有选项,但我不想从日历中加载所有条目并选择要在那里编辑的条目。我想保存它给出的某种entryID并使用它来更新。 DevExpress有一个选项,可以让你与Outlook日历同步一个表(非常好),所以我认为应该可以使用TMS

问题是:如何在创建日历条目时获取日历条目的ID,以便我可以将其与表中的记录一起存储,然后再使用它进行更新?

var
  ci: TGCalendarItem;
begin
      AdvGCalendar.App.Key    := Settings.Google.Key;
      AdvGCalendar.App.Secret := Settings.Google.Secret;
      AdvGCalendar.Logging := true;

      if not AdvGCalendar.TestTokens then
        AdvGCalendar.RefreshAccess;

      if not AdvGCalendar.TestTokens then
        AdvGCalendar.DoAuth
      else
        Connected := True;

      ci := AdvGCalendar.Items.Add;

      AdvGCalendar.GetCalendars();
      ci.CalendarID := Settings.Google.Calendar;
      if ci.CalendarID <> '' then
        begin
          ci.Location     := CiLocation;
          ci.Description  := CiDescription;
          ci.Summary      := CiSummary;
          ci.StartTime    := EncodeDateTime(YearOf(StartDate), MonthOf(StartDate), DayOf(StartDate), HourOf(StartTime), MinuteOf(StartTime), 0, 0);
          ci.EndTime      := EncodeDateTime(YearOf(StopDate), MonthOf(StopDate), DayOf(StopDate), HourOf(StopTime), MinuteOf(StopTime), 0, 0);
          ci.IsAllDay     := False;
          ci.Visibility   := viPrivate;
          AdvGCalendar.Add(ci);
        end;
end;

1 个答案:

答案 0 :(得分:0)

问题与我使用组件的版本中存在错误这一事实有关,因此ID未返回OK。

升级到更新的版本修复此问题,现在它正在运行。