Есть ли способ изменить или удалить дополнительный адрес электронной почты

Здравствуйте,

Я поискал здесь и в документации к 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”, но адрес не будет удален, если этого не сделать.

Марк