Google Docs API を使用する際には、いくつかの原則に従う必要があります。 指標には以下が含まれます。
- 逆方向編集で効率を上げる
- コラボレーションの計画
- モジュールを使用して状態の整合性を確保するには、
WriteControl
フィールド - タブを考慮する
以降のセクションでは、これらの原則について説明します。
逆方向編集で効率を上げる
1 回の呼び出しで、
documents.batchUpdate
リクエストの順序は、
インデックス位置の降順。これにより、事前トレーニング済みモデルの
削除によるインデックスの変更を防止できます。
コラボレーションの計画
ドキュメントの状態が変わることが想定されます。あるメソッド呼び出しと別のメソッド呼び出しの間で 次の図のように、共同編集者がドキュメントを更新する場合があります。
インデックスが間違っていると、エラーが発生する可能性があります。複数のユーザーが
作成しても、Google ドキュメントではこの処理が透過的に行われます。ただし、
API クライアントとしてアプリで管理する必要があります。たとえ予測が
ドキュメントでの共同作業を進めるためには、防御態勢を築き、
ドキュメントの状態が一定に保たれます。一貫性を確保する方法の一つとして
WriteControl
セクションを確認してください。
WriteControl を使用して状態の一貫性を確立する
ドキュメントを読んだ後に更新する場合、
競合する変更を処理するには、
WriteControl
(documents.batchUpdate
メソッドの)フィールドで指定する必要があります。WriteControl
はオーソリティを提供します
書き込みリクエストの実行方法を
管理できます
使い方は次のとおりです。
- 次を使用してドキュメントを取得します。
documents.get
メソッドを使用して保存し、revisionId
(返されたdocuments
リソースから)。 - 更新リクエストを作成します。
- オプションの
WriteControl
を含めます。 次の 2 つのオプションのいずれかを指定できます。 <ph type="x-smartling-placeholder">- </ph>
requiredRevisionId
フィールドは、次のトークンのrevisionId
に設定されます。 適用されます。ドキュメントが変更されている場合 API 読み取りリクエストなので、書き込みリクエストは処理されず、 エラーが返されます。targetRevisionId
フィールドがドキュメントのrevisionId
に設定されている 適用されます。変更後にドキュメントが変更されている場合、 API 読み取りリクエストを行うと、書き込みリクエストの変更は 変更が反映されます。書き込みリクエストの結果には、 書き込みリクエストが変更され、共同編集者が新しい 表示されます。ドキュメント サーバーは コンテンツの結合を行います
WriteControl
を使用してバッチ リクエストを作成する方法の例については、以下をご覧ください。
こちらのバッチ リクエストの例をご覧ください。
タブを考慮する
1 つのドキュメントに複数のタブを含めることができ、 API リクエストで特定の処理を行う必要があります。
次の点にご注意ください。
- 次のコマンドで、
includeTabsContent
パラメータをtrue
に設定します。documents.get
メソッドを使用して、 ドキュメント内のすべてのタブからコンテンツを取得する。デフォルトでは、一部のタブは 内容が返されます。 - 各
Request
を適用するタブの ID を指定します (documents.batchUpdate
) メソッドを呼び出します。各Request
には、更新を適用するタブを指定する方法が含まれています。デフォルトでは、 タブが指定されていない場合、Request
通常はドキュメントの最初のタブに適用されます。詳しくは、Request
秒 ドキュメントをご覧ください