# 无法理解用于添加和删除组所有者的 API

**URL:** <https://meta.discourse.org/t/cannot-fathom-the-api-for-adding-and-removing-group-owners/379454>\
**Category:** Support\
**Tags:** rest-api\
**Created:** [2025年八月20日 11:55 UTC](https://meta.discourse.org/t/cannot-fathom-the-api-for-adding-and-removing-group-owners/379454 "2025-08-20T11:55:27Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Nikki\_Locke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nikki_locke/32/146184_2.png) [@Nikki\_Locke](https://meta.discourse.org/u/Nikki_Locke)\
**Post date:** [2025年八月20日 11:55 UTC](https://meta.discourse.org/t/cannot-fathom-the-api-for-adding-and-removing-group-owners/379454/1 "2025-08-20T11:55:28Z")

</div>

我想使用 API 添加和删除群组所有者。API 文档中没有记录这一点。

在以管理员身份登录时跟踪调用，将用户设为所有者是：

PUT `groups/<gid>/owners` 载荷为 `usernames=nikkilocke`（注意没有 admin！）

将用户从所有者中移除是：

DELETE `admin/groups/<gid>/owners` 载荷为 `user_id=<uid>`

研究源代码显示：

```plaintext
      def group_add_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        put("/admin/groups/#{group_id}/owners.json", group: args)
      end

      def group_remove_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        delete("/admin/groups/#{group_id}/owners.json", group: args)
      end

```

这段代码自 2023 年以来似乎没有改变。

我正在运行 Discourse 3.4.7，源代码中的添加所有者入口点会返回 404 错误。

我尝试过的 URL：

`PUT /groups/384/owners usernames=nikkilocke` OK

`PUT /admin/groups/384/owners group[usernames]=nikkilocke` 404 错误

`DEL /admin/groups/384/owners group[usernames]=nikkilocke` OK

`DEL /admin/groups/384/owners user_id = 12` OK

有人能告诉我这是怎么回事，以及应该使用哪些 URL 吗？

---

_[View the full topic](https://meta.discourse.org/t/cannot-fathom-the-api-for-adding-and-removing-group-owners/379454)._
