Blueskyに投稿する(GAS使用+IFTTTとの連携)

(2024/02/24 画像添付時のJSONを新しい仕様に対応するよう修正)

具体的にはGASに作成したWebサービスに本文や画像のURLをPostすると、その内容をBlueskyに投稿する、という内容のものを作る。

は?最初からBlueskyに投稿するのと何が違うの?

…なぜかというとこれは外部サイト(ブログ、他SNS等)の投稿をBlueskyに連携するときのためにつくるのです。

以前書いた「GASを使用してBlueskyの自分の投稿をRSSに変換する」記事を先に読んでもらえるとわかりやすいと思います。

ログインする

Blueskyの自分の投稿をRSSに変換する 参照。ただし今回はaccessJwtだけでなくdidも必要となるのでそれも取得しておく。

文章を投稿する

com.atproto.repo.createRecordに以下のJSONをPOSTする。

というわけでこんな感じになる。文字数チェックとかは各自よしなにしてください。

これで投稿自体は成功する。

ただしこれだと本文中のURLがリンクにならない。ここにリンクを付けたい場合はfacetsという項目をJSONに追加する必要がある。