XplentyでYoutube Report APIデータを取得する


XplentyではYoutubeのReport APIに対してさまざまなパラメータを指定し、データを取得することが可能です。
今回はXplnetyを使用してYoutubeデータを抽出する方法について解説します。

テンプレートを使用する

Xplentyでは、簡単にパイプラインを作成できるテンプレートについても提供しており、これらを使うことで手軽にパイプラインを作成することが可能です。

コネクションを定義

Youtubeからデータを取得する際に、あらかじめConnection画面でYoutubeの接続を定義する必要があります。

Google アカウントを指定し、Xplentyからのアクセスを許可します。

テンプレートを使用したパッケージ作成

接続が作成できたら、「YouTube [Top Videos Report]」というテンプレートを使って設定方法を見ていきます。

パッケージを作成する際にテンプレートを指定すると、すでに構築済みのパイプラインが表示されます。

テンプレートの場合、基本的に変更しなければならない部分は以下の2点です。
1. パッケージ変数
Rest APIコンポーネントのURLパラメータにセットされる変数値を設定します。

(設定例)

2. 送信先のコンポーネント
全てのテンプレートパッケージの送信先はRedshiftが設定されています。自身のユースケースに合わせて送信先をデータベースやBigQuery、Snowflakeなどのデータウェアハウス、もしくはS3やGoogle Cloud Storageなどのストレージを宛先に変更する必要があります。

テンプレートで取得できるデータが欲しいデータに対応していない場合

この場合、テンプレートを参考に、リクエストURL部分を変更する必要があります。

URLでは、以下のように変数(太字部分)が設定されています。取得したいメトリックの項目を変更したい場合は、赤字部分を変更する必要があります。
https://youtubeanalytics.googleapis.com/v2/reports?dimensions=video&endDate=$EndDateByRange&ids=$ReportsChannelID&metrics=views%2CredViews%2Ccomments%2Clikes%2Cdislikes%2CvideosAddedToPlaylists%2CvideosRemovedFromPlaylists%2Cshares%2CestimatedMinutesWatched%2CestimatedRedMinutesWatched%2CaverageViewDuration%2CaverageViewPercentage%2CannotationClickThroughRate%2CannotationCloseRate%2CannotationImpressions%2CannotationClickableImpressions%2CannotationClosableImpressions%2CannotationClicks%2CannotationCloses%2CcardClickRate%2CcardTeaserClickRate%2CcardImpressions%2CcardTeaserImpressions%2CcardClicks%2CcardTeaserClicks%2CsubscribersGained%2CsubscribersLost%2C&startDate=$StartDateByRange&sort=$TopVideoSort&maxResults=$TopVideomaxResults

Metric部分も含め、URLをカスタマイズして設定したい際に、URLの生成およびテストも含め、以下のサイトで確認しながら進めるのが便利です。

リクエストURLが生成されるので、Xplenty側のリクエストURLをこちらを参考に設定してみてください。