Power AppsでYoutube再生アプリにチャレンジしてみたお話

Power AppsでYoutube再生?

dai365です。

いつものようにポエムです。

技術的には全然たいしたことありませんのであしからず

いつものようにいきつけのコミュニティーで私はまたもやりたいことに出会う

なんとPower AppsでYoutube再生アプリを作るというのだ、それもチャンネル情報まで取得してリスト化するという!!

これはやってみたい!!いつもの好奇心がムクムクと湧き上がってきた

 

今回の仕組みは

まずはチャネルIDが必要です。これは別途調べる必要があります。

ilr.jp

今回はここで調べてみました

これをPower Apps側からフローに投げてあげます

フロー自体は以下のような感じです

チャネルIDをアプリから渡して、RSSフィードを取得します。

次にJSON解析アクション

選択アクションでID,タイトル、リンク、日付を選択します

それを文字列変数に格納して、アプリに返却します

とまあ、ここまででもタイトルと動画リンクは取得できるので、別に見るだけなら支障ないんですけどねえ・・・・
まあプレミアムコネクタ使わないならここまでの範疇で

 

やっぱりさあ、サムネイルとか動画概要欄とか欲しいよねえ

ということでもう一つフロー作ります(笑)

YoutubeAPI叩いてみました

アプリからVideoIDを渡します

後で使うアレイの変数を初期化しておきます

次の変数にはAPIKeyを入れておきます

で次にAPIを叩きます、これは所定のお作法に則って

Videos: list  |  YouTube Data API  |  Google for Developers

 

次にJSON解析をして、先に初期化した配列変数にあれこれ入れます

で最後に応答アクションでアプリに返却します

ということでアプリ側でフローを動かしてみましょう

 

多少みっともないですがフローを2つ動かします

チャネル選んで、ボタン押します、Onselectには以下のように仕込みます

 

ClearCollect(collist,youtube_RSS_VideoInfo取得.Run(LookUp(colid,name=DropdownChannelID.Selected.Value).id));
Clear(coltitle);
ForAll(Table(ParseJSON(First(collist).return)),Collect(coltitle,{index:CountRows(coltitle)+1,id:Value.ID,Title:Value.Title,Lynk:Value.Lynk,date:Value.Date}));
ClearCollect(videodata,youtube_VideolID検索.Run(Substitute(
Concat(coltitle,ID,","),"yt:video:","")))

 

*ドロップダウンには

ClearCollect(colid,[{name:"Reza",id:"UCvBYTqRx-n_8KzFO0MJlUVw"},{name:"Shane",id:"UC7_OGRP8BYvtGB8eZdPG6Ng"},{name:"ラボ3",id:"UCiSnVOObBXiwA8vRdAPt4Uw"},{name:"OfficeTANAKA",id:"UCA8Myo_LPwq-ED3QhKaSXJw"}]);を仕込んであります

 

すると・・・

まあなんということでしょう、Rezaさんの最新動画がこんなふうに表示されました

 

このアプリの用途?

会社でyoutubeの動画見ながらアプリ作りたいときありますよね、ないですか?

私はあります(笑)

そんなときにYoutubeを普通に見ていたら、サボってるんじゃないかと誤解されますよね

ならば、youtubeからPower関連のチャネルしか見れないようなアプリを作ってしまえば堂々とyoutubeを業務時間中に見れるのではないか?

そんな思いからこんなアプリを作ってみました

 

世の管理職の方々、Power系動画視聴は学習です!!
やる気の表れですので、そんな意欲に目を向けてあげてください

 

最後に、おうじゃさんいつもありがとうございます

oujasan-to-issho.connpass.com