初心者でも簡単!Google Apps Scriptで「curl」を実行する方法
GASでcurlってどうやって実行するんだろう?調べても難しくて…。

猫男

catman
心配するな、catmanがGASでのcurlの実行についてわかりやすく説明するさ。
GASで簡単にcurlを実行する方法
GASでcurlのようにHTTPリクエストを送信するには、UrlFetchAppを使うのが手っ取り早い。まずは基礎を押さえておこう。
UrlFetchApp.fetch()でリクエストを送信
基本の書き方は以下の通りだ。
var response = UrlFetchApp.fetch('https://jsonplaceholder.typicode.com/posts/1');
Logger.log(response.getContentText());
✅ fetch()メソッドを使うことで、指定したURLにHTTPリクエストを送信できる。返り値はHTTPレスポンスだ。
curlに近い形でGASを使うには
もう少しcurlっぽく使いたいとき、オプションを指定するのも可能だ。
var options = {
"method" : "post",
"payload" : {
"name" : "catman",
"job" : "hero"
}
};
var response = UrlFetchApp.fetch('https://example.com/api', options);
Logger.log(response.getContentText());
オプションの設定には、メソッド、ペイロード、ヘッダーなどを指定でき、より自由度の高いリクエストを作成できる。
なるほど、オプションも設定できるんですね。curlと似てる感じがしてきました!

猫男

catman
そのとおりだ。さらに進めば、さまざまなAPIとの連携も可能さ。
実践:GASでAPIを呼び出してみよう
ここでは、ちょっとしたAPIを使ってみよう。
GETリクエストでデータを取得
例えば、猫のデータを取得しよう。
var response = UrlFetchApp.fetch('https://api.thecatapi.com/v1/images/search');
var catData = JSON.parse(response.getContentText());
Logger.log(catData[0].url);
ここでは、GETリクエストでLet’s get catman’s仲間の画像を取得した。
猫の画像GETできました!これで仲間が増えた気がします!

猫男

catman
いつでも、どんなAPIも扱えるようになるはずさ。
練習問題
GASを使ってPOSTリクエストを作成し、任意のAPIエンドポイントにデータを送信してみましょう。
また、送信後のレスポンスを確認して、データが正しく送信されたことを確認してください。
解答・解説
以下は、POSTリクエストの例です。内容をAPIの仕様に合わせて変更してください。
var url = 'https://example.com/api';
var data = {
"message": "Hello, World!",
"username": "catman"
};
var options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(data)
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
– url: リクエストを送信するURL。
– data: 送信するデータ。本例ではJSONオブジェクトである。
– options:
– method: リクエストメソッド。ここではPOSTを指定。
– contentType: リクエストのコンテンツタイプ。JSONデータを送信するために”application/json”を指定。
– payload: 送信するデータ。JSON.stringify()で文字列に変換。
このスクリプトを実行すれば、POSTリクエストが実行され、指定されたエンドポイントにデータが送信される。
レスポンスが正しいかLoggerで結果を確認してみよう。