Instagram

Instagram コネクタを使用すると、Instagram に対して挿入、削除、更新、読み取りオペレーションを実行できます。

始める前に

Instagram コネクタを使用する前に、次の作業を行います。

  • Google Cloud プロジェクトで次の操作を行います。
    • ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
    • 次のサービスを有効にします。
      • secretmanager.googleapis.com(Secret Manager API)
      • connectors.googleapis.com(Connectors API)

      サービスを有効にする方法については、サービスを有効にするをご覧ください。

    以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。

Instagram の設定

Instagram と統合するアプリを作成するには、次のタスクを完了します。

  • Instagram ビジネス アカウントを設定する
  • Facebook デベロッパー アカウントを作成する
  • OAuth2.0 クライアント認証を設定する
  • スコープの詳細を設定する
  • リダイレクト URL の詳細を設定する

Instagram ビジネス アカウントを設定する

  1. Instagram アカウントにログインします。
  2. 新規ユーザーの場合は、アプリを開き、画面の指示に沿って新しいアカウントを作成します。メールアドレス、電話番号、または Facebook アプリで登録できます。
  3. 既存のユーザーの場合は、既存のアカウントにログインします。
  4. 新しい Instagram ビジネス アカウントを作成する方法については、Instagram アカウントをご覧ください。

  5. Facebook ページに接続します。
  6. セットアップ時に、Facebook ページに接続するオプションが表示されます。これは省略可能ですが、すべての機能にアクセスするには設定することをおすすめします。

    設定から直接新しい Facebook ページを作成することも、既存のページにリンクすることもできます。

アプリの作成と構成を行うための Facebook デベロッパー アカウントを作成する

先ほど作成した Facebook アカウントを使用してログインします。

  1. Facebook デベロッパー アカウントにログインします。
  2. [My Apps] をクリックし、[Create App] を選択します。
  3. オプションのリストから、アプリのプラットフォーム(iOS、Android、ウェブなど)を選択します。
  4. 名前、メールアドレス、カテゴリなどの基本情報をアプリに入力します。
  5. 必要な情報を入力してアプリの一意の ID を生成したら、[Create App ID] をクリックします。
  6. iOS バンドル ID、Android パッケージ名、アプリドメインの設定、プライバシー ポリシーの URL など、プラットフォーム固有の詳細情報を追加して、アプリで追加の設定を構成します。
  7. アプリの作成については、アプリを作成するをご覧ください。

  8. Instagram Graph API を構成します。
    1. アプリの設定に移動します。
    2. ダッシュボードから Instagram Graph API プロダクトをアプリに追加します。
    3. アプリ ダッシュボードで、[Instagram] の [設定] をクリックします。
    4. 権限の設定など、アプリのニーズに応じて設定を構成します。Instagram Graph API の構成については、Instagram Graph API をご覧ください。
  9. アクセス権限を追加します。

    必要なデータに必要な権限をリクエストします。通常、instagram_basic、instagram_manage_comments、instagram_content_publish、instagram_manage_insights、pages_show_list などの権限が含まれます。

    各権限は、API で実行できるデータまたはアクションの種類を定義します。権限の詳細については、認可と権限をご覧ください。

  10. アプリに追加のデータが必要な場合は、Facebook によるアプリ審査のためにアプリを送信する必要があります。そのためには、プラットフォーム ポリシーに準拠していることを示すために、アプリがデータをどのように使用しているかを説明するスクリーンキャストを提出する必要があります。

  11. Instagram ビジネス アカウントをリンクします。
    1. Instagram Graph API は個人アカウントでは機能しないため、Instagram アカウントがビジネス アカウントまたはクリエイター アカウントであることを確認してください。
    2. この Instagram アカウントを Facebook ページにリンクします。

    OAuth2.0 クライアント認証を設定する

    1. Facebook の認証情報を使用して Meta for Developers にログインします。
    2. [アプリ] タブをクリックし、前の手順で作成したメタアプリを選択します。
    3. メニューでアプリの [設定] > [基本] をクリックします。
    4. クライアント シークレットであるアプリ シークレットを表示します。[表示] をクリックすると、アカウント パスワードの入力を求められます。後で使用できるようにクライアント シークレットを保存します。
    5. メニューでアプリの [設定 > 詳細] をクリックします。クライアント トークン(クライアント ID)を見つけます。必要に応じてリセットできます。

    スコープの詳細を設定する

    スコープはビジネスニーズに応じて設定できます。スコープは instagram_basic、pages_show_list、pages_read_engagement に設定されています。

    リダイレクト URL の詳細を設定する

    1. Facebook の認証情報を使用して Meta for Developers にログインします。
    2. [アプリ] タブをクリックし、前の手順で作成したメタアプリを選択します。
    3. メニューから Facebook の [ログイン > 設定] をクリックします。
    4. 生成されたリダイレクト URL を [Valid OAuth Redirect URIs] の必須フィールドに貼り付けます。

    コネクタを構成する

    接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。

    1. Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。

      [接続] ページに移動

    2. [+ 新規作成] をクリックして [接続の作成] ページを開きます。
    3. [ロケーション] セクションで、接続のロケーションを選択します。
      1. リージョン: プルダウン リストからロケーションを選択します

        コネクタをサポートしているリージョンは次のとおりです。

        サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。

      2. [次へ] をクリックします。
    4. [接続の詳細] セクションで、次の操作を行います。
      1. コネクタ: 使用可能なコネクタのプルダウン リストから [Instagram] を選択します。
      2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
      3. [接続名] フィールドに、接続インスタンスの名前を入力します。

        接続名は次の条件を満たす必要があります。

        • 接続名には英字、数字、ハイフンを使用できます。
        • 文字は小文字のみを使用できます。
        • 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
        • 接続名は 49 文字以内で指定してください。
      4. 必要に応じて、接続インスタンスの [説明] を入力します。
      5. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
      6. 必要に応じて、接続ノードの設定を構成します。

        • ノードの最小数: 接続ノードの最小数を入力します。
        • ノードの最大数: 接続ノードの最大数を入力します。

        ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

      7. 詳細レベル: 接続の冗長性レベルは 1 ~ 5 です。詳細レベルが高いと、すべての通信の詳細(リクエスト、レスポンス、SSL 証明書)がログに記録されます。
      8. 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
      9. [次へ] をクリックします。
    5. [認証] セクションで、認証の詳細を入力します。
      1. [認証タイプ] を選択し、関連する詳細を入力します。

        Instagram 接続でサポートされる認証タイプは次のとおりです。

        • OAuth 2.0 認証コード付与
      2. これらの認証タイプの構成方法については、認証を構成するをご覧ください。

      3. [次へ] をクリックします。
    6. Review: 接続と認証の詳細を確認します。
    7. [作成] をクリックします。

    接続構成のサンプル

    このセクションでは、Instagram 接続を作成するときに構成するさまざまなフィールドのサンプル値を示します。

    Instagram ウェブ接続のタイプ

    フィールド名 詳細
    ロケーション europe-west1
    コネクタ instagram
    コネクタのバージョン 1
    接続名 google-cloud-instagram
    サービス アカウント SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    詳細レベル 5
    ノードの最小数 2
    ノードの最大数 50
    クライアント ID CLIENT_ID
    スコープ instagram_basic、pages_show_list、pages_read_engagement
    クライアント シークレット CLIENT_SECRET
    シークレットのバージョン 2

    認証を構成する

    使用する認証に基づいて詳細を入力します。

    • OAuth 2.0 認証コード付与
      • クライアント ID: アクセス トークンのリクエストに使用されるクライアント ID。
      • スコープ: 必要なスコープのカンマ区切りのリスト。
      • クライアント シークレット: アクセス トークンのリクエストに使用されるクライアント シークレット。
      • シークレットのバージョン: クライアント シークレットを含む Secret のバージョン。

    認証コードの再認可

    Authorization code 認証タイプを使用しているユーザーが、Azure AD アプリケーションの構成を変更した場合は、Azure AD 接続を再認可する必要があります。接続を再認可するには、次の手順を行います。

    1. [接続] ページで必要な接続をクリックします。

      これにより、[接続の詳細] ページが開きます。

    2. [編集] をクリックして、接続の詳細を編集します。
    3. [認証] セクションで [OAuth 2.0 - 認証コード] の詳細を確認します。

      必要に応じて必要な変更を加えます。

    4. [保存] をクリックします。接続の詳細ページに移動します。
    5. [認証] セクションで [承認の編集] をクリックします。これにより、[承認] ペインが表示されます。
    6. [Authorize(承認)] をクリックします。

      認可が成功すると、[接続] ページの接続ステータスが「有効」に設定されます。

    接続作成後の追加手順

    認証に OAuth 2.0 - Authorization code を選択した場合は、接続の作成後に次の追加の手順を行う必要があります。

    1. 接続ページで、新しく作成された接続を見つけます。

      新しいコネクタの [ステータス] は [承認が必要] になります。

    2. [承認が必要] をクリックします。

      これにより、[承認の編集] ペインが表示されます。

    3. [リダイレクト URI] の値を外部アプリケーションにコピーします。
    4. 認可の詳細を確認します。
    5. [Authorize(承認)] をクリックします。

      認可が成功すると、[接続] ページの接続ステータスが「有効」に設定されます。

    エンティティ、オペレーション、アクション

    すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。

    • エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。

      ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、Entities リストは空になります。

    • オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。

      使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは Operations リストに含まれません。

    • アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions リストが空になります。

    システムの上限

    Instagram コネクタは、ノードごとに 1 秒あたり 2 件のトランザクションを処理することができ、この上限を超えるトランザクションはすべてスロットルされます。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。

    Integration Connectors に適用される上限の詳細については、上限をご覧ください。

    アクションの例

    このセクションでは、このコネクタでいくつかのアクションを実行する方法について説明します。

    例 - すべての IGMedia を一覧表示する

    1. [Configure connector task] ダイアログで、[Entities] をクリックします。
    2. Entity リストから IGMedia を選択します。
    3. [List] オペレーションを選択し、[完了] をクリックします。

    例 - AccountFollowersNonfollowers をすべて一覧表示する

    1. [Configure connector task] ダイアログで、[Entities] をクリックします。
    2. Entity リストから AccountFollowersNonfollowers を選択します。
    3. [List] オペレーションを選択し、[完了] をクリックします。
    4. フィルタ句を List single AccountFollowersNonfollowers に設定します。フィルタ句を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに Metric='reach' を入力し、フィルタ句をローカル変数として選択します。

    AccountFollowersNonfollowers エンティティに対してオペレーションを実行するには、タスクの [データ マッパー] セクションのフィルタ句を使用する必要があります。

    例 - 単一の IGMedia を取得する

    1. [Configure connector task] ダイアログで、[Entities] をクリックします。
    2. Entity リストから IGMedia を選択します。
    3. [Get] オペレーションを選択し、[完了] をクリックします。
    4. エンティティ ID を「単一の IGMedia を取得」に設定します。エンティティ ID を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに 18008309540391873 を入力し、EntityId をローカル変数として選択します。

    例 - MediaInsightReels を取得する

    1. [Configure connector task] ダイアログで、[Entities] をクリックします。
    2. Entity リストから MediaInsightReels を選択します。
    3. [List] オペレーションを選択し、[完了] をクリックします。
    4. フィルタ句を「単一の MediaInsightReels を取得」に設定します。フィルタ句を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに MediaId='18018014180193817' を入力し、フィルタ句をローカル変数として選択します。

    MediaInsightReels、MediaInsights、MediaInsightsPost、AccountFollowersNonfollowers、AccountContactButtonType のエンティティに対して取得オペレーションを実行するには、タスクの [データ マッパー] セクションのフィルタ句を使用する必要があります。

    例 - コメントを削除する

    1. [Configure connector task] ダイアログで、[Entities] をクリックします。
    2. Entity リストから Comments を選択します。
    3. [Delete] オペレーションを選択し、[完了] をクリックします。
    4. エンティティ ID を「Delete Comments」に設定します。エンティティ ID を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに 18435078259055638 を入力し、EntityId をローカル変数として選択します。

    例 - コメントを作成する

    1. [Configure connector task] ダイアログで、[Entities] をクリックします。
    2. Entity リストから Comments を選択します。
    3. [Create] オペレーションを選択し、[完了] をクリックします。
    4. [タスク] の [データマッパー] セクションで、OpenDataMapping エディタをクリックし、field: に次のような値を入力します。
       {
      "MediaId": "18008309540391873",
      "Text": "The Universe is with you"
      }

      この例を実行すると、コネクタ タスクの connectorOutputPayload 出力変数で次のようなレスポンスが返されます。

      {
      "Id": "18351045133102133"
      }

    例 - 返信を作成する

    1. [Configure connector task] ダイアログで、[Entities] をクリックします。
    2. Entity リストから Replies を選択します。
    3. [Create] オペレーションを選択し、[完了] をクリックします。
    4. [タスク] の [データマッパー] セクションで、OpenDataMapping エディタをクリックし、field: に次のような値を入力します。
       {
      "CommentId": "18022630739158714",
      "Text": "conquered" 
      }

      この例を実行すると、コネクタ タスクの connectorOutputPayload 出力変数で次のようなレスポンスが返されます。

      {
      "Id": "18167970637306971"
      }

    統合で Instagram 接続を使用する

    接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

    • Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
    • Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。

    Google Cloud コミュニティの助けを借りる

    Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。

    次のステップ