你好,
我在此处以及 API 文档中进行了搜索,但未能找到任何影响次要邮箱的方法。我的主要需求是删除它,但我们可能在未来某个时候需要修改它。
提前感谢,
Mark
你好,
我在此处以及 API 文档中进行了搜索,但未能找到任何影响次要邮箱的方法。我的主要需求是删除它,但我们可能在未来某个时候需要修改它。
提前感谢,
Mark
确定如何通过 API 请求移除次要邮箱的最简单方法是:创建一个带有次要邮箱地址的测试用户,然后在浏览器中打开开发者工具的“网络”标签页,通过界面移除该邮箱地址。该方法在此处有详细说明:如何逆向工程 Discourse API。
看起来您需要向 /u/<discourse_username>/preferences/email.json 发送一个 DELETE 请求。
要删除的邮箱地址应作为表单数据传递。例如:email=simon%40foo.com
谢谢 Simon,
其实我早就知道这一点,但不知为何,我在用户资料中点错了“扳手”图标,导致没有显示删除选项。一旦找到正确的选项,我检查了一下,就找到了所需内容。我在 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”,但实际上不会删除该地址。
Mark