こんにちは。CData Software Japan リードエンジニアの杉本です。
CData Facebook Driver を活用してよく相談をいただく連携シナリオがFacebook ページ投稿の自動化です。
ただ、現状CData Facebook Driverに組み込まれているOAuth認証を利用した場合、権限の関係上Facebook ページへの投稿ができません。
また、以前手動でアプリを作成して、利用する方法も紹介しましたが、この方法ではテスト用のアプリとなってしまうため、データ取得ならまだしも、投稿したデータは他のユーザーには見えないため、ページ投稿の自動化にはうまく活用できません。
www.cdatablog.jp
そんなときに利用できるのが「ビジネスアプリ」という種類アプリを作成して利用する方法です。
今回はこのビジネスアプリの作成方法から、CData Facebook Driver を通じてPageにデータを投稿するところまでの手順を紹介したいと思います。
www.cdata.com
ビジネスアプリとは
ビジネスアプリは通常のユーザーが利用するアプリとは異なり、Facebookページの管理・分析・自動化などに特化したAPIを利用するためのアプリの種類になります。
developers.facebook.com
これにより、今回紹介するような自社ページの自動化などにもそのまま利用することができるようになっています。
シナリオ
今回は私個人のテスト用として作成した以下のようなページに投稿を試してみます。
接続の際にはFacebook ページのIDが必要になるので、URLから以下の数字のIDを控えておきましょう。
余談ですが、このFacebook ビジネスアプリの機能を使って、CData Facebook ページへのBlog記事投稿通知を構成していたりします。
作成手順
それでは実際にビジネスアプリを作成してみましょう。
まず Meta for Developersのマイアプリの画面に移動し「アプリを作成」をクリックします。
「アプリタイプを選択」の画面で「ビジネス」アプリを選択して進めます。
任意の表示名を入力して、「アプリを作成」をクリックします。
作成が完了後「アプリID」と「App secret」を控えておきましょう。
併せて「Facebookログイン」で「有効なOAuthリダイレクトURI」を指定します。今回はローカルホストから接続するので「https://localhost:33333」を指定しました。
これだけで準備は完了です。お手軽ですね。
CData Facebook Driverの準備
続いて CData Facebook Driver 側の準備を進めます。
今回は内部でのクエリがわかりやすいように、JDBC Driverを利用しましたが、Excel や ODBC Driverなどでも共通の手順で利用できます。
以下のURLより30日間のトライアルが取得可能なので、試してみてください。
www.cdata.com
セットアップ後、接続文字列を構成します。
事前に作成したビジネスアプリをもとに以下のように指定しましょう。
プロパティ名 |
値 |
備考 |
InitiateOAuth |
GETANDREFRESH |
OAuthの認証・認可のアプローチを指定します。 |
OAuthClientId |
例)3083891468606490 |
作成したビジネスアプリのアプリIDを指定します。 |
OAuthClientSecret |
例)fcd1ec02b3e152e398f147a340c87f6d |
作成したビジネスアプリのapp secret を指定します。 |
CallbackURL |
例)https://localhost:33333 |
RedirectURLを指定します。 |
Scope |
public_profile,pages_manage_posts,business_management |
投稿に必要なAPI Scopeを指定します。 |
AuthenticateAsPage |
例)105611738001960 |
対象となるFacebook ページのIDを指定します。 |
接続テストの際には「C:\Program Files\CData\CData JDBC Driver for Facebook 2021J\lib\cdata.jdbc.facebook.jar」を利用すると便利です。
これで接続テストを実施すると、以下のようにブラウザが立ち上がり、アクセス許可を行うページの選択
そしてアクセス許可の設定が表示されます。今回はインターナルな利用なのでログインレビューの申請は行わなくてもそのまま利用可能です。
接続が完了したら、実際にFacebookページへ投稿してみましょう。
今回はDbVisualizer を利用して実行してみました。
www.cdata.com
以下のようなSQLで対象のページに投稿することができます。
INSERT INTO Posts (Message, Target) VALUES ('My New Post 3', '105611738001960');
cdn.cdata.com
正常に投稿が完了し、かつ外部ユーザーからも見える状態かどうかをシークレットブラウザで確認してみると
以下のように表示されていました!
ちなみにこのアプリは投稿だけでなく投稿されているデータの取得・確認も行えます。
もし利用にあたって、わからない点などありましたら、お気軽にテクニカルサポートまでお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx
※本記事は2022/03/24時点の情報に基づいて作成しています。Facebook API のアップデートは頻繁に行われますので、お試しの際にはぜひ最新のドキュメント・ヘルプを参照ください。
関連コンテンツ