![見出し画像](https://assets.st-note.com/production/uploads/images/172646659/rectangle_large_type_2_c06ac176a5e3b353d4fbe3216ab61231.png?width=1200)
GASでInstagramのハッシュタグ投稿を自動収集!スプレッドシートに記録する方法
こんにちは!「GASくん」では、Google スプレッドシートとGoogle Apps Script(GAS)を活用して、業務効率化の方法を発信しています。
今回は、GASを使ってInstagramの特定のハッシュタグが付いた投稿を自動取得し、スプレッドシートに記録する方法を紹介します。
📌 この記事でわかること
✅ Instagram APIを使ったハッシュタグ投稿の取得方法
✅ GASを活用してスプレッドシートにデータを保存する方法
✅ ビジネスでの活用事例
1. 実現したいこと
Instagramの特定のハッシュタグを含む投稿を自動取得し、スプレッドシートに保存します。
取得するデータは以下の通りです。
📌 取得するデータ
データ取得日時(GASがデータを取得した日時)
ID(投稿のユニークな識別子)
キャプション(投稿の説明文)
メディアのプロダクト種別(投稿が広告かオーガニックか)
メディア種別(画像・動画・カルーセルなど)
メディアURL(画像や動画のURL)
メディアID(メディアの識別子)
メディアの画像(画像のプレビュー)
パーマリンク(投稿のURL)
作成日(投稿が作成された日時)
いいね数
コメント数
ハッシュタグ(検索したハッシュタグ)
ハッシュタグID(Instagramのハッシュタグ識別ID)
2. Instagram APIを利用するための準備
Instagramのハッシュタグ投稿を取得するには、Instagram Graph APIを使用します。
📌 APIを利用するための設定
Meta for Developers(https://developers.facebook.com/)にアクセス
Facebookアプリを作成(Instagram Basic Display APIを有効化)
Instagramアカウントをビジネスアカウントに変更
FacebookページとInstagramアカウントをリンク
アクセストークンを取得(APIリクエストに使用)
3. GASのコード(Instagramハッシュタグ投稿の取得 & スプレッドシートへ保存)
📌 GASコードサンプル
const ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"; // 取得したInstagram APIのアクセストークン
const HASHTAG = "YOUR_HASHTAG"; // 取得したいハッシュタグ
const SHEET_NAME = "Instagramハッシュタグ収集"; // 記録するスプレッドシート名
// ハッシュタグIDを取得
function getHashtagId(hashtag) {
const url = `https://graph.facebook.com/v18.0/ig_hashtag_search?user_id=YOUR_INSTAGRAM_BUSINESS_ID&q=${encodeURIComponent(hashtag)}&access_token=${ACCESS_TOKEN}`;
const response = UrlFetchApp.fetch(url);
const json = JSON.parse(response.getContentText());
return json.data.length ? json.data[0].id : null;
}
// ハッシュタグ投稿を取得
function fetchInstagramHashtagPosts() {
const hashtagId = getHashtagId(HASHTAG);
if (!hashtagId) {
Logger.log("ハッシュタグIDの取得に失敗しました");
return;
}
const url = `https://graph.facebook.com/v18.0/${hashtagId}/top_media?user_id=YOUR_INSTAGRAM_BUSINESS_ID&fields=id,caption,media_type,media_url,permalink,timestamp,like_count,comments_count&access_token=${ACCESS_TOKEN}`;
const response = UrlFetchApp.fetch(url);
const posts = JSON.parse(response.getContentText()).data;
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME) || SpreadsheetApp.getActiveSpreadsheet().insertSheet(SHEET_NAME);
// ヘッダーを設定
if (sheet.getLastRow() === 0) {
sheet.appendRow(["データ取得日時", "ID", "キャプション", "メディアのプロダクト種別", "メディア種別", "メディアURL", "メディアID", "メディアの画像", "パーマリンク", "作成日", "いいね数", "コメント数", "ハッシュタグ", "ハッシュタグID"]);
}
const now = new Date();
posts.forEach(post => {
sheet.appendRow([
now,
post.id,
post.caption || "なし",
"N/A", // プロダクト種別はAPIで取得不可
post.media_type,
post.media_url,
post.id,
`=IMAGE("${post.media_url}", 1)`,
post.permalink,
post.timestamp,
post.like_count || 0,
post.comments_count || 0,
HASHTAG,
hashtagId
]);
});
Logger.log("Instagramのハッシュタグ投稿を取得しました");
}
4. 設定手順
Instagram APIのアクセストークンを取得し、コード内の ACCESS_TOKEN に設定
InstagramのビジネスアカウントのIDを取得し、コード内の YOUR_INSTAGRAM_BUSINESS_ID に設定
取得したいハッシュタグを HASHTAG に設定
スプレッドシートに「Instagramハッシュタグ収集」シートを作成(空の状態でOK)
GASを実行し、スプレッドシートにデータが保存されるか確認
定期実行する場合は、トリガーを設定し1日1回自動実行
5. どのような業務で利用可能か?
✅ ブランドのUGC(ユーザー生成コンテンツ)収集(特定のハッシュタグをつけた投稿を定期取得)
✅ 競合のハッシュタグ分析(競合ブランドのハッシュタグ投稿をモニタリング)
✅ SNSキャンペーンの効果測定(キャンペーン用ハッシュタグの投稿数を自動集計)
✅ インフルエンサー分析(特定のハッシュタグを使用しているユーザーの影響力を分析)
6. まとめ
✔ GASを活用してInstagramのハッシュタグ投稿を自動取得!
✔ スプレッドシートにデータを保存し、分析・管理を効率化!
✔ ブランドマーケティングやSNS分析に活用可能!