我知道服务器通过 POST 到收件箱和发件箱进行通信。但是收件箱和发件箱的 URL 是什么?
问问题
338 次
1 回答
5
如何获取收件箱或发件箱 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来标准化可用于获取演员的 JSON-LD 文档的 URL:
/.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
and outbox
:
{
"inbox": "https://mastodon.technology/users/Flaque/inbox",
"outbox": "https://mastodon.technology/users/Flaque/outbox",
...
}
于 2019-03-02T21:34:17.747 回答