According to a reply by @Falco on my post, there’s a way to set users to watch categories using the API. I’ve spent hours searching the web and combing through the API documentation but I cannot find this call.
Does anyone know what API call could be used to set a user to watch a specific category?
You can search for "reverse engineer api " for tips on how to figure out the API call. Also, there is a plugin that will make people in a certain group follow a set of categories.
Thanks for the reply @pfaffman. Are you suggesting the API documentation is incomplete and I need to reverse engineer the API code to find the undocumented API call?
I’m sure @Osama’s method works, but setting user watches via the category seemed a bit weird to me. The following sets the watch list directly against the user (This is via python requests, but shows what is required).
DISCOURSE_URL - domain, including http(s)
username - user to change
DISCOURSE_API_KEY - api key generated by, and associated with a user
DISCOURSE_API_USERNAME - user who the key is associated with
watch_category - a list of categories the user should be watching
Я не уверен, что этот код позволит сделать то, что я хочу, но…
Мне бы хотелось добавить гиперссылку с каким-либо параметром URL, который при клике пользователя по ссылке устанавливал бы для определённой категории статус «Слежение»/«Отслеживание»/«Обычный»/«Без звука».
Практический пример использования: вместо того чтобы говорить людям «Перейдите в категорию… и нажмите на значок колокольчика, выбрав _____», я мог бы написать что-то вроде…
НАЖМИТЕ СЮДА, если хотите получать уведомления о новых сообщениях на этом форуме.
Тогда при клике на эту гиперссылку пользователь будет подписан на уровень, который мы зададим в параметре URL.
Я думаю, что это можно относительно просто реализовать в виде плагина или компонента темы — некоего встраиваемого элемента, который сможет выполнять эти действия за вас. Проблема с приведенным выше AJAX-кодом заключается в том, что вы передаете глобальный API-ключ всех пользователей клиенту. Это категорически плохая идея.
Проблема, с которой вы столкнетесь при создании ссылки, как указано в исходном сообщении (OP), заключается в том, что для вызова API требуется REST-запрос POST, а ссылки могут инициировать только REST-запрос GET.