初心者向け解説!GASでUUIDを生成する方法と活用例
あの…GASを使ってUUIDを生成する方法はあるでしょうか?

猫男

catman
GASでUUIDを生成するのは簡単さ。catmanが手取り足取り教えてやるよ。
GASでUUIDを生成する基本
GASでUUIDを生成するには、少し手を動かす必要がある。
だが心配はいらない、ステップごとに解説するぞ。
UUIDとは何か?
まずはUUIDについて説明しよう。
UUIDとは、
Universally Unique Identifier
のこと。つまり「世界でユニークな識別子」の略だ。
その名の通り、各データに一意のIDを付加することでデータ管理がしやすくなるのさ。
GASでのUUID生成方法
GASでUUIDを生成するには、ランダムな数値と文字列を組み合わせる方法が基本だ。
以下のスクリプトを見てほしい。
function generateUUID() {
const template = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
return template.replace(/[xy]/g, function(c) {
const r = Math.random() * 16 | 0,
v = c === 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
const newUUID = generateUUID();
Logger.log(newUUID);
このスクリプトでは、UUIDの規定フォーマットに従った文字列を生成し、ランダムな値に置き換えることでUUIDを生成している。この方法なら毎回異なる値が生成できる。
この通りにやれば、GASでも簡単にUUIDが作れるようになるんですね!安心しました。

猫男
UUIDの活用例
生成したUUIDは様々な場面で活用できる。例えばプロジェクト管理やデータベースでのユニークな識別子として使用するのが一般的だ。
データベースでの使用
データベースのレコードにUUIDを使えば、各レコードを一意に識別可能になる。
これにより、データの検索や更新がスムーズに行えるのだ。
プロジェクト管理ツールでの利用
プロジェクト管理ツールでタスクごとにUUIDを付与すれば、タスク管理が容易になり、特に多人数での作業で混乱を防げる。
これが、GASを使って自動化できれば一石二鳥、いや、両手じゃ数え切れねえな。

catman
UUIDの活用は無限大さ。必要なところで活用してみてくれ。
練習問題:UUID生成の理解を深める
問題1: 上記のスクリプトで生成されたUUIDが一意であることを試すにはどうしたら良いか、考えてみよう。
解答と解説
function testUUIDUniqueness() {
const uuidSet = new Set();
for(let i = 0; i < 1000; i++) {
const uuid = generateUUID();
if (uuidSet.has(uuid)) {
Logger.log("Duplicate UUID found: " + uuid);
return;
}
uuidSet.add(uuid);
}
Logger.log("All generated UUIDs are unique.");
}
function generateUUID() {
const template = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
return template.replace(/[xy]/g, function(c) {
const r = Math.random() * 16 | 0,
v = c === 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
testUUIDUniqueness();
ここでは新たにtestUUIDUniqueness関数を定義し、1000回UUIDを生成してセット(Set)に格納している。
セットは重複を許さないため、一意でないUUIDが生成された場合はそれを検知する仕組みだ。
これにより、UUIDの一意性を簡単に検証できる。