徒然なるままに

日常のあれこれなど

備忘録-GASを使ってブログ記事をMastodonへ自動投稿

先日、IFTTTのWebhooksが有料になったことに気付いて、「いや~、有料で利用し続けるのはちょっと……」って思ったから、慌てて「GASを使ってはてなブログの記事をMastodonへ自動投稿させる」ことにした私。ド素人なんで、最初は「どっかにコードとかあれば助かるんだけど」って思ってネットをググってはみたものの、まぁ当然、あるわけもなくて、結局はChatGPTさんの力を借りて、拙いコードを作ったわけだけど。

GASとか使うのも初めてという程の超ド素人だったので、今回の作業を備忘録として記録しておいた方がいいかも? と思い始めた。いや、もう二度とこんな作業することはないと思うけど。(;^_^A

ただ、今回の私の場合は、IFTTTのWebhooksのアプレット停止以降に、はてなブログに私が記事を投稿したのは「ただ一つ」だけだったことが幸いしていて、何個も何個も記事を投稿していたら、今回私が作ったGASのコードは全く役に立たないと思われる。
ここ、すーんごく大事! (T▽T)アハハ!
もし既にたくさん記事を書いて投稿していた場合は、最新の記事のものしか投稿出来ないので、それ以前の記事については諦めるしかないです。(T^T)クゥー

では備忘録スタート!

 

◆◆まず用意するも◆◆

Googleアカウント ⇒ これGASを使うのに必ず必要(笑)
はてなブログRSSフィードのURL ⇒ http://{自分のブログのURL}/rss
MastodonAPIのURL ⇒ https://{自分が属するmastodonのドメイン名)※ 
Mastodonのアクセストーク

とは言え、②、③、④については、今までIFTTTを利用していたなら、だいたい既にあるものなので解るけど、注意点は③のMastodonAPIのURLのところ。ここは、今回の私のGASのコードでは、自分のアカウントがあるMastodonドメイン名(例えば、https://mstdn.jphttps://mastodon-japan.netなど)です。

④のMastodonのアクセストークンについては、新たにMastodon側で作成。作り方はIFTTTの時と一緒で、アプリ名は適当にGASとかにして、そしてアクセス権はwriteにのみチェックで!

 

◆◆具体的にLet's Try!◆◆

❶まずMastodon側で、④Mastodonのアクセストークンを作成

❷GAS(Google Apps Script)でスタンドアロン型新規プロジェクト作成

今回はGoogleスプレッドシートとかは全く利用しないのでスタンドアロン型の新規プロジェクトの作成で大丈夫!

尚、下記のサイトで、GASの基本的な使い方(スタンドアロン型のプロジェクトの作成方法やプロジェクトの保存方法など)が詳しく書かれてあって、私はめちゃくちゃ助かりましたよ~。GASが初めての方ならば、是非読まれるべし!

Google Apps Script(GAS)の基本的な使い方|2つの開き方とその違いを解説 - 株式会社ASTINA

Google Apps Script(GAS)の基本的な使い方|2つの開き方とその違いを解説 - 株式会社ASTINA

毎日届く大量のメール管理、お問い合わせフォーム内容の選別、毎月発生する資料のPDF化など、日々の業務で発生する、簡単だが毎日やるには少し面倒な作業。 これらを「PCがすべて自動で行ってくれたらと良いな」と思ったことはありませんか? 定期的な

 

❸GASの新規プロジェクトのコード欄に下記のコードをコピペ!

GASのコード欄には予めデフォルトで「function myFunction() { }~」って文字が入ってるけど、これは消して下記コードを1行目からコピペ!

 

❹コピペしたコードを、自分の環境に合わせて修正!

■必ず6~9行目を修正
※注意:修正時、" "(ダブルクォーテーション)は消さない!

6行目⇒var rssFeedUrl = "②"
7行目⇒ var mastodonApiUrl = "③"
8行目⇒ var mastodonAccessToken = "④"
9行目⇒ var visibility = "public"; ←これは publicにする

■あと、必要であれば、Mastodonへ投稿時のタイトル表記方法の変更。
※IFTTTで「Body」に入力していた「status=ブログ更新 #はてなブログ {{EntryTitle}} {{EntryUrl}}」に相当する部分(上記コードでは40行目)

IFTTTを利用していた時と同様にしたかったので、下記のように変更
"status": "はてなブログを更新しました" + "#はてなブログ" + "\n" + title + "\n" + link,

 

❺修正したGASのプロジェクトを保存

 

プロジェクト名
ファイル名
この2つを任意ものに変更して、のメニューバーにある「プロジェクトを保存」(「▷実行」の左横にあるファイルのようなマークが「プロジェクトを保存」のボタン)を押して、プロジェクトを保存する。

スクリプトの動作チェック用のブログ記事を1つ作成しておく

スクリプト動作チェック用のため「公開」はせず「下書き」で保存しておく。

はてなブログの新しい投稿が前回のスクリプト実行時の最新の投稿と異なると判断する場合のみ、Mastodonに投稿するよう「ブログタイトル」と「ポストリンク」でチェックしているため、過去の記事のコピーや同一のブログタイトルで作成するのはNG。(動作チェックした後は削除しても問題ないのでダミーでOK)

 

❼保存したプロジェクトを実行する

のメニューバーにある「▷実行」をクリック!

 

 

スクリプト画面下の「実行ログ」で実行完了が表示されたことを確認!
※もし途中でエラーが発生してしまったら、実行ログ部分にエラー箇所が表示されるので、スクリプトのコードを再確認する。

 

❽正常に実行完了したら、Mastodonを開いて新規記事が投稿されているかを確認

❾先程作成した❻のチェック用ブログ記事をはてなブログに公開する

❿再度、GASのプロジェクトを実行する
のメニューバーにある「▷実行」をクリック!
スクリプト画面下の「実行ログ」で実行完了が表示されたことを確認!
投稿したチェック用のブログ記事が、無事にMastodonへ自動投稿されていればOK!

⓫GASのプロジェクトを定期的に実行するためトリガーを設定する

プロジェクトの画面の左端のメニューにある「トリガー」をクリック!

 

 

下記画面になるので、右下の青の「+トリガーを追加」ボタンをクリック!

 

 

すると次のような画面が出るので詳細の設定をする。
まぁ、一定の時間ごとにRSSフィードの更新をチェックしてプロジェクトを走らせればいいだけなので、設定するところは、
■イベントのソースを選択 ⇒ 時間主導型
■時間ベースのトリガーのタイプを選択 ⇒ 時間ベースのタイマー
■時間の間隔を選択(時間) ⇒ 1、2、4、6、8、12時間おきのうちのどれか
※私はブロクをそんなに頻繁に更新しないので、4時間おきに今は設定してたりする

 

設定が出来たら、右下の「保存」をクリック。

 

◆◆以上! これで全てが完了だーっ!◆◆

 

あとは、GASを閉じて終わり! ヤッホー(ノ^∇^)ノ
GASはクラウドで動くから、パソコンの電源切っても問題ないしね~。
急場で作った拙いもんだけど、ちゃんと動きゃいいわけで。(;^_^A

いや~、ほんと、GASとか全くの初心者だったから、目一杯、皆様のお知恵をお借りしましたよ~。

トリガー設定とかは、下記の記事にマジ、助けて貰いました。凄く解りやすかった! 何か尊敬するわ、こういうことが出来る人!
本当に、皆様、ありがとうございます。<(_ _)>

 

GAS - トリガーについて - ひとりでのアプリ開発 - fineの備忘録 -

GAS - トリガーについて - ひとりでのアプリ開発 - fineの備忘録 -

GASを使う目的の一つとして、自動化があります。本記事では、GASの自動実行に欠かせないトリガーについて、まとめます。

【GAS入門】トリガーの設定方法|GASで業務効率化

【GAS入門】トリガーの設定方法|GASで業務効率化

今回は僕がとても好きなGoogle Apps Script(通称GAS)について、初心者でもわかりやすいようにご紹介していこうと思います。入門編ということで、今回はトリガーの設定方法についてです。GAS入門:トリガーを設定する方法GASでは

 

どこまでも「無料」にこだわる私。(爆)
ダッテ ビンボウニン ダモノ。(T^T)クゥー