次に示すサンプル JSON ペイロードでは、(cell ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–によって)セルの太字属性を true に設定するリクエストを行っています。その際のフィールド ãƒžã‚¹ã‚¯(fields)は、リクエストを繰り返しているようにも見えます。  
{
    "repeatCell": {
        "range": {
            "endRowIndex": 1
        },
        "cell": {
            "userEnteredFormat": {
                "textFormat": {
                    "bold": true
                }
            }
        },
        "fields": "userEnteredFormat/textFormat/bold",
    }
}

「これは冗長ではないか?」と思うかもしれません。しかし、上の例は 2 つの部分からなる点に注目してください。1)リクエストが望む変更点についてのデータを提供します。2)たとえば、1 行目のすべてのセルの userEnteredFormat/textFormat/bold å±žæ€§ã¨ã„うような形で、フィールド マスクで何をアップデートするかを指定します。もう少し明示的に説明するために、斜体のような別のマスクを追加してみましょう。これでアップデート フィールド マスクに、太字と斜体の両方のフィールドが設定されました。  
"fields": "userEnteredFormat/textFormat(bold,italic)"

ただし、フィールド マスクに両方の要素が存在しても、アップデート データを提供しているのは太字だけです。リクエスト本体には、italic ã‚’設定するデータは指定されていません。この場合、すべてのセルがリセットされます。つまり、セルがもともと斜体になっていれば、API リクエストの完了後に斜体が解除されます。逆に、最初からセルが斜体になっていない場合は、セルはそのままになります。この機能を使うと、あるセルの範囲を元に戻したり、以前の設定をリセットしたりする機能を実現できます。その他の例や、アップデート リクエストへのフィールド マスクの活用方法については、先ほどの動画をご覧ください。  
 
フィールド マスクを使って API ペイロードの部分的な応答を取得する方法の詳細については、こちらの動画や 2 回シリーズの 1 回目の投稿をご覧ください。両方(読み取りおよびアップデート)のユースケースに関する総合的な記事については、Google Slides API ドキュメントのガイドをご覧ください。 ぜひフィールド ãƒžã‚¹ã‚¯ã‚’お楽しみください!  
 
 
Posted by Eiji Kitamura - Developer Relations Team

もちろん、API を使ってスプレッドシートのフィルタの追加、更新、削除もできます。これは、特定のステータスを持つ行をすばやくユーザーに表示したい場合に便利です。ワークフローの承認アドオンを構築する場合の例をあげれば、承認待ちの行のみをユーザーに表示できます。下のスニペットは、指定されたスプレッドシートにリクエストされたフィルタを適用するものです。API ドキュメントでは、これを標準基本フィルタ オブジェクトと呼んでいます。

function setSheetBasicFilter(ssId, BasicFilterSettings) {
  //requests is an array of batchrequests, here we only use setBasicFilter
  var requests = [
    {
      "setBasicFilter": {
        "filter": BasicFilterSettings
      }
    }
  ];
  Sheets.Spreadsheets.batchUpdate({'requests': requests}, ssId);
}

Yet Another Mail Merge などの大量メールツールは、メールの送信、オープン、クリックをトラッキングしています。トラッキング レポートはスプレッドシートのサイドバーから利用でき、オープンされたメールの数をクリックすると、自動的にフィルタが適用されて、ステータスが「opened」の行のみが表示されるようになります。


スプレッドシートに適用されるフィルタは、直接 Sheets API から制御したり、Apps Script アプリと Advanced Sheets Service を使ったアドオンから制御できます。ぜひこの機能を使って最高のユーザー エクスペリエンスを提供してください。

投稿者について 

Romain Vialard は、Google Developer エキスパートです。数年間を G Suite コンサルタントとして過ごし、現在は、Yet Another Mail Merge や Form Publisher などのアドオンを含む G Suite および Google Apps ユーザー向けの製品に注力しています。

Bruce Mcpherson ã¯、Google Developer エキスパート、独立コンサルタント、ブロガーで、Going GAS や Google Apps Script for BeginnersGoogle Apps Script for Developers の作者でもあります。


Posted by Eiji Kitamura - Developer Relations Team