CData Software Blog

クラウド連携のCData Software の技術ブログです。

Facebook Page の投稿を作成・取得するためのビジネスアプリを作成する方法:CData Facebook Driver

f:id:sugimomoto:20220324085800p:plain

こんにちは。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を控えておきましょう。

f:id:sugimomoto:20220324084733p:plain

余談ですが、このFacebook ビジネスアプリの機能を使って、CData Facebook ページへのBlog記事投稿通知を構成していたりします。

f:id:sugimomoto:20220324085839p:plain

作成手順

それでは実際にビジネスアプリを作成してみましょう。

まず Meta for Developersのマイアプリの画面に移動し「アプリを作成」をクリックします。

f:id:sugimomoto:20220324084740p:plain

「アプリタイプを選択」の画面で「ビジネス」アプリを選択して進めます。

f:id:sugimomoto:20220324084747p:plain

任意の表示名を入力して、「アプリを作成」をクリックします。

f:id:sugimomoto:20220324084753p:plain

作成が完了後「アプリID」と「App secret」を控えておきましょう。

f:id:sugimomoto:20220324084800p:plain

併せて「Facebookログイン」で「有効なOAuthリダイレクトURI」を指定します。今回はローカルホストから接続するので「https://localhost:33333」を指定しました。

f:id:sugimomoto:20220324084807p:plain

これだけで準備は完了です。お手軽ですね。

CData Facebook Driverの準備

続いて CData Facebook Driver 側の準備を進めます。

今回は内部でのクエリがわかりやすいように、JDBC Driverを利用しましたが、ExcelODBC Driverなどでも共通の手順で利用できます。

f:id:sugimomoto:20220324084813p:plain

以下の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」を利用すると便利です。

f:id:sugimomoto:20220324084834p:plain

これで接続テストを実施すると、以下のようにブラウザが立ち上がり、アクセス許可を行うページの選択

f:id:sugimomoto:20220324084845p:plain

そしてアクセス許可の設定が表示されます。今回はインターナルな利用なのでログインレビューの申請は行わなくてもそのまま利用可能です。

f:id:sugimomoto:20220324084849p:plain

接続が完了したら、実際にFacebookページへ投稿してみましょう。

今回はDbVisualizer を利用して実行してみました。

www.cdata.com

以下のようなSQLで対象のページに投稿することができます。

INSERT INTO Posts (Message, Target) VALUES ('My New Post 3', '105611738001960');

cdn.cdata.com

f:id:sugimomoto:20220324084855p:plain

正常に投稿が完了し、かつ外部ユーザーからも見える状態かどうかをシークレットブラウザで確認してみると

以下のように表示されていました!

f:id:sugimomoto:20220324084900p:plain

ちなみにこのアプリは投稿だけでなく投稿されているデータの取得・確認も行えます。

f:id:sugimomoto:20220324084907p:plain

もし利用にあたって、わからない点などありましたら、お気軽にテクニカルサポートまでお問い合わせください。

https://www.cdata.com/jp/support/submit.aspx

※本記事は2022/03/24時点の情報に基づいて作成しています。Facebook API のアップデートは頻繁に行われますので、お試しの際にはぜひ最新のドキュメント・ヘルプを参照ください。