Я хочу добавлять и удалять владельцев групп через API. Это не задокументировано в документации API.
При отслеживании вызовов в режиме администратора, добавление пользователя в владельцы выполняется так:
PUT groups/<gid>/owners с телом запроса usernames=nikkilocke (обратите внимание: без префикса admin!)
Удаление пользователя из владельцев выполняется так:
DELETE admin/groups/<gid>/owners с телом запроса user_id=<uid>
Изучение исходного кода показывает:
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 — ОК
PUT /admin/groups/384/owners group[usernames]=nikkilocke — ошибка 404
DEL /admin/groups/384/owners group[usernames]=nikkilocke — ОК
DEL /admin/groups/384/owners user_id = 12 — ОК
Может ли кто-нибудь подсказать, что происходит, и какие URL следует использовать для этого, пожалуйста?