3分でわかる!GASでURLからパラメータを簡単に取得する方法
GASでURLからパラメータをどうやって取得すればいいのかな?先輩に頼まれてしまって…

猫男

catman
GASを使えば、URLからパラメータを簡単に取得できるように設定できるさ。このcatmanが教えてあげよう。
GASでURLパラメータを取得する基本
URLからパラメータを取得したい場合、GASではまずそのURL全体を適切に解析する必要がある。
URLからクエリパラメータを抜き出す方法
例えば、このようなURLがあったとする:
const url = "https://example.com/page?param1=value1¶m2=value2";
次に、特定のパラメータを取得するためのスクリプトがこちら:
function getQueryParams(url) {
const params = {};
const parser = new URL(url);
const queryString = parser.search.substring(1);
const pairs = queryString.split("&");
pairs.forEach(pair => {
const [key, value] = pair.split("=");
params[key] = decodeURIComponent(value);
});
return params;
}
const params = getQueryParams(url);
Logger.log(params['param1']); // outputs: value1
ここで使われているのはURLオブジェクトで、これはURL全体を解析し、個別のパラメータを抜き出すことができる。
[h2]このスクリプトの内訳を見てみよう[/h2]
- new URL(url) – 渡されたURLを解析するためのオブジェクトを作成する。
- parser.search – URLの「?」以降のクエリパートを取得する。
- split(“&”) – それぞれのパラメータを「&」で分割する。
- decodeURIComponent(value) – URLエンコードされたパラメータの値をデコードする。
なるほど、こうやって分解するとパラメータが取得できるんですね!

猫男
GASでURLパラメータを扱う応用編
GASでは、さらに高度な用途に合わせてURLパラメータを操作できる。次は、パラメータをマップ形式にして処理する例だ。
パラメータをJSON形式で処理する方法
マップ形式を利用することで、扱いやすいデータフォーマットに変換する:
function getQueryParamsAsJSON(url) {
const params = getQueryParams(url);
return JSON.stringify(params);
}
const json = getQueryParamsAsJSON(url);
Logger.log(json); // outputs: {"param1":"value1","param2":"value2"}
この例ではJSON.stringifyを使って、オブジェクト形式に変換している。JSON形式にすることで、データを外部とやり取りする際にも便利だ。
JSONにすれば、もっとデータ整理が楽になりますね!

猫男
練習問題
以下のURLから「user」パラメータを取得し、ログに出力するスクリプトを書いてみましょう。
URL: “https://example.com/data?user=catman&age=5”
解答・解説
function getUserParam(url) {
const params = new URL(url).searchParams;
return params.get('user');
}
const url = "https://example.com/data?user=catman&age=5";
const user = getUserParam(url);
Logger.log(user); // outputs: catman
– new URL(url).searchParams – この方法を使うと、URLからすでにSearchParamsオブジェクトが提供され、簡単にパラメータを操作できる。
– params.get(‘user’) – 指定した名前のパラメータの値を取得するメソッド。

catman
上記の方法を入念に学べば、GASで複雑なURL処理もお手の物だ。自信を持って臨むといいさ!