高度なドキュメント サービスを使用すると、Apps Script で Google Docs API を使用できます。Apps Script に組み込まれている Google ドキュメント サービスと同様に、この API を使用すると、スクリプトで Google ドキュメントの内容の読み取り、編集、書式設定を行うことができます。ほとんどの場合、組み込みサービスの方が使いやすいですが、この高度なサービスにはいくつかの追加機能が用意されています。
リファレンス
このサービスの詳細については、Docs API のリファレンス ドキュメントをご覧ください。 Apps Script のすべての高度なサービスと同様に、高度なドキュメント サービスでも公開 API と同じオブジェクト、メソッド、パラメータを使用します。詳細については、メソッド シグネチャの決定方法をご覧ください。
問題を報告したり、その他のサポートを利用したりするには、Docs API サポートガイドをご覧ください。
サンプルコード
以下のサンプルコードでは、バージョン 1 の API を使用しています。
ドキュメントの作成
このサンプルでは新しいドキュメントを作成します。
テキストの検索や置換
このサンプルでは、ドキュメント内のテキストペアを検索して置換します。これは、テンプレート ドキュメントのコピー内のプレースホルダをデータベースの値に置き換える場合に便利です。
テキストの挿入とスタイル設定
このサンプルでは、ドキュメントの先頭に新しいテキストを挿入し、特定のフォントとサイズを使用している場合はスタイルを設定します。可能であれば、効率を上げるために複数のオペレーションを 1 つの batchUpdate
呼び出しにまとめるようにしてください。
第 1 段落を読み上げる
このサンプルでは、ドキュメントの最初の段落のテキストを記録します。ドキュメント API では段落の構造が構造化されているため、複数のサブ要素のテキストを結合する必要があります。
ベスト プラクティス
バッチ アップデート
高度なドキュメント サービスを使用する場合は、batchUpdate
をループで呼び出すのではなく、複数のリクエストを 1 つの配列に結合します。
しない - batchUpdate
をループで呼び出します。
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
Docs.Documents.batchUpdate({
requests: [{
replaceAllText: ...
}]
}, docId);
}
推奨 - 更新の配列を指定して batchUpdate
を呼び出します。
var requests = [];
var textToReplace = ['foo', 'bar'];
for (var i = 0; i < textToReplace.length; i++) {
requests.push({ replaceAllText: ... });
}
Docs.Documents.batchUpdate({
requests: requests
}, docId);