最良の結果を得るためのベスト プラクティス

Google Docs API を使用する際には、いくつかの原則に従う必要があります。 指標には以下が含まれます。

  • 逆方向編集で効率を上げる
  • コラボレーションの計画
  • モジュールを使用して状態の整合性を確保するには、 WriteControl フィールド
  • タブを考慮する

以降のセクションでは、これらの原則について説明します。

逆方向編集で効率を上げる

1 回の呼び出しで、 documents.batchUpdate リクエストの順序は、 インデックス位置の降順。これにより、事前トレーニング済みモデルの 削除によるインデックスの変更を防止できます。

コラボレーションの計画

ドキュメントの状態が変わることが想定されます。あるメソッド呼び出しと別のメソッド呼び出しの間で 次の図のように、共同編集者がドキュメントを更新する場合があります。

メソッド呼び出し間でドキュメントが変更される方法。

インデックスが間違っていると、エラーが発生する可能性があります。複数のユーザーが 作成しても、Google ドキュメントではこの処理が透過的に行われます。ただし、 API クライアントとしてアプリで管理する必要があります。たとえ予測が ドキュメントでの共同作業を進めるためには、防御態勢を築き、 ドキュメントの状態が一定に保たれます。一貫性を確保する方法の一つとして WriteControl セクションを確認してください。

WriteControl を使用して状態の一貫性を確立する

ドキュメントを読んだ後に更新する場合、 競合する変更を処理するには、 WriteControldocuments.batchUpdate メソッドの)フィールドで指定する必要があります。WriteControl はオーソリティを提供します 書き込みリクエストの実行方法を 管理できます

使い方は次のとおりです。

  1. 次を使用してドキュメントを取得します。 documents.get メソッドを使用して保存し、 revisionId (返された documents リソースから)。
  2. 更新リクエストを作成します。
  3. オプションの WriteControl を含めます。 次の 2 つのオプションのいずれかを指定できます。
    1. requiredRevisionId フィールドは、次のトークンの revisionId に設定されます。 適用されるドキュメントです。ドキュメントが変更されている場合 API 読み取りリクエストなので、書き込みリクエストは処理されず、 エラーが返されます。
    2. targetRevisionId フィールドがドキュメントの revisionId に設定されている 適用されます。変更後にドキュメントが変更されている場合、 API 読み取りリクエストを行うと、書き込みリクエストの変更は 変更が反映されます。書き込みリクエストの結果には、 書き込みリクエストが変更され、共同編集者が新しい あります。ドキュメント サーバーは コンテンツの結合を行います

WriteControl を使用してバッチ リクエストを作成する方法の例については、以下をご覧ください。 こちらのバッチ リクエストの例をご覧ください。

タブを考慮する

1 つのドキュメントに複数のタブを含めることができ、 API リクエストで特定の処理を行う必要があります。

次の点にご注意ください。

  1. 次のコマンドで、includeTabsContent パラメータを true に設定します。 documents.get メソッドを使用して、 ドキュメント内のすべてのタブからコンテンツを取得する。デフォルトでは、一部のタブは 内容が返されます。
  2. Request を適用するタブの ID を指定します (documents.batchUpdate) メソッドを呼び出します。各 Request には、更新を適用するタブを指定する方法が含まれています。デフォルトでは、 タブが指定されていない場合、Request 通常はドキュメントの最初のタブに適用されます。詳しくは、 Request 秒 ドキュメントをご覧ください