Здравствуйте,
Я поискал здесь и в документации к API, но не нашёл способа управлять вторым адресом электронной почты. Моя основная задача — удалить его, но в будущем мы, возможно, захотим его изменить.
Заранее спасибо,
Марк
Здравствуйте,
Я поискал здесь и в документации к API, но не нашёл способа управлять вторым адресом электронной почты. Моя основная задача — удалить его, но в будущем мы, возможно, захотим его изменить.
Заранее спасибо,
Марк
Самый простой способ понять, как сделать API-запрос для удаления вторичного адреса электронной почты, — создать тестового пользователя с таким адресом, а затем удалить его через интерфейс, открыв в браузере панель разработчика на вкладке Network. Этот метод описан здесь: Как реверс-инжинирить API Discourse.
Похоже, вам нужно отправить DELETE-запрос на /u/<discourse_username>/preferences/email.json.
Адрес электронной почты, который вы хотите удалить, следует передать в виде данных формы. Например: email=simon%40foo.com
Спасибо, Саймон,
Я на самом деле знал это, но по какой-то причине нажал не тот значок «гаечного ключа» в профиле пользователя, и там не отображалась опция удаления. Когда я нашел правильную опцию, изучил её и обнаружил то, что мне нужно. Я попробовал это в Postman — всё сработало!
Вот команда curl для этого:
curl --location --request DELETE 'https://[discourse_url]/u/[discourse_user_name]/preferences/email.json?email=[address_to_delete]' \
--header 'Api-Key: [your_api_key]' \
--header 'Api-Username: system' \
--header 'Content-Type: application/json'
Обновлено: Не забудьте закодировать адрес электронной почты в URL. API вернет ответ “success”: “OK”, но адрес не будет удален, если этого не сделать.
Марк