为什么据说是ActivityPub联邦的Discourse讨论串无法通过外部AP客户端访问?

示例

如果我在 mastodon.social/search 中输入 https://meta.discourse.org/t/uris-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment/342417?u=rokejulianlockhart(或 https://meta.discourse.org/ap/object/bc8f042ccca5ef56734c5f2460aa45cc[1],它会 404:[2] [3]

如果这不是 Discourse 的问题,我将把这个问题 提交给 Mastodon。但是,我尝试过的大多数其他 AP 平台(我期望它们能正常工作)都工作正常。


  1. https://meta.discourse.org/t/uris-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment/342417?u=rokejulianlockhart ↩︎

  2. search?q=https%3A%2F%2Fmeta.discourse.org%2Fap%2Fobject%2Fbc8f042ccca5ef56734c5f2460aa45cc ↩︎

  3. search?q=https%3A%2F%2Fmeta.discourse.org%2Ft%2Furis-to-the-origin-of-a-thread-that-has-since-been-merged-should-503-to-the-merged-comment%2F342417%3Fu%3Drokejulianlockhart ↩︎

1 个赞

我也缺少这个。没有它,除非它们已经在你的时间线上,否则很难或不可能与联邦帖子互动。

@rokejulianlockhart,只是好奇,你是否尝试过使用带有 WP ActivityPub 插件的 WordPress 实例的 URL?

1 个赞

这里到底发生了什么?我从来没有像下面这样写过:

RokeJulianLockhart:

在我们的论坛上讨论一下。

……而且有人把我的标记搞得一团糟。

1 个赞

哦!他们现在已经联合了!我不是在这里发表评论的。[ comparación] 他们只是在联合方面出了点问题:

  1. 格式没有被保留。

  2. 我能够喜欢我自己的帖子。
    这是一个单独的用户帐户,因为它是在另一个域上注册的。

[^1]:socialhub.activitypub.rocks/t/5123/3

@icaria36,没有。你知道有任何吗?

我相信这是一个 WordPress 网站,我刚刚用一篇最新的文章进行了测试,确实可以在 Mastodon 上找到该网址:Nature Holds Awe, Man – NHAM Mixtape 11 – NHAM

@icaria36,我不这么认为。Discourse 有原生的 AP 集成。

@rokejulianlockhart 针对您创建此主题的观点,同时,https://meta.discourse.org/t/why-are-supposedly-activitypub-federated-discourse-threads-inaccessible-via-external-ap-clients/356997 在 Mastodon 上找不到。

1 个赞

@icaria36,那可能是 Mastodon 的问题,因为 Discourse 会将其联合:

1 个赞

github.com/mastodon/mastodon/discussions/34600#discussioncomment-13031935 提到:

Discourse AP 插件会在您点击绿色的 ActivityPub 图标并点击“Note”按钮复制 URL 时提供 ActivityPub 对象:Why are supposedly ActivityPub-federated Discourse threads inaccessible via external AP clients? - #9 by rokejulianlockhart - Bug - Discourse Meta

Discourse AP 需要通过某种方式将 url 链接回 id,最好是通过对带有正确 Accept 内容协商标头的请求进行重定向。

因此,我暂时将其标记为 #bug。 (我不能,太旧了。)

但是“Notes”图标提供的 URL 粘贴到 mastodon.social/search 等地方时,不会返回任何结果。

问题未解决。

1 个赞

@icaria36,请在 GitHub Discussion 中评论此事。让其他人对回复提出质疑比我作为联络人更有说服力。

1 个赞

看起来是这样:

1 个赞

嗯,不,这似乎最终还是一个 Discourse 的 bug:Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub

进一步调查发现,Mastodon 使用以下 Accept 标头请求资源:

Accept: application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1

使用此标头查询 discourse 会导致 HTTP 400 响应。

忽略 text/html;q=0.1 会返回一个 ActivityStreams 对象。因此,这似乎是 Discourse 的一个 bug,当 text/html 是可接受类型的一部分时,它似乎会返回 400……

1 个赞

@rokejulianlockhart 或版主,请删除“解决方案”并根据 Mastodon 在 Posts from Discourse do not resolve via the Search API · Issue #34632 · mastodon/mastodon · GitHub 上的评估,将此主题移至 Bug(或创建新的 bug 报告)。

2 个赞

我不确定这是 Discourse 中的一个错误。我已经在 Mastodon 上回复了这个问题。为了方便起见,在此处交叉发布:

在那种情况下,我们返回 400 的原因是 ActivityPub 规范 似乎要求它

POST 请求(例如发送到收件箱)必须使用 application/ld+json; profile="https://www.w3.org/ns/activitystreams" 的 Content-Type 进行,GET 请求(另请参阅 3.2 检索对象)则使用 application/ld+json; profile="https://www.w3.org/ns/activitystreams" 的 Accept 标头。

@ClearlyClaire 是否需要在 Accept 标头中添加 text/html;q=0.1

2 个赞

此问题将很快得到解决。请参阅:

3 个赞