もやぶろ

moyashidaisukeのブログだからもやぶろ。フリーランスのエンジニアのダイスケです。QOLあげて色々楽しくチャレンジして良く生きたい。プログラム関連とかギター関連とか旅行関連とか色々。

はてなブログの過去記事をGASでTwitterに自動投稿するようにしたよ

概要

記事数も200を超えてきたですが、昔の記事ってあまり読まれないのと(内容がうんぬんというのはありますが)、個人的にも過去記事をたまに見返すきかっけになるかな?と思い、過去記事をランダムで自動で投稿するようにしてみました。

うざいな〜と思ったらやめますw

自動投稿結果

作り方

もう作ってくれた方がいらっしゃっいました。マジ感謝。

www.stray-scrapbook.work

基本この通りなのですが、Twitterの仕様変更でこの通りいかないのを頑張ったのと、自分用にカスタマイズしましたメモです。

今から導入する方の参考にどうぞ。

技術要素をざっと解説

google app script(GAS)ではてなブログのRSSをスクレイピングして、TwitterにOAuthして投稿する仕組みです。

GASって外部ライブラリを読み込む事もできるんですね。普通に知らなかったです。

あと、トリガーで定期実行もできて便利。

ちょっとしたツールなら全然GASでいけますねぇ。

紹介記事通りいかなかったところ

TwitterのDeveloper登録

Twitterのアプリケーションを作成する時に、Developer登録というのをする必要があります。

こちらが詳しいです。

Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ ※2019年8月時点の情報 - Qiita

説明の英語はこう書きました。(拙い英語だけど、google翻訳では正しい日本語に翻訳されたので多分伝わるはず、、、

これがTOEIC700点の英語だ!

I will make a bot that posting my old blog entries.

I manage my entries in google spreadsheet.

GAS scirpt read data from spreadsheet, call twitter api from GAS script.

GAS script call will be scheduled.

めんどくさいやり取りが始まるかと思いきや、一日であっさり通りました。

アプリ作成時の注意

name

世界の誰ともかぶっちゃだめです。私は「HatenaOldEntryBotMoyashidaisuke」としました。

Allow this application to be used to sign in with Twitte

よくわからないですが、チェックなしで動きました。

callback

URLは

https://script.google.com/macros/d/XXXXXXXX/usercallback です。

編集画面のURLをコピーすると、 https://script.google.com/d/XXXXXXXXX で微妙に違うので注意。(30分くらい悩んでしまった

カスタマイズ

私好みにしました。

  • 日付は年月日まで
  • 本文は適当に好みで
  // 日時フォーマット変更
  var published = Utilities.formatDate(new Date(publishedStr), 'Asia/Tokyo', 'yyyy/MM/dd');

  var tweetStr = "";
  tweetStr += "☆過去記事の紹介(自動投稿です)☆\n";
  tweetStr += "\n";
  tweetStr += "🕘" + published + "\n";
  tweetStr += "「" + title + "」\n";
  tweetStr += url + "\n";
  tweetStr += "\n";
  tweetStr += "#過去記事bot #はてなブログ \n";

まとめ

GASって業務では避けてましたが(メンテ性がしんどいので、、、)個人用ならめっちゃ便利ですね。大体なんでもできる。