おひとり様ActivityPubサーバーにLike実装

2023/10/6 [10:10:37] (金) 天気

おひとり様APサーバーにもLikeを実装してみた。

自分の投稿に対するLikeはどうでもよくて、Likeされる方じゃなくて、する方の実装。


せっかくSNSだし、WEB拍手的なノリ(あれ?もしかして「Web拍手」って死語?)でポチっとできればなあ、と。

リプライ(返信する)のはちょっと厚かましい?馴れ馴れしい?恥ずかしい?空気読んで遠慮した方がいい?的なところに「WEB拍手」という控えめなリアクションは(主語を大きくすると)日本人向きの仕組みだなあ、と思う。


Likeに使うjson


{"@context": [
  "https://www.w3.org/ns/activitystreams",
   {"Hashtag": "as:Hashtag"}],
"type": "Like",
"id": "https://tokoroten.doncha.net/t2aki#a69b50a5-636b-11ee-83a8-d34678f16ad4",
"actor": "https://tokoroten.doncha.net/t2aki",
"object":"https://example.com/users/status/123456"}

typeがLikeのjsonで、actorは自分、objectに対象となる投稿のURLというお約束。

このjsonをお相手のエンドポイントにPOSTするだけ。他になにかが必要ということもなかった。

ブーストと違って運用的に考えなきゃいけないこともないんでサクっと実装できた。


とはいえ。

Like、イイネも承認欲求の対象、ハマると危険なので、自分の投稿に対するLikeは取得しない。

この危険はブースト(リツイート、リポスト)と同じだ。

これらに引きずられて言わなくてもいいことを言ってしまったり、デマ拡散に加担してしまったり。ロクなことはない。


SNSのもっともダメなところだ…SNSのせいにしちゃいけない。か。ひとの弱いところをつかれてしまう、ということだな。


[10/17 05:23:58]

とか言いつつ、前言撤回。

自分に対するLikeも取得するようにした。

Likeするひとにしてみたら、Likeしたのになんの反応もないんじゃ無視されてるように見えるなあ、と。とりあえずLikeについては3日間保持ということで対応。


[2024/01/11 02:32:48]

like一覧を実装してみた。

Likeしたものについては、タイムラインのJSONと違って投稿のURLだけで投稿内容はないので大丈夫だろうとそのまま保存してたら…上記したように、Web拍手的なノリでLikeをポチっとしてるので保存しているJSONが大量に溜まっていく。

ページングするのも面倒くさいんで、タイムライン同様、保存上限を設定して古いものは削除ということにした。保存期間は2週間。

一覧するのは日付と投稿のリンク。リンクを叩いてNoteのJSONをGETして表示。投稿を確認して手動でも削除できるようにした。

「いいね」するのもされるのも、その時その場、だなあ。

残しておきたいような投稿は、それこそひとり掲示板にメモしてるしね。


image

河童べこ。久しぶりにガチャガチャ回してる。

<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031
検索:

【最近の20件】