凡人サラリーマンが、個人としても組織人としても、自在に生きるために必要なスキルや考え方を追求するブログです。

Google Apps Script(GAS)ではてなブログの過去記事をtwitterに自動投稿してみた

f:id:momokuri777:20190629212031j:plain

twitterやってたら、ブログの過去記事を自動投稿しているツイートを見かけます。

あっしもやってみたかったので、さっそく調べてやってみました!

 

 

はてなブログでGASを利用して過去記事をtwitterに自動投稿してみた

twtterで、たまにこんなツイートを見かけます。

 

 

お、「過去記事bot」というのがあるのか?

これは過去にブログに書いた投稿を、botが定期的にtwitterに投稿してくれるものではないのか。

 

これは良い!と思い、さっそく調べてみました。

そしたら、このブログにたどり着きました。

 

www.stray-scrapbook.work

 

上記ブログでは、このブロガーさんが独自に作成した仕組みが紹介されています。

Google Apps Script(GAS)twitter APIを利用して実現しているようです。

あっしはどちらもやったことないので、これも経験!と思ってやってみました。

 

ちょっといろいろやらないといけないのですが、手順1つ1つはそんなに難しくありません。

ステップとしては以下のような感じです。

 

  • Googleスプレッドシートを作成(Googleアカウントが必要)
  • GASアプリを作成する(コードをコピペ)
  • twitterアプリを作成(「Twitter Application Management」の登録が必要)
  • GASアプリからtwitterへの認証を行う
  • GASアプリの設定を行う(ツイート内容、自動投稿時間、投稿除外記事の設定)

 

上記ブログの説明が丁寧なので、見ながらやれば誰でも設定できます。

ただ記事が2018年1月のものなので、その間にtwitterAPIの仕様が変わったためか、少し説明内容とずれている部分がありました。

 

メインの説明は上記ブログにゆずりますが、あっしの説明では変わった部分とつまづいた部分だけに絞って書いていきます。

 

Twitter Application Managementの登録では英文で説明が必要

あっしはtwitter APIを利用したことが無いので、「Twitter Application Management」の登録が必要でした。

Developer — Twitter Developers

 

で、さっそく登録しようとしたんですが、このサイトの画面が上記ブログで紹介されているキャプチャ画像とはかなり違ってました。

どうやら、この記事が投稿されてからtwitter APIの仕様が変わってるみたいなんですね。

ネットで調べると、2018年7月~8月にそういう動きがあったようです。

 

それでもなんとか進めていると、小さな壁にぶちあたりました。

「何の目的で利用するのか英語で書け」っていう項目が出てきたんです。

しかも200文字以上という文字数指定で。

 

あっしは英語力がないんで、困りました。

google翻訳するしかないかなと思いましたが、ネットでいい英文が見つかったので、それを参考にしました。

naoyu.net

 

私はWordpressでブログサイトを運営しています。WordpressやWEBサイト制作に関連する記事を多く書いています。申請の目的は、ツイートを補助するWordpressプラグインを使用するためにあります。現時点ではそれ以外に使う目的はありません。

I am running a blog site in WordPress. I write a lot of articles related to WordPress and WEB site creation. The purpose of the application is to use the WordPress plugin to assist tweets. At the moment there is no purpose other than that.

 

これで239文字だそうです。

このブログの記事が書かれた頃は「300文字以上」という条件だったみたいですが、いまは少し短めでも良くなったということになりますね。

 

この英文を拝借しつつ、あっしはWordpressじゃないので、そのあたりは自分なりにアレンジして登録。

これでアカウント登録できました!

f:id:momokuri777:20190629221429j:plain

 

この後、過去記事bot用のtwitterアプリを作成するのですが、実はこのときにも英文での説明を求められました。

そこであっしはGoogle翻訳を使ってこのように登録しました。

ここでのノルマは100文字以上です。

 

はてなブログの過去記事をランダムでピックアップして毎日twitterに投稿します。それ以上でもそれ以下でもありません。
We randomly pick up the last blog posts and post them on twitter daily. It is neither more nor less than that.

 

これで登録成功。

事実を伝えたまでですよ、ええ。

 

twitterアプリのCallback URLの指定を誤る

GASアプリを実行し、twitterとの連携をする処理で、以下のようなエラーが出ました。

Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings

 

twitterアプリ側で設定した「Callback URL」が正しくない(承認されていない)というエラーです。

この解消にはちょっと時間がかかりました。

 

結論から言うと、あっしの勘違いミスでした。

Callback URLには、以下のURLを指定する必要がありました。

【正】https://script.google.com/macros/d/{GASのスクリプトID}/usercallback

 

しかしあっしは、GASのURLをコピペして、以下のようにURLを指定していました。

【誤】https://script.google.com/d/{GASのスクリプトID}/usercallback

 

「macros」というパスが抜けてたんですね。

これに気付くまで30分かかりました。

 

この件については、こちらの記事を参考にさせていただきました。

teratail.com

 

過去記事の自動投稿、成功!

ひっかかったのは上記2つだけで、あとはすんなりといきました。

ITエンジニアなんで、こういうのをすぐにやれるというのは強いです。

 

で、自動投稿されたツイートはこちら!

 

ツイート内容もカスタマイズできるんで、ちょいと変えてみました。

これを12時間ごとに投稿する設定にしています。

 

ツイート数も増やせるし、過去に眠っている記事の掘り起こしもできる。

めちゃいいですね、これ!

 

しばらく運用してみます。

 

というわけで

GASを利用してはてなブログの過去記事をtwitterに自動投稿してみた。

いかがだったでしょうか。

 

あっしとしても、新しい仕組みや試みを体験できてよかったです。

特にGASはちょっとやってみたかったんで、理解する良い機会でした。

自分で何かやりたいときにぱぱっと書けたらかっこいいな、なんて思います。

 

ぜひとも参考にどうぞ!