В ActivityPub, как вы получаете URL-адрес входящей почты?
Я знаю, что серверы обмениваются сообщениями POST с входящими и исходящими сообщениями. Но каков URL для входящих и исходящих?
1 ответ
Как получить входящие или исходящие URL
URL-адрес - это то, что говорит сервер-исполнитель. Так что это отличается для каждого сервера ActivityPub.
Входящие и исходящие URL-адреса для субъекта определены в документе JSON-LD для субъекта:
{
"@context": ["https://www.w3.org/ns/activitystreams",
{"@language": "ja"}],
"type": "Person",
"id": "https://kenzoishii.example.com/",
// Right here!
"inbox": "https://kenzoishii.example.com/inbox.json",
"outbox": "https://kenzoishii.example.com/feed.json",
...
}
Это также означает, что входящие и исходящие могут зависеть от субъекта, а не только от сервера.
Как получить актер JSON
Некоторые сайты ActivityPub, такие как Mastodon, используют Webfinger для стандартизации URL-адреса, который можно использовать для получения документа JSON-LD актера:
/.well-known/webfinger?resource=acct:foo@example.org
В этом случае, если вы хотите узнать входящие flaque@mastodon.social
, вы бы сначала запросили webfinger:
GET https://mastodon.technology/.well-known/webfinger?resource=acct:flaque@mastodon.technology
Это даст вам объект JSON, подобный этому:
{
subject: "acct:Flaque@mastodon.technology",
links: [
{
rel: "self",
type: "application/activity+json",
href: "https://mastodon.technology/users/Flaque"
}
]
}
С этим href: https://mastodon.technology/users/Flaque
Вы можете получить представление JSON с помощью:
https://mastodon.technology/users/Flaque.json
(Обратите внимание .json
!)
Это даст вам полный объект актера, который будет включать inbox
а также outbox
:
{
"inbox": "https://mastodon.technology/users/Flaque/inbox",
"outbox": "https://mastodon.technology/users/Flaque/outbox",
...
}