データ複製手順
次に、オブジェクトの一般的なデータ複製手順を示します。
- (必要に応じて実行) 直近の複製要求以降、オブジェクトの構造が変更されたかどうかを確認します (「オブジェクトの構造変更のチェック」を参照)。
-
getUpdated() をコールし、データを取得するオブジェクトと期間を渡します。
getUpdated() は、ログインユーザがアクセス権限を持つデータの ID を取得します。ユーザの共有モデル外のデータは取得されません。API は、ユーザが参照可能なオブジェクトの中で変更されたすべてのオブジェクトの ID を、変更内容に関わらず返します。ID については、「ID データ型」を参照してください。
- すべての ID を配列に挿入します。配列の各 ID 要素に対し、retrieve() をコールして関連するオブジェクトから必要な最新情報を取得します。その後、新しい行の挿入や既存の行の最新情報への更新などローカルデータに適切な処理を行います。
- getDeleted() をコールし、データを取得するオブジェクトと期間を渡します。getUpdated() と同様に、getDeleted() は、ログインユーザがアクセス権限を持つデータの ID を取得します。ユーザの共有モデル外のデータは取得されません。API は、ユーザが参照可能なオブジェクトの中で変更されたすべてのオブジェクトの ID を、変更内容に関わらず、使用可能な場合は SystemModstamp 項目情報に基づいて返します。ID については、「ID データ型」を参照してください。
- ID の配列すべてに対して反復処理を行います。その後、クライアントアプリケーションは削除されたオブジェクトをローカルデータからも削除 (または削除済みのフラグを設定) し、適切な処理を行います。クライアントアプリケーションが、取得したオブジェクト ID に一致する行をローカルデータに見つけられなかった場合、ローカルデータの行が削除されているか、作成されていなかったということになり、処理は実行されません。
- 必要に応じて、今後の参照のために要求の期間を保存します。これは、getDeleted() の latestDateCovered 値または getUpdated() の latestDateCovered 値を使用して行うことができます。