0

次のコードを使用して、TMS Cloud コンポーネントを使用して Google カレンダーに新しいエントリを追加します データベースのテーブルに新しいエントリがあり、それらが追加されます OK しかし、エントリも更新できるようにしたいのですが、についてのヘルプが見つかりません。コントロールに付属しているデモにはオプションがありますが、カレンダーからすべてのエントリをロードして、そこで編集するものを選択したくありません。与えられたある種の 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;
4

1 に答える 1

0

問題は、使用していたコンポーネントのバージョンにエラーがあり、ID が正常に返されなかったという事実に関連していました。

新しいバージョンにアップグレードするとこれが修正されたため、現在は機能しています。

于 2013-09-06T11:34:14.147 に答える