YutaKanna / MeDJ

0 stars 0 forks source link

検索を機能させる #8

Closed YutaKanna closed 4 years ago

YutaKanna commented 4 years ago

ジャバさんのアプリの検索結果

スクリーンショット 2020-01-12 20 43 53

YutaKanna commented 4 years ago

YoutubeのAPIにはいくつかあるけど、IFrame APIを使用する

YouTube Player API

Webサイトに埋め込んだ動画を制御する「YouTube Player API」

作成した動画をYouTubeで公開するだけでなく、自社のWebサイトやブログにも掲載する場合があると思います。このとき、単純に「埋め込みコード」をHTMLに貼り付けるだけでは、次のような問題が発生します。

YouTube Data API

YouTube上のチャンネルや動画などを操作する「YouTube Data API」

YouTube Data APIを使って取得できるデータは、チャンネル情報/再生リスト情報/再生リスト内の動画情報/動画情報/動画検索結果です。基本的にすべて公開されている情報なので、手作業で取得することも可能ですが、前述したようにAPIを使えば一括取得できるため、大幅な時間短縮につながります。

https://blog.api.rakuten.net/jp-youtube-api

IFrame Player API

IFrame Player API を使うと、YouTube 動画プレーヤーをウェブサイトに埋め込み、JavaScript でプレーヤーを制御できます

YutaKanna commented 4 years ago

現在作業している YouTube API List のページを見ていると、 part 部分は snippet を入力してくださいと書かれています(上図参照)。 snippet、気になりますよね。 snippet はプログラミング言語の一種で、この場合では API アクセスによってサーバーから返ってくるデータを適切に処理するために必要な項目。 Google 検索の検索結果表示でも snippet が使われていますね(下図参照)。

https://blog.codecamp.jp/programming-api-youtube

YutaKanna commented 4 years ago

導入

https://www.plusdesign.co.jp/blog/?p=7752

YutaKanna commented 4 years ago

vueとか使いたいけど、いったんfooookasiでもやってる方法で行う

https://github.com/alaouy/Youtube

YutaKanna commented 4 years ago

google APIコンソール

https://console.developers.google.com/apis/dashboard?project=medj-264007&hl=JA

YutaKanna commented 4 years ago

dd($results); スクリーンショット 2020-01-04 11 15 24

YutaKanna commented 4 years ago

17時に割当がリセットされるのでその後にやる https://developers.google.com/analytics/devguides/config/userdeletion/v3/limits-quotas?hl=ja

YutaKanna commented 4 years ago
$results = Youtube::search($searchQuery, 2);

dd($results);
array:2 [▼
  0 => {#237 ▼
    +"kind": "youtube#searchResult"
    +"etag": ""OOFf3Zw2jDbxxHsjJ3l8u1U8dz4/OSMf_F8MfnUfkuum1Pl0kyuUg3E""
    +"id": {#230 ▼
      +"kind": "youtube#video"
      +"videoId": "lGCo8ILvauI"
    }
    +"snippet": {#243 ▼
      +"publishedAt": "2019-12-07T17:03:19.000Z"
      +"channelId": "UC5H_KXkPbEsGs0tFt8R35mA"
      +"title": "MARTIN GARRIX LIVE @ THE ETHER (Amsterdam RAI 2019)"
      +"description": "Martin Garrix Presents: THE ETHER ♫ Hold On is out now: http://stmpd.co/_k7FxID Great to be back home in Amsterdam for my THE ETHER show during ..."
      +"thumbnails": {#245 ▼
        +"default": {#244 ▶}
        +"medium": {#246 ▶}
        +"high": {#247 ▶}
      }
      +"channelTitle": "Martin Garrix"
      +"liveBroadcastContent": "none"
    }
  }
  1 => {#248 ▼
    +"kind": "youtube#searchResult"
    +"etag": ""OOFf3Zw2jDbxxHsjJ3l8u1U8dz4/kimgHWib9esBRpDcPMnz5VKIS7M""
    +"id": {#249 ▼
      +"kind": "youtube#video"
      +"videoId": "WKuaujIHBT4"
    }
    +"snippet": {#250 ▼
      +"publishedAt": "2019-04-01T19:01:36.000Z"
      +"channelId": "UC5H_KXkPbEsGs0tFt8R35mA"
      +"title": "Martin Garrix - Live @ Ultra Music Festival Miami 2019"
      +"description": "Martin Garrix - Live @ Ultra Music Festival Miami 2019 ♫ Mistaken is out now: http://stmpd.co/MGMTNID ♫ Summer Days is out now: http://stmpd.co/MGMSDID ..."
      +"thumbnails": {#252 ▼
        +"default": {#251 ▶}
        +"medium": {#253 ▶}
        +"high": {#254 ▶}
      }
      +"channelTitle": "Martin Garrix"
      +"liveBroadcastContent": "none"
    }
  }
]
YutaKanna commented 4 years ago

videoId

0 "videoId": "lGCo8ILvauI"

https://www.youtube.com/watch?v=lGCo8ILvauI&t=6001s

1 videoId": "WKuaujIHBT4

https://www.youtube.com/watch?v=WKuaujIHBT4&t=3235s

YutaKanna commented 4 years ago

lGCo8ILvauI

$searchQuery = $request->get('keyword');

            $results = Youtube::search($searchQuery, 2);

            // dd($results);

            $videoIds = [];

            foreach($results as $result) {
                $hoge = $result->id->videoId;
                dd($hoge);
                $array = [
                    'videoId' => $result->id->videoId
                ];
                array_push($videoIds, $array);
            }
YutaKanna commented 4 years ago
array:2 [▼
  0 => array:1 [▼
    "videoId" => "lGCo8ILvauI"
  ]
  1 => array:1 [▼
    "videoId" => "WKuaujIHBT4"
  ]
]
if($request->has('keyword')) {
            $searchQuery = $request->get('keyword');

            $results = Youtube::search($searchQuery, 2);

            // dd($results);

            $videoIds = [];

            foreach($results as $result) {
                $hoge = $result->id->videoId;
                // dd($hoge);
                $array = [
                    'videoId' => $result->id->videoId
                ];
                array_push($videoIds, $array);
            }

            dd($videoIds);
        }
YutaKanna commented 4 years ago

なので、これだとうまく取れてる

YutaKanna commented 4 years ago
  1. Martin garrix liveで検索

スクリーンショット 2020-01-12 20 22 40

  1. 上位2件を表示する スクリーンショット 2020-01-12 20 22 44