ゲレの工房

ゲーム好きの中の人が、自分が作りたいアプリを作る記録です

IFTTT Pro備忘録:YouTubeでなにか行動したら、PinterestにPinをつけるようにFilterを作る

YouTubeで最近フクロモモンガの動画を朝に予約投稿するようにしました。
やりたいことは

  • 予約投稿したYouTubeのサムネイルを取得する
  • サムネイルを使ってPinterestにピンを貼る
  • IFTTT Proで自動化する

ということです。

私がやったことを少し解説します。

YouTubeのURLからサムネイルを取得する

この記事を参考にしました。
www.billionwallet.com

簡単に言うと、動画固有のIDを取得し、http://img.youtube.com/vi/(ID)/hqdefault.jpg をサムネイルURLとして取得する。となります。

IFTTT Pro で自動化する

今回はIFTTTを使います。
私はIFTTT Proという有料サービスを使っています。

IFTTTとは?

いくつかのサービスをつなげることができるハブのようなサービスです。
今回はYouTubePinterestとをつなごうと思います。

IFTTTの「This」

YouTubeを選択します。
私は今回、投稿したYouTube動画のPinを貼りたいので、「New public video uploaded by you」を選択しましたが、高評価を押した時とかは別のものを選択してもいいです。

IFTTTの「That」

PinterestのAdd Pinを選択します。

ここはほぼデフォルトでいいのですが、ボード名とPhotoUrlを指定しなければいけません。
今回は

  • ボード名:フクロモモンガ
  • PhotoUrl:{{Url}}

とします。
ボード名はPinterestで指したいボードを指定してください。
PhotoUrlは上書きするので、任意の文字列で構いません。

IFTTTの「Add filter」

フィルターを追加します。
以下のように追記しました。

var title = Youtube.newVideoUploadedYt.Title;
var url = Youtube.newVideoUploadedYt.Url;

if(title.indexOf("フクロモモンガ") == -1){
  Pinterest.addAPin.skip();
}

var index = url.indexOf("?v=");
var id = "";
if(index != -1){
  id = url.slice(index + 3);
} else {
  index = url.indexOf("youtu.be/");
  id = url.slice(index + 9);
}
Pinterest.addAPin.setPhotoUrl("https://img.youtube.com/vi/" + id + "/hqdefault.jpg");

やっていることは

  • フクロモモンガのタイトルが入っていなければskipする
  • urlから"?v="を検索して、それ以降のURLを取得しIDとする
  • urlが短縮URLの場合(youtu.be/eR_m6697muQ など)は、youtu.be/ のあとからIDを取得する
  • IDをくっつけてサムネイルURLとし、setPhotoUrlとしてPhotoUrlに上書きする

ということです。

終わりに

IFTTT Proのフィルターを使えば、色々楽しめそうです。
もっと日常の活動を自動化させたいですね。


広告