1. HOME
  2. ブログ
  3. IT技術
  4. 【GAS】instagram graph apiを使用してインサイトデータ入力を自動化

【GAS】instagram graph apiを使用してインサイトデータ入力を自動化

【GAS】instagram graph apiを使用してインサイトデータ入力を自動化してみた

実装を行なった経緯

知人が最近飲食店を始めたので、何か手伝えることがないか考えた結果あまり手伝えることがなかったので、instagramのデータを記入を自動化してみました。

お店のためになったかは微妙ですが、データが力を発揮するのはまだまだ先だと思ってるのでひとまずよしとします。


GASとは??

Google App Scriptの略称。
業務の進め方を最適化ができるGoogle Workspace の統合、自動化、拡張のためのビジネス ソリューションをすばやく簡単に構築するための唯一のローコード プラットフォームだと記載されています。
参照:https://workspace.google.co.jp/intl/ja/products/apps-script/


実装

それでは早速実装に入っていきます。
手順は以下の通りです。

  1. Instagram Gragh APIセットアップ
  2. 実装

1.Instagram Gragh APIセットアップ
どのウェブサイトでもこの「1.Instagram Gragh APIセットアップ」部分が最難関だと記載されています。
手順としては、以下の通りです。

1.アカウントタイプをプロアカウントに変更
手順は以下の通りです。

  1. アプリの Instagram を開く
  2. プロフィールを開き、右上のメニューアイコン をタップ
  3. 「設定」をタップ
  4. 「アカウント」をタップ
  5. 「プロアカウントに切り替える」をタップ

2.facebookとinstagramを連携(facebookアカウントがない場合は作成してください)
手順は以下の通りです。

  1. アプリのInstagramを開く
  2. プロフィール画面にて「プロフィール編集」をタップ
  3. ビジネスの「ページ」の「リンクまたは作成」をタップ

3.Facebookアプリを作る
手順は以下の通りです。

  1. Facebook Developers(開発者ツール)を開く
  2. [マイアプリ]→[アプリの作成]をタップ
  3. ユースケース:その他、アプリタイプはビジネス、アプリ名は任意で入力
  4. [ツール]→[グラフAPIエクスプローラ]を選択してグラフAPIエクスプローラを表示

4.必要な情報(トークンなど)を取得
手順は以下の通りです。
下記画像を参考にアクセスを許可(Facebookにログイン認証する画面が出ます)
赤枠で囲われている[ i ]を押して[アクセストークンツールで開く]をタップ

[アクセストークンツールで開く]をタップするとアクセストークンデバッガーが表示される

  1. 画面下にある[アクセストークンを延長]をタップ
  2. 有効期限2ヶ月の長期アクセストークン情報が表示されるので、[デバッグ]をタップしてアクセストークンデバッガーで確認
  3. 画面上部にあるアクセストークンをコピー
  4. 再度[グラフAPIエクスプローラ]を開く
  5. アクセストークンに先程コピーした[有効期限2ヶ月のアクセストークン]を入力
  6. 下記画像を参考に上部のバーに[me/accounts]と入力
  7. 送信をタップ
  8. 表示された「access_token」をコピー(下記画像参考)
    「有効期限無期限のアクセストークン」になるので、必ず控えてください
  9. 再度[グラフAPIエクスプローラ]を開く
  10. 下記画像を参考に上部のバーに[me?fields=accounts{instagram_business_account}]と入力
  11. 送信をタップ
  12. 表示された「instagramのid」をコピー(下記画像参考)
    「instagram_business_id」になるので、必ず控えてください

以上でInstagram Gragh APIセットアップは完了になります。

2.実装
今回作成するのは、下記3つのシートです。

  1. フォロー/フォロワー/投稿数を管理する「フォロ・フォロワー」シート
  2. アカウント全体のインサイトを管理する「インサイト」シート
  3. 投稿別のインサイトを管理する「投稿別インサイト」シート

※スプレットシートを操作方法は、本記事では割愛させていただきます。

シートの作成が完了したら、app scriptを開きます。

scriptが開けたら、共通の処理をまとめる「common.gs」ファイルをscript内に作成します。

common.gs

上記コードは共通の処理や定数をまとめています。


次に「フォロー・フォロワー」の数を記録するコードを実装していきます。

follow.gs


次に「インサイト」を記録するコードを実装していきます。
insight.gs


最後に「投稿別インサイト」を記録するコードを実装していきます。
post.gs

これで実装部分は完了です。


残りは、いつこの処理を実行するのかを指定します。
「いつ」処理を実行するのかを決めるには、「トリガー」を使用します。

scriptの画面に戻り下記画像赤枠部分がトリガー一覧画面で処理の実行タイミングを決定します。

「トリガー」一覧画面に遷移後右下にある「トリガーの追加」ボタンを押下し先ほど実装した処理を定期実行できるよう設定します。

下記モーダルが開いたら、赤枠部分の「実行する関数」関数「時間ベースのトリガーのタイプ」「時間の間隔」を設定します。
日付ベース、年ベースなどあるのでご自身お好きな実行タイミングを実行してください。

これでトリガーの設定は完了です。


参考資料

apiセットアップ

  1. https://navymobile.co.jp/instagram-graph-api
    実装
  2. https://qiita.com/joh_luck/items/af6f02c43e2f4497e15e
  3. https://developers.facebook.com/docs/instagram-api/reference/ig-user?locale=ja_JP

実行結果

  1. フォロー/フォロワー/投稿数を管理する「フォロ・フォロワー」シート

  2. アカウント全体のインサイトを管理する「インサイト」シート

  3. 投稿別のインサイトを管理する「投稿別インサイト」シート

※アプリのinstagramを開き、実際に出力されているデータが正しいか確認してください。


終わりに

いかがだったでしょうか?
ほぼ初めてGASを使用しましたが、環境構築も必要なく簡単に実装からはいれるので実装者としてはとてもありがたかったです。
まだまだ業務効率化は可能だと思うので、sns関係に限らずお店の効率化を勝手に図っていきたいと思います。

書いた人はこんな人

かねまさ(エンジニア)
かねまさ(エンジニア)
プライベートの休日はインドアもアウトドアもどちらになることもあります。

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア