Open1

Instagram API による 自動投稿

marchanmarchan

Instagram

  1. Instagram アカウントを作成

  2. Instagram アカウントを 「個人用」から「プロ」に変更

  3. Instagram アカウントを 「ビジネス」に変更

Facebook

  1. Facebookアカウントを作成

  2. Facebook にて新しいページを作成

  3. Facebook 新しいページで Instagram ビジネスアカウントとリンク

    • 設定
    • リンクするアカウント
    • 「Instagram」を見る
    • 「アカウントをリンク」
    • プロアカウントに切り替えたInstagramアカウントでログインして承認
  4. Facebookデベロッパーサイトで Facebook アプリを作成

    • https://developers.facebook.com/ にアクセスしてログイン
    • 「マイアプリ」
    • 「アプリを作成」
    • ユースケースは「その他」
    • アプリタイプは「Buisiness」
    • ビジネスポートフォリオは作成済みのInstgramアカウント名
    • アプリに製品を追加 「Instagram API」を追加
  5. InstagramAPIを使う際に必要な無期限トークンを取得

    • Meta Deveppler 画面で継続して操作
    • 「マイアプリ」>「ツール」>「グラフAPIエクスプローラー」
      -- instagram_basic
      -- instagram_manage_comments
      -- instagram_manage_insights
      -- instagram_manage_messages
      -- instagram_content_publish
      -- business_management
      -- pages_show_list
      -- public_profile(もとから許可あり)
      -- ipages_read_engagement(もとから許可あり)
    • 「Generate Access token」
    • アクセストークンの下にある水色の[i] [アクセストークンツールで開く]
    • アクセストークン情報をにて有効期限が「約1時間以内」を確認
    • 「アクセストークン情報」画面で「アクセストークンを延長」
    • 「デバッグ」
    • 長期アクセストークンの有効期限が2か月以内であることを確認してトークンをコピー
    • 「アクセストークンデバッガ」画面、「アクセストークン情報」画面を閉じる
    • 「グラフAPIエクスプローラー」画面でアクセストークンの入力されているデータを消去して、
      さきほど取得した「長期アクセストークン」のコードをぺ―スト(張り付ける)
    • APIの末尾を me/accounts として 「送信」
      出力されたJSONコードのなかの"access_token": のデータをコピー(取得)
      (このアクセストークンは無期限)

{
  "data": [
    {
      "access_token": "EAA6Yow9???????????????????,
      "category": "テストウェブサイト",
      "category_list": [
        {
          "id": "2709",
          "name": "テストウェブサイト"
        }
      ],
      "name": "テスト",
      "id": "598?????????????",
      "tasks": [
        "ADVERTISE",
        "ANALYZE",
        "CREATE_CONTENT",
        "MESSAGING",
        "MODERATE",
        "MANAGE"
      ]
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUk1?????",
      "after": "QVFIUk1Hb?????"
    }
  }
}

ビジネスアカウントIDを取得

- Meta グラフAPIエクスプローラ 画面で、
  APIの末尾を me?fields=accounts{instagram_business_account}として「送信」
instagram_business_accountを取得

  "accounts": {
    "data": [
      {
        "instagram_business_account": {
          "id": "1784????"
        },
        "id": "598?????"
      }
    ],
    "paging": {
      "cursors": {
        "before": "QVFIUk1HbDFGLUFKVjRreH?????",
        "after": "QVFIUk1HbDFGLUFKVjRre?????"
      }
    }
  },
  "id": "10075346219151807"
}

Instagram APIの準備完了