【パブリッシャー】YouTube APIにクエリをかけてみる

今回は、[Sharperlight](https://sharperlight.jp/)パブリッシャーでYouTubeのプレイリストを表示するレポートを作成してみます。
Google API Keyを取得済みであることが前提です。そしてこのAPIを有効にしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/05908e0d-a1b5-ec8a-254d-a11dc3770274.png)
### クエリの詳細 ###
あらかじめ作成しておいたクエリ、つまりYouTubeAPIからプレイリストの詳細を取得するクエリがあるので、それについて説明していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/7c2d4d98-d19c-c1be-976e-4e69c8758492.png)
#### フィルター ####
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/c1bdf89d-ded4-f122-04fb-22ce49b58dc3.png)
**1 製品：** システム(Sharperlight)を使用します。
**2 テーブル：** `Webページのテーブル、CSV、JSON、XMLまたはOData`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/04c8e5df-b452-2c3a-72de-bf589396dec4.png)
**3 Google API KEY：** プロンプトフィルターとして追加する。（プロンプトフィルターとは、クエリのWHERE句には記述されないフィルターで、値の受け渡し等に使用できる）
**4 Playlist ID：** クエリをかけて情報を得たいYouTubeのプレイリストのID。これもプロンプトフィルターとして追加する。
**5 URLリンク：**  プレイリスト情報を得るためのAPIエンドポイントURLを指定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/4e352110-ccdc-ef5a-f2ae-39c721dcdd0c.png)
```
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&playlistId={@PlayListID}&key={@APIKEY}
```
**6 開始位置：** APIから返ってくるJSONデータのレコード配列名を指定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/eb29c39a-a5df-8e3e-f543-b53c166cfd02.png)
#### 出力 ####
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/2810d6da-8813-dfae-8699-cd218111d80e.png)
**1 タイトル：** 拡張表現。JSONデータ `snippet`から`title`の値を取り出します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/464356bf-f213-e7cd-9df7-b38069fe93a0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/b1b7fb23-9de3-318b-523b-6b3215fabd97.png)
**2 リストアイテム番号：** 拡張表現。 JSONデータ `snippet`から`position`の値を取り出し、1を加算します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/17e6c966-7b14-0257-5186-06611a3adcde.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/1f8318e2-9f6b-4b6e-d5f8-c000d5e6ebc8.png)
**3 説明：** 拡張表現。 JSONデータ `snippet`から`description`の値を取り出します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/a6d22a3c-0a96-8e3d-868c-b92a30e96fd0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/af1611e8-797e-d987-ff57-3b873d1d1638.png)
**4 Video URL：** 拡張表現。非表示。それぞれのビデオを鑑賞するためのURLを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/15212d84-9404-515a-cccb-2f9eab1af531.png)
**5 Image URL：** 拡張表現。非表示。それぞれのビデオのサムネイルを取得するためのURLを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/a23c1d40-e9a0-9cff-c7f5-728d381ccc9f.png)
**6 ビデオ：** 拡張表現。各ビデオへのHTMLリンクを作成します。上記**4**および**5**で作成したURLを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/766d2bf1-0d23-9ea8-948e-01ef6f9e13e2.png)
**7 公開日：** 拡張表現。各ビデオの公開された日時を表示します。Date型に変換しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/d5685554-896f-a406-ff29-244dc96d13b9.png)
**8 snippet：** 返ってくるJSONデータの読み込み対象部位。
### クエリ（Webレポート）の実行 ###
クエリを保存して、Webレポートのグループ名、コードおよびレポートのタイトル等を記入して保存します。
Sharperlightサービスの起動を確認後、右クリックメニューの`レポートの表示`でレポートをブラウザで閲覧してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/3cdfa6ae-c941-55c2-e47a-840fad971fa2.png)
このようなレポートが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2530698/4d3cf174-5691-c56f-c700-62475aca4918.png)
ビデオのサムネイルをクリックすると、YouTubeビデオを閲覧することができます。

では、失礼します。