3.1 前回チェック時よりも新しい時刻の記事がある
先にこちらの記事を確認されることをお勧めします。
´Д`)< この記事の内容
- 自動的に記事投稿してくれるような便利サービス
- IFTTTのFeed channelで新しい記事のチェック
- zapierで新しい記事のチェック
自動的に記事投稿してくれるような便利サービス
なんかサービス提供会社の回し者かという記事になりそうな気がするが;´Д`)
前の記事で最新記事情報取得方法まで分かったので、次はその情報を別Siteへ投稿する方法になる (最新記事に自分の投稿が含まれているかどうかの確認方法はもう少しあとで)。
世の中には便利なサービスを無料で提供しているところがあり、下記で紹介するサービスは記事投稿に限らず様々なことを自動化することができる。
しかしその機能を紹介していると時間がいくらあっても足りないので今回は必要な部分だけ;´Д`)
- IFTTT
- トリガーとアクションを組み合わせて様々なことを自動化してくれるサービス。
今回の例ではトリガー:Feed情報,アクション:SNS投稿 を使う。 - myThings
- Yahoo Japanが提供している、IFTTTの真似サイト;´Д`) びっくりするくらい完全に真似している;´Д`) イイノカコレ
しかしなぜか iPhone, Androidのみのサポートでパソコンからは使えない。なので今回の選択肢からは除外。 - zapier
- 今回初めて知ったサイト;´Д`) でも有名っぽい
IFTTTと比べてトリガー情報や出力情報を細かく指定できる。その分、細かく知っていないと分からないので難しい;´Д`)
無料アカウントでは「トリガー,アクション」の組み合わせのみらしい。有料アカウントなら「トリガー,アクション,アクション、アクション…」とできるらしい。かなり便利そう。
IFTTTのFeed channelで新しい記事のチェック
これ。選択すると自動的に5分間隔で指定したURLのFeed情報をチェックしてくれる。
トリガーとして選択すると、トリガー条件を選ぶ画面になる。
- New feed item
- 「新しいFeed情報があればアクションを実行する」という場合に選択する。
Feed情報が個別ユーザーを対象にしたものならこれを選択。 - New feed item matches
- 「新しいFeed情報に指定したkeywordがあればアクションを実行する」という場合に選択する。
ShortNoteのFeed情報の場合、投稿者が自分のものか確認する必要があるのでこちらを選択する。
次に現れる項目
- Keyword or simple phrase
- ここで指定した文字がFeed情報の中に含まれていれば、続くアクションを実行する。文字が含まれているかどうかを確認する対象タグは<item>,<title>,<description>のみ。
- Feed URL
- Feed情報を取得するURLを指定する。
´Д`)< ここ、ワイが一番苦労し、そして時間を消費した部分
「Keyword or simple phraseにShortNoteのユーザーIDを入れれば、自分の投稿と一致するものがあるときにアクションを実行してくれるんだな」と思ったらそうではないらしく。
赤字で書いた部分の通り、keywordと一致するか確認してくれるのは一部のタグだけなのだ。ちなみにこの情報、IFTTTのヘルプに載っていない。そしてGoogle検索で出てくるIFTTTのFeed channelについて解説している日本語サイトのどの記事にも載っていない。ワイはたまたま見つけた英語に記事でそれを知ったのだ;´Д`) フザケンナ
何度実行してもkeywordとマッチしてくれないし、何度見直しても正しく指定しているし、何度見てもfeed情報にIDがあるしでホント「どうなっとるんじゃー!」と何度叫んだかわからない;´Д`)
というわけでIFTTTでは今回やりたいことを実現できないということが分かった;´Д`)
じゃあどうするかというと別のサービス、zapierを使う。
zapierで新しい記事のチェック
IFTTTで説明した内容と同じことをzapierで行う……んだけど、手順が結構異なる。なぜかというと、「Feed情報に指定したkeywordがあれば続くアクションを実行」ができないから。
少し回りくどく感じるかもしれないけど、zapierでは2つのレシピに分けてそれを実現する。
- Feed情報からkeywordに一致する投稿情報を抜き出したFeed情報を作るレシピ
- Feed情報に新規情報があればSNSに投稿するレシピ
今回の記事は「自分の新しい記事投稿確認」までなので、ひとつめのレシピまで説明します。
ひとつめのレシピ
まずzapierで [MAKE A ZAP] を押してレシピ作成を開始する。
そしてトリガーとして「RSS」を選択する。
「Feedに新しいitemがあったとき」しか選択肢がないのでそれで進める。
次の画面には
- Feed URL
Feed情報取得先URL - Username
URLのFeed情報取得に認証が必要なときに指定 - Password
URLのFeed情報取得に認証が必要なときに指定 - What Triggers a New Feed Item?
Feed情報のチェック条件。Contentに違いがあればとかとにかく違いがあればとかあるが、大抵smartで大丈夫。
と色々設定欄があるが、Feed URLに https://www.shortnote.jp/feed/latest/atom.xml を指定するだけで他は変更なしで問題ない。
次の画面は入力内容確認画面なので、内容を確認してContinue。
その次はFeed情報が取れるかどうかの確認なので「Test successful」ならContinue。
次に選ぶのが Filter。
Only continue if ... しか選択肢がないのでこれを選ぶ。
次の画面で情報抜き出し条件を選択する。先の画面でFeed情報がちゃんと取れていればこんな風に取得できた情報が表示されるはず。
今回はユーザーIDが入ったURLを使いたいから、
- 1つ目のboxに Raw Author URIを指定
- 2つ目のboxに (Text) Containsを指定 (Textを含むものと一致する)
- 3つ目のboxに ユーザーIDを指定
とする……と言いたいところなんだけど、3つ目の項目に自分のユーザーIDを指定して先に進めるには、まずShortNoteに何か投稿する必要がある。そうでないとATOM feedに自分のIDが載らないから。
ShortNoteに「テスト投稿」とかしてもいいけど、設定に失敗するたびに投稿するとShortNoteにノイズ投稿が増えてしまう。それは避けたいので、設定が完了するまではひとまずATOM feedの一番上のentry欄に入っている方のユーザーIDをお借りして設定を進めてしまう。もちろん最後まで設定が完了したら、忘れずにユーザーIDを自分のものに変更する。
次の画面は「テストしますよー」なのでContinue。
次の画面で緑色の表示ならちゃんと一致しているのでAdd a step。不一致なら戻ってkeywordを指定しなおす。
次に指定するのはまたRSS。けれどもRSSを選択すると "Create item in Feed"になっている。
今回は設定項目が多い。
- Feed URL
作成するFeed情報を外部から取得するために作るURL。適当に決める。MyShortNoteFeedとか入れておくと分かりやすいかも。 - Feed Title
作成するFeed情報のタイトル。適当に𓆲𓄁𓄂𓃃𓁕𓁁𓁁𓀬𓀾𓀿とか入れればOK。空のままなら勝手に入れられる。 - Max Records
最大件数指定。50以下。空のままでOK。 - Item Title
New Item in Feed → Title を指定 - Source URL
元々入っているURLは消す。そして New Item in Feed → Link を指定 - Content
New Item in Feed → Content を指定
(Contentの場合、全文が入る。Descriptionの場合、前半数十文字が入る。目的に応じてお好みで) - Author Name
New Item in Feed → Raw Author Name を指定 - Author Email
ShortNoteのFeed情報にはEmail情報がない。しかし今回は自分の情報を抜き出しているので自分のEmail addressを入れれば要件は満たせる。未入力でも問題ない。 - Author Link
New Item in Feed → Raw Author Link を指定 - Media URL
未入力 - Media MIME Type
New Item in Feed → Raw Link @Type を指定 - Media Length in Bytes
未入力 - Pubdate
New Item in Feed → Pub Date を指定
次の画面が確認画面なのでContinue。
次の画面でテスト実行されるので、Test successfulならFinish。
次の画面でレシピに名前を付けて、保存先を指定 (Homeでいい)してスイッチをONにすればひとつめは完成。