【IFTTT】はてなブログで人気ブログランキングのping送信の自動化に成功
まるまるっとはてなブログのカスタムネタなので、ブログやってない読者の方にはごめんなさい、と始めに断ります。こういうの実は大好きなんです。ガジェットしかり、HTMLしかり。
はてなブログにはどのブログサービスにもある、ping送信機能やトラックバック送信機能はありません。始める前は知りませんでした。ごちゃごちゃしたブログサービスが嫌で、なんとなくはてなブログを始めてしまったので、ちょっといろいろ戸惑うことも多いです。はてなブログは、はてなスターやブックマークの機能、idコールが便利でいいと思うことも多いので、プラマイゼロということにします。
はてなブログにはping送信機能がない
はてなブログにはping送信機能がありません。よって、人気ブログランキングに記事を更新したことを伝えるには手動の方法しかなかったのです。
しかし、頭の良い方はいるもので、IFTTTとGoogle apps scriptを使った方法を紹介されています。
自動更新Pingはじめました☆はてなブログ to 人気ブログランキング - ☆迷走記☆
ガジェット好きといっても触ったことのないスクリプトに精通しているわけはないので、親切なid:fukuihiさんのお手をわずらわせつつ、なんとかものにしました。
自動ping送信に向けて
備忘録というわけではないのですが、How to記事を書いておくと、あとで自分が困ったときに役に立つということがわかりましたので丁寧に綴っておきます。
IFTTTに登録
まずはIFTTTに登録しましょう。名前とパスワードを決めます。Connect the apps you love. - IFTTT
その後は「自動更新Pingはじめました☆はてなブログ to 人気ブログランキング」ページにのっているIFTTTのレシピをクリックして登録します。
自分のブログのRSS(例: http://☆☆☆.hatenablog.com/rss)を登録しているので、ブログの記事が更新された時にIFTTTが動き出します。動くとGoogle documentにスプレッドシートが作成されます!(初めの段階)
※Googleのアカウントを持っていない方は予め作って下さい~(たぶんいないと思っている)
記事が更新されたときに無事にGoogle documentにスプレッドシートが作成されたら次の作業に移ります。
Googleスプレッドシートでの作業
レシピを使うと、Google ドライブの「IFTTT」というフォルダの中に、「with2net」というファイルが出来ています。そのファイルの1行目には更新記事の内容があります。ですが、あえて1行目に行を挿入して、A1にブログタイトル、B1にブログのURL、C1に人気ブログランキングの自分のping送信用アドレスを入力します。
もうこれで作業の半分は終わりました。あとはコピペと実行の確認です。
Google apps scriptに自動更新Pingはじめました☆はてなブログ to 人気ブログランキングのページにあるスクリプトをまるっとコピペします。コピペする場所は、「ツール」→「スクリプト エディタ」というところから移動します。
スクリプトエディタを選んで真っ白な画面が出てきたところで、そこへmy function{
から始まるスクリプトをぺろっとコピペさせて頂きます。
ちなみに私は、下記のスクリプトをif(sheet.getRange(lastRow, 7)の中に次の文入れることで、ファイル圧縮に努めております。このまま更新するとどんどん行が増えてしまい、いつか手動で消さねばなりません。手作業はとことんなくすのだ。
// 2行目を削除 var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var objSheet = objSpreadsheet.getActiveSheet(); objSheet.deleteRow(2);
id:fukuihiさんのスクリプトをぺろっとコピペさせて頂いた後に、紹介されているXML-RPC client on Google Apps Script を作りましたよ - @ikikko のはてなブログのページにあるid:ikikkoさんの長いスクリプトをまるっとコピペします。
コピペ作業はこれで終わり。
コピペしたスクリプトの中の最初にある
var ssId = "ファイル名"
を自分のGoogleスプレッドシートIDに変更させます。ここ、私が出来なかった1番重要なところです!
(ここでスクリプトのほうではなくスプレッドシートに戻ります)スプレッドシートIDとは、with2netというスプレッドシート名とは違うGoogleが独自に指定したURLのことです。スプレッドシートのURLをチェックして、d/より先にある長い文字列をコピペしましょう。下図の黄色で囲まれた部分がスプレッドシートIDです。
(またスクリプトエディタ画面に戻ります)時計型のマークをクリックして、どんな条件の時にスクリプトが動き出すのかを指定します。
私は1時間くらいのタイムラグがあってもいいと思っているので30分ごとに設定していますが、どのような設定がいいのかは不明です☆
この作業が全て終わったら、たぶんはてなブログで記事を更新すれば自動的にpingを送信できるようになっています。サーバやURLを変えればブログ村などへの応用もできるんじゃないでしょうか。
関連記事: 【お知らせ】ブログのアドレスが変わりました【独自ドメイン】