ローカル公開API - kmycode/mastodon GitHub Wiki
kmyblueでは独自の公開範囲「ローカル公開」があります。これは内部ではpublic_unlisted
と表現されます。既存のクライアントアプリで表示崩れ・エラーを防ぐため、APIプロパティを分けています。
対応可否の判定方法
下記のエンドポイントで取得できるJSONについて
/api/v1/instance
/api/v2/instance
下記の配列に値があるかで判定してください
{
"fedibird_capabilities": [
"kmyblue_visibility_public_unlisted"
]
}
既存のオブジェクトに追加されたプロパティ
status
オブジェクトに以下のプロパティが追加されています。
{
"visibility_ex": "(文字列)本来の表示範囲"
}
既存のプロパティvisibility
には、public unlisted private direct
のみが入ります。public_unlisted
はpublic
に変換されます。visibility_ex
の中身もvisibility
と基本的には同一ですが、public_unlisted
は変換されずそのまま入りますので、ここでローカル公開を判定可能です。
投稿
投稿APIを呼び出す場合、JSONの以下のプロパティに追加で指定できる値があります。public_unlisted
を指定することで、その投稿は「ローカル公開」になります。
{
"visibility": "public_unlisted"
}
注意事項
kmyblueには「サードパーティアプリから投稿するとき、公開投稿をローカル公開に変更する」というユーザー設定があります。クライアントアプリで「公開」「ローカル公開」を区別して投稿したい場合、この設定をユーザーがオフにする必要があります。
ただし、この設定はクライアントアプリが投稿時に以下のプロパティを追加することで回避できます。これは、ローカル公開を実装していないクライアントアプリが使用してはいけません。
{
"force_visibility": true
}