セカンダリメールを変更または削除する方法はありますか

こんにちは、

ここと API ドキュメントを検索しましたが、セカンダリメールアドレスを変更する方法が見つかりません。私の主な要望はそれを削除することですが、将来的に変更したい場合もあるかもしれません。

よろしくお願いいたします、

マーク

セカンダリメールアドレスを削除するための API リクエストの作成方法は、セカンダリメールアドレスを持つテストユーザーを作成し、ブラウザのインスペクタを開いてネットワークタブを表示した状態で UI を通じてそのメールアドレスを削除するのが最も簡単です。この方法は、こちらで解説されています:Discourse API のリバースエンジニアリング方法

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” と応答しますが、実際にはアドレスは削除されません。

マーク