CData Software Blog

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

CData Instagram Driver がページアクセストークンによる認証をサポートしました

f:id:sugimomoto:20220413093831p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回はCData Instagram Driver の追加機能、ページアクセストークンによる認証方法のサポートを紹介したいと思います!

www.cdata.com

www.cdatablog.jp

ページアクセストークンとは?

使い方の前にまずページアクセストークンについて簡単に解説しておきたいと思います。

CData Instagram Driver は内部的にはFacebook Graph APIを使っているのですが、Facebook Graph APIではその認証方法としていくつかの種類のアクセストークンがサポートされています。

developers.facebook.com

f:id:sugimomoto:20220413093455p:plain

CData Driver では今までユーザーアクセストークンを利用していたのですが、このユーザーアクセストークン、ちょっと癖がありました。

まず、ユーザーアクセストークンには短期トークンと長期トークンが存在し、それぞれ有効期限が大きく異なります。

短期トークンは通常、1時間または2時間の有効期限を持ちます。一方、長期トークンは通常、約60日の有効期限を持ちます。

developers.facebook.com

CData Instagram Driver 内部ではこの長期トークンを保持して、リクエストを継続するのですが、それでも最大60日間が有効期限という制約が存在しました。

developers.facebook.com

それに対して、今回の新機能でページアクセストークンがサポートされました。

developers.facebook.com

これは管理しているFacebookページ・およびそのFacebookページに関連付けられているInstagram ビジネスアカウントのAPI にアクセスすることができるちょっと特殊なトークンです。

ページに紐づいているため、ユーザートークンよりもアクセス範囲が限られますが、大きな特徴として「有効期限が存在しない」というメリットがあります。

例えば、CData Syncのような定期的にデータレプリケーションを実行するような利用方法だと、有効期限を気にせず扱えるので便利ですね。

www.cdata.com

f:id:sugimomoto:20220413093502p:plain

ページトークン認証の使い方

それでは、実際にページアクセストークンを使って認証してみましょう。

ページアクセストークンの利用のためには予めBusiness AccountIdを指定する必要があります。

cdn.cdata.com

Business Account Idは「ビジネスマネージャー」から「ビジネス設定」に移動して「Instagramアカウント」を選択すると確認できます。

https://business.facebook.com/settings/

f:id:sugimomoto:20220413093510p:plain

あとはCData Instagram Driver の接続設定で 「Business Account Id」 に設定し、 「Authenticate As Page」をTrueに指定、接続のテストを実施するだけでOKです。

f:id:sugimomoto:20220413093516p:plain

今回はJDBC Driver を利用しましたが、お好みのツールから利用してみてください。

f:id:sugimomoto:20220413093521p:plain

アクセストークンを確認してみる

念のため、利用しているアクセストークンをFiddlerを通じて確認してみましょう。

www.cdatablog.jp

例えばAcountInsightsテーブルをクエリしてみると、以下のようにリクエスト内容が確認でき、利用されているAccess Tokenも採取できます。

f:id:sugimomoto:20220413093526p:plain

Access TokenはFacebookが提供しているアクセストークンデバッガーで詳細が確認できます。

https://developers.facebook.com/tools/debug/accesstoken/

以下のようにPageタイプのアクセストークンで有効期限が無い状態のものが利用されていることが確認できました。

f:id:sugimomoto:20220413093531p:plain

注意点

ページアクセストークンは有効期限が存在せず、運用上は便利ですが、その特性上一つのページにしかアクセスすることができません。

なので、複数のページを運用・管理・分析されたい場合は、接続を分けて利用する必要があるので注意しましょう。

おわりに

このような形でCData Driverでは日々様々な接続アプローチを追加しています。

API側の仕様にもよりますが、このようなアプローチをサポートしてほしい、などのリクエストがあれば、どうぞお気軽にサポートフォームまでご相談ください。

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