在通过 API 创建消息时设置 reply_to 吗?

Hi. Is there a way to specify the message ID to which a new message responds when we create this last one through Discourse API?

I believe you should be able to use the key - reply_to_post_number in your POST request

http://docs.discourse.org/#tag/Posts%2Fpaths%2F~1posts%2Fpost

3 个赞

您好,我允许自己重新开启这个帖子。我现在正在使用 API 将一些自定义对话系统转换为 Discourse,但在回复方面遇到了困难。

我使用了 /posts API,并设置了 reply_to_post_number 参数,但帖子根本没有显示为回复。我已检查 reply_to_post_number 是否与上方帖子的 post_number 匹配,但徒劳无功。

我尝试了反向工程 API,并尝试在请求中添加 nested_post,因为这是我的调用与界面中的调用之间的主要区别,但结果仍然相同……

请注意,通过 API 创建的帖子确实正确设置了 reply_to_post_number。它只是没有在界面上显示出来……

感谢任何线索!

1 个赞

好的,我刚注册了一个账号,因为我遇到了同样的问题,并且找到了解决方案!

就像 Bertrand 所说的那样;你可以一直设置 reply_to_post_number,但在用户界面中它不会显示为常规回复。当我尝试以同样的方式创建回复但使用我的管理员账号时,它确实奏效了!这表明问题与权限有关。

我发现如果我更改了帖子所属类别的安全设置,让默认的 Everyone 组拥有所有权限(因此也包括默认情况下未勾选的创建权限),现在它就可以工作了!不确定为什么需要这个权限,因为创建权限已经生效(我可以创建帖子),并且回复权限已经勾选了,但无论如何……它奏效了 :smiley:

1 个赞

你好 @greedNotGood @Bertrand_Gorge 我正在构建一个项目,我需要通过 discourse API 添加对帖子的回复。我对 discourse 是新手,你能帮我提供一个 curl 请求或相关文档吗?感谢你的帮助。

Gaurav T

您好 @Gaurav_Tewari,文档在这里:Discourse API Docs

此页面顶部有 curl 示例。祝您好运!

大家好。

我正在尝试创建一个帖子,使其显示为对另一个帖子的回复,但正如上面许多人遇到的情况一样,我并不太成功。

我将 reply_to_post_number 作为键之一发送到 /posts.json 的负载中,其值取自另一个帖子的 post_number,但这没有任何效果。类别安全设置对所有用户都是完全允许的。

有趣的是,当我使用 reply_to_post_number 发送帖子请求与不发送时,响应会发生变化。如果我不将其与请求一起发送,响应中将包含 'reply_to_post_number': None,,但是,如果我将其与请求一起发送,并提供一个指向先前帖子的整数值,则响应中根本不会出现该键。

这似乎完全没有文档记录,我非常清楚这一点,但任何帮助都将不胜感激。Discourse API 文档也无济于事,因为它根本没有提到这一点。

谢谢。

1 个赞

我尝试使用 API 回复帖子,并且有效:


但是,docs.discourse.org 确实缺少信息。:slight_smile:

如果您愿意,也可以为该文档做出贡献:Contributing to the Discourse API documentation

2 个赞

奇怪的是,我也可以从 insomnia 或任何普通请求中执行此操作,但从 python(仅使用 requests,而不是 python API)执行时,它似乎不起作用。

我刚注意到数据似乎在那里,但未显示在主视图中。

即使在安全模式下(嗯,只是为了确保……)?

https://your-discourse.com/posts/{id}.json(其中 {id} 是新帖子的 id)返回什么?

是否有 "reply_to_post_number" 键值?

很抱歉,我恐怕无法进一步提供帮助,而且我从未使用过 Python,我将让真正的行家来帮助您 :slight_smile:

也许粘贴您的脚本会提供一些线索?

从您的示例中很难判断是否是这种情况,但如果您回复了一篇帖子,并且您的回复是下一篇帖子,我们将在用户界面中隐藏“回复帖子”信息。

4 个赞

蝙蝠侠捂脸GIF,来自WE tv

如果能有更大的捂脸动作,这里就更贴切了。当然,问题就在这里,我最后恰好测试了与回复目标相邻的那种帖子。当然,这完全说得通,只是不清楚为什么有时显示,有时不显示。

不过,谜团已经解开,谢谢大家。非常感激。

3 个赞

如果这能让你感觉好点,我觉得很多在 Discourse 工作的人也不知道软件的所有功能 :grin: (至少,这让我自己感觉好点 :laughing:

2 个赞

我完全理解。我经营着一家维护和支持大型开源项目的公司。在某个时候,集体知识是唯一的方法。

4 个赞

此主题已在 2301 天后自动关闭。不再允许回复。