CData Python Connector for Facebook Ads

Build 22.0.8479

接続の確立

コネクタ内で利用可能なオブジェクトは、"cdata.facebookads" モジュールからアクセスできます。モジュールのオブジェクトを直接使用するには、はじめに以下のようにモジュールをインポートする必要があります。

import cdata.facebookads as mod

そこで、コネクタオブジェクトからconnect() メソッドを呼び出すと、以下のような適切な接続文字列を使用して接続を確立できます。

mod.connect("InitiateOAuth=GETANDREFRESH;")

Facebook Ads への接続

以下はオプションの接続プロパティです。

  • Target:Facebook テーブルのいくつかはターゲットによりフィルタリング可能です。例えば、動画のコメントを取得するには、ターゲットとして動画のID を指定します。このプロパティは、クエリ結果を指定されたターゲットに合致するレコードに限定することを可能にします。Target カラムを使ってクエリ毎にこの制限をかけることができます。
  • AggregateFormat:本製品 は、文字列集合としていくつかのカラムを返します。例えば、エンティティのいいねデータは集計されて返されます。デフォルトでは、本製品 はJSON で集計カラムを返します。集計をXML で返すことも可能です。
  • Version:デフォルトではないバージョンを使う場合には、このプロパティをFacebook Ads API バージョンに設定します。
  • RetryLevel:このプロパティを使用して、特定の広告インサイトのクエリとエラーに対するクエリの自動再試行を制御します。

Facebook Ads への認証

Facebook Ads はユーザー認証にOAuth 標準を使用しています。

OAuth

すべてのOAuth フローで、AuthSchemeOAuth に設定する必要があります。以下のセクションは、すでに設定済みであることを前提として書かれています。

デスクトップアプリケーション

CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。代わりに、カスタムOAuth アプリケーションを作成することも可能です。カスタムアプリケーションの作成およびその理由については、カスタムAzureAD アプリの作成 を参照してください。

認証に関する2つの方法の違いは、カスタムOAuth アプリケーションを使用する場合に、2つの接続プロパティを追加で設定する必要があることだけです。 次の接続プロパティを設定して、接続してください。

  • InitiateOAuthGETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
  • OAuthClientId:(カスタムアプリケーションのみ)アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリケーションのみ)アプリケーション設定のクライアントシークレットに設定。
  • CallbackURL:アプリケーション設定のリダイレクトURL に設定。
  • Scope(オプション):ドライバーがリクエストするアクセス権をカスタマイズする必要がある場合は、これを設定します。
  • AuthenticateAsPage(オプション):リクエストをページとして作成するには、これをページ名またはページID に設定します。ページは認証されたユーザーにより管理されている必要があります。

接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 はこれでOAuth プロセスを完了します。

  1. コールバックURL からアクセストークンを取得します。
  2. 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  3. OAuth 値をOAuthSettingsLocation に保存します。これらの値は接続間で永続化されます。

Web アプリケーション

Web アプリケーション経由で接続する場合は、Facebook Ads にカスタムOAuth アプリケーションを作成および登録する必要があります。カスタムアプリケーションについて詳しくは、カスタムOAuth アプリの作成 を参照してください。それから本製品 を使用してOAuth トークンの値を取得および管理します。 OAuth アクセストークンの取得

次の接続プロパティを設定し、OAuthAccessToken を取得します。

  • AuthSchemeAzureAD に設定。
  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
  • Scope(オプション):ドライバーがリクエストするアクセス権をカスタマイズする必要がある場合は、これを設定します。
  • AuthenticateAsPage(オプション):リクエストをページとして作成するには、これをページ名またはページID に設定します。ページは認証されたユーザーにより管理されている必要があります。

続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。

  1. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリケーション設定で指定したリダイレクトURI に設定します。必要に応じて、"Permissions" パラメータを設定してカスタム権限をリクエストします。
  2. URL を開き、ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
  3. GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。必要に応じて、"Permissions" パラメータを設定してカスタム権限をリクエストします。

OAuthAccessToken 接続プロパティをストアドプロシージャで返されたアクセストークンに設定し、データに接続します。ExpiresIn 秒後に、アクセストークンの期限が切れたときは、GetOAuthAccessToken を呼び出し、新しいアクセストークンを取得します。

追加認証のリクエスト

本製品 の使用中に、指定のアクションを行う権限がアプリにありませんというエラーメッセージがFacebook から返されることがあります。 このエラーを解消するには、必要な権限を持つ新しいOAuth アクセストークンを発行する必要があります。認証ステップでデスクトップアプリケーション用のScope プロパティを設定します。

Web アプリケーションは、リクエストしたいアクセス許可のインプットを持つGetOAuthAuthorizationURL およびGetOAuthAccessToken ストアドプロシージャを呼び出す必要があります。

これらはカンマで区切られたアクセス許可のリストで、一回の認可要求で複数を要求することができます。 利用可能なFacebook アクセス許可のリストはこちらで確認できます。

http://developers.facebook.com/docs/authentication/permissions/

AuthenticateAsPage プロパティ

単一ページとして投稿する場合は、AuthenticateAsPage 接続プロパティを使用します。ページのコレクションをクエリする場合は、AuthenticateAsPage を空のままにします。その場合、CData ツールはどのページトークンを使用するかを自動的に検出します。

次のセクションでは、2つのオプションについて比較します。

ページとして投稿する

Facebook Ads に認証した後、あなたのユーザーアカウントで管理するページとして投稿をすることができます。AuthenticateAsPage プロパティを使用するページのID に設定します。Pages ビューをクエリして、あなたのアカウントでアクセスすることが可能なすべてのページのID を見ることができます。

自動ページ

Facebook Ads では、ページが所有するほとんどのリソースに対してページトークンを必要とする多くの変更を最近加えました。これは、複数のページを管理していてすべてのページで同じクエリを実行したい場合(例えばInsights を取得する場合など)に面倒です。CData のツールでこれをシームレスに処理するために、使用するページトークンを自動的に検出する方法を追加しました。これを機能させるには、AuthenticateAsPage を指定しないでください。正しいページトークンは、リクエストでターゲットの一部としてページID が指定されている場合にのみ解決できます。つまり、リクエストによっては手動でAuthenticateAsPage を指定する必要があります。

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479