> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Integrate.io ETLのテンプレート機能を使い、YouTube Reporting APIから各種パラメータを指定してチャンネル統計や視聴データを取得するパイプラインを構築する方法を解説します。

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

## テンプレートを使用する

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

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-1.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=66927f3c8e13776584d5e94c73cd5ca8" alt="templates-part02-jp image 1" width="976" height="714" data-path="images/japanese-knowledge-base/templates-part02-jp/image-1.webp" />
</Frame>

## コネクションを定義

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

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-2.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=20eb585820950b10c6d6f97e6f32583c" alt="templates-part02-jp image 2" width="2210" height="1496" data-path="images/japanese-knowledge-base/templates-part02-jp/image-2.webp" />
</Frame>

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

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-3.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=996dffe2c19dfea52194835a4740ee4a" alt="templates-part02-jp image 3" width="1776" height="1136" data-path="images/japanese-knowledge-base/templates-part02-jp/image-3.webp" />
</Frame>

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

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

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

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-4.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=975c4854f995d715364d3edfd665dd86" alt="templates-part02-jp image 4" width="2748" height="1466" data-path="images/japanese-knowledge-base/templates-part02-jp/image-4.webp" />
</Frame>

テンプレートの場合、基本的に変更しなければならない部分は以下の２点です。

**1. パッケージ変数**

Rest APIコンポーネントのURLパラメータにセットされる変数値を設定します。

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-5.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=2b5f9edfb483cefc457f3aa4df28a674" alt="templates-part02-jp image 5" width="2254" height="1466" data-path="images/japanese-knowledge-base/templates-part02-jp/image-5.webp" />
</Frame>

（設定例）

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-6.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=7bd865d08cda82fd6e28a02af36f454a" alt="templates-part02-jp image 6" width="2048" height="1438" data-path="images/japanese-knowledge-base/templates-part02-jp/image-6.webp" />
</Frame>

**2. 送信先のコンポーネント**

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

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

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

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-7.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=dc5380a27a6b137430a9f2282ab5728b" alt="templates-part02-jp image 7" width="1762" height="1176" data-path="images/japanese-knowledge-base/templates-part02-jp/image-7.webp" />
</Frame>

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の生成およびテストも含め、以下のサイトで確認しながら進めるのが便利です。

\==> [Reports: Query | YouTube Analytics and Reporting APIs | Google for Developers](https://developers.google.com/youtube/analytics/reference/reports/query?apix=true)

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-8.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=38ad60488c32666de334258704a7996b" alt="templates-part02-jp image 8" width="1794" height="964" data-path="images/japanese-knowledge-base/templates-part02-jp/image-8.webp" />
</Frame>

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

<Frame>
  <img src="https://mintcdn.com/integrateio/X6Tbr12w4wun31Cu/images/japanese-knowledge-base/templates-part02-jp/image-9.webp?fit=max&auto=format&n=X6Tbr12w4wun31Cu&q=85&s=aaabb9386ba4f342aec2b3a42876264a" alt="templates-part02-jp image 9" width="1780" height="1014" data-path="images/japanese-knowledge-base/templates-part02-jp/image-9.webp" />
</Frame>
