LINE Messaging APIで 特定のグループにメッセージを送るには、まず「グループID(Group ID)」を取得する必要があります。
グループIDの取得要件
グループIDを取得するためには以下の条件を満たしておく必要があります。
グループIDの取得要件
- Messaging API対応の LINE公式アカウント(チャネル) を作成済み
- チャネルアクセストークン(Channel Access Token) を取得済み
- Messaging APIが有効化されていること
グループIDの取得方法
Webhook用のURLを取得する
ここではGASを使って、LINEのアクションがあったときに叩くWebhook用のURLを用意し、グループIDをスプシに書き込むようにします。
AppScriptを開き以下のコードを保存します。
const SPREADSHEET_ID = 'スプシID';
const SHEET_NAME = 'シート1'; //シート名
function doPost(e) {
try {
const json = JSON.parse(e.postData.contents);
const ss = SpreadsheetApp.openById(SPREADSHEET_ID);
const sheet = ss.getSheetByName(SHEET_NAME);
if (!sheet) {
throw new Error(`シート "${SHEET_NAME}" が見つかりません。`);
}
if (!json.events || json.events.length === 0) {
sheet.appendRow([new Date(), "No events"]);
return ContentService
.createTextOutput(JSON.stringify({ status: 'no events' }))
.setMimeType(ContentService.MimeType.JSON);
}
json.events.forEach(event => {
const type = event.type || "";
const sourceType = event.source?.type || "";
const groupId = event.source?.groupId || "";
const userId = event.source?.userId || "";
const messageType = event.message?.type || "";
const messageText = event.message?.text || "";
const timestamp = new Date(event.timestamp);
sheet.appendRow([
timestamp,
sourceType,
groupId,
userId,
messageType,
messageText
]);
});
return ContentService
.createTextOutput(JSON.stringify({ status: 'ok' }))
.setMimeType(ContentService.MimeType.JSON);
} catch (err) {
const sheet = (() => {
try { return SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME); }
catch (_) { return null; }
})();
if (sheet) {
sheet.appendRow([new Date(), "Error", err.message]);
}
return ContentService
.createTextOutput(JSON.stringify({ status: 'error', message: err.message }))
.setMimeType(ContentService.MimeType.JSON);
}
}
デプロイして、ウェブアプリURLをコピーします。
デプロイするときは以下の設定にします。
デプロイ時の設定
- 説明:
LINE Webhook(任意) - 実行するユーザー:自分(自分のアカウント)
- アクセスできるユーザー:「全員(匿名含む)」 ※重要※
スプシにタイトル行を追加
対象のスプシにタイトル行を追加します。
| 日時 | sourceType | groupId | userId | messageType | messageText |

Webhookの有効化
LINE Developersツールの「Messaging API設定」でWebhookの利用をONにし、Webhook URLに先ほどのURLを貼り付けます。

注意点
Webhook URLの「検証」をクリックするとエラーが出ますが、スプシに「日付 No events」が入力されれば正しく動作しています。
公式アカウントをグループに招待
LINEで、目的のグループを作成し、公式アカウント(Bot)を追加します。
メッセージの送信
作成したグループでなんでもいいのでメッセージを打ちます。
groupIdの列がグループIDになります。

以上で、LINEグループIDの取得は完了です。
Webhook URLを削除する
目的のgroupIdが取得できたら、登録したURLを削除します。
削除しておかないと、メッセージのやり取りがある度にスプシに追記され続けます。

