すぐに始められる!GASでAPIを呼び出しする基本と注意点


GASでAPIの呼び出しをする方法
GASを使ってAPIを呼び出すためには、UrlFetchAppという便利なクラスを使う。
Google Apps Scriptの中で、外部サービスと通信するためのものだ。
こんな感じで、外部APIにアクセスできるぞ。
function fetchAPI() {
const url = 'https://api.example.com/data';
const response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
単純にURLを指定し、その結果を取得してログに出力するだけのコードさ。
これがAPI呼び出しの基本だ。
たとえば、Cat Facts API(猫の豆知識)を使ってみようか。
function fetchAPI() {
const url = 'https://catfact.ninja/fact';
const response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
これをGASで実行すれば、次のような猫の豆知識のレスポンスが返ってくるだろう。
{“fact”:”Cats lap liquid from the underside of their tongue, not from the top.”,”length”:69}
GASでAPIを呼び出す際の注意点
以上で基本は習得できたはずだ。次はGASでAPI利用するにあたっての注意点を知っておこう。
APIの呼び出し制限
残念ながら、GASでAPIを無限に呼び出せない。次の表のような制限があることを覚えておこう。
項目 | 個人アカウント(無料) | Google Workspace(有料ドメイン) |
---|---|---|
URL Fetch 呼び出し回数 | 20,000 回 / 日 | 100,000 回 / 日 |
1分あたりの呼び出し数 | 約100回程度が目安 | 少し余裕あり |
スクリプト実行時間 | 6分/回 | 30分/回 |
総スクリプト実行時間(/日) | 90分程度 | 6時間程度 |
API呼び出しの回数制限を避けるためには、呼び出し頻度を調整したり、利用したいAPIに対して適切なプランを選ぶことが重要だ。
GASで外部APIを呼び出すセットアップ
外部API呼び出しのために準備が必要なこともある!
たとえば、APIキーが必要なケースだ。
その場合、リクエストの設定が重要で、以下のようにGETメソッド、ヘッダーを指定するぞ。
function advancedFetchAPI() {
const url = 'https://api.example.com/data';
const options = {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
};
const response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
}
これはヘッダーとしてAPIトークンを渡す例だ。
練習問題
- GASでAPIを呼び出す際に使用するクラスは何でしょうか?
- 外部APIを呼び出すためには何が必要ですか?スクリプトで示してください。
- API呼び出しの際にはどのような制限があるでしょうか?
解答・解説
問題1の解答
GASでAPIを呼び出す際に使用するクラスはUrlFetchAppです。外部APIとの通信を行う際に使用します。
問題2の解答
外部APIを呼び出すためにはリクエストの詳細な設定が必要です。以下のコードはその例です。
const url = 'https://api.example.com/data';
const options = {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
};
const response = UrlFetchApp.fetch(url, options);
methodはHTTPメソッドを指定し、headersで必要なヘッダー情報を追加できます。
問題3の解答
API呼び出しの際には、Googleの設定した呼び出し回数の制限(例:無料プランでの1日の最大呼び出し回数)があります。
回数を超えた場合はAPIを呼び出せなくなるのでご利用は計画的に。