投稿の公開範囲
ActivityPubでは、Fediverseに投稿するNoteの公開範囲を設定することができます。
まずは投稿が流れるタイムラインの種類。タイムラインはすべて時系列で流れています。
- ホーム
自分がフォローしているユーザー(サーバーは問わない)の投稿が流れるタイムライン
「自分で作る、自分のタイムライン」 - ローカル
自分が登録参加しているサーバーのユーザーの投稿(自分も含めて)が流れるタイムライン
「サーバーの特徴、文化・風習がわかる、サーバーのタイムライン」 - 連合
自分が登録参加しているサーバーのユーザーの投稿、同じサーバーのユーザーがフォローしている他サーバーのユーザーの投稿やAnnounce(ブースト)された他サーバーの投稿など、繋がっているすべてのユーザーの投稿が流れるタイムライン
「なんでもあり、ごった煮のタイムライン」
公開範囲は以下の4パターン
| 全公開 | 誰でも見ることができる | 連合、ローカル、ホームすべてのタイムラインに流れる |
|---|---|---|
| 未収載 | 誰でも見ることができる | ホームタイムラインに流れる |
| フォロワー限定 | フォロワーだけが見ることができる | ホームタイムラインに流れる |
| ダイレクト(DM) | 指定したユーザーだけが見ることができる | - |
以上の公開範囲は、Activityの宛先「to」「cc」に指定することで設定することができます。
たとえば以下
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://tokoroten.doncha.net/t2aki/followers"
],
メールと同じようなものです。「to」はメインの宛先だし、「cc」はメインの宛先以外にも送りたい宛先、みたいな感じ。
この組み合わせで公開範囲をコントロールします。
- https://www.w3.org/ns/activitystreams#Public というのは全公開の「キーワード」というか呪文
- https://tokoroten.doncha.net/t2aki/followers というのは自分のフォロワーさんに配送してくださいという呪文
「to」と「cc」で指定する公開範囲
「Public」は「https://www.w3.org/ns/activitystreams#Public」
「followers」は「YOURDOMAIN/USERNAME/followers」
| to | cc | |
| 全公開 | Public | followers |
| 未収載 | followers | Public |
| フォロワー限定 | followers | - |
| ダイレクト(DM) | 指定したユーザーのinbox | - |
「ダイレクト」の指定したユーザーのinboxとは
webfingerから取得するユーザーアカウント情報(Type:personのJSON)に記載されているURLです。
"inbox": "https://YOUR-DOMAIN/USER-NAME/inbox"
(ユーザーアカウント情報のJSONの例はこちら「Fediverseに参加するための最低条件1」にあります)
サーバーによってはもっと細かくコントロールできるところもありますが、 現状、ActivityPubで決められている仕様では以上の4つだろうと思います。
「未収載」という「全公開ではない、微妙に控えめな公開」というのがActivityPubというかFediverseの面白い公開範囲でしょうか。
未収載もフォロワー限定もフォロワーのホームタイムラインに自分の投稿が流れるんだけど。
・未収載は、自分をフォローしていないユーザーがフォロワーのホームに流れている自分の投稿を見ることができる。
・フォロワー限定は、自分をフォローしていないユーザーがフォロワーのホームを見ても自分の投稿は見えない。
[2025-02-07 19:34:08] v1.0.0

