부 이메일을 변경하거나 삭제할 수 있는 방법이 있나요?

안녕하세요,

여기와 API 문서를 검색해 보았지만, 보조 이메일을 수정할 수 있는 방법을 찾지 못했습니다. 제 1차 요구사항은 보조 이메일을 삭제하는 것이지만, 추후 변경할 수도 있을 것 같습니다.

미리 감사드립니다.

마크 드림

보조 이메일을 삭제하기 위한 API 요청 방법을 파악하는 가장 쉬운 방법은 보조 이메일 주소를 가진 테스트 사용자를 생성한 후, 브라우저의 인스펙터를 네트워크 탭으로 열고 UI에서 이메일 주소를 삭제하는 것입니다. 이 방법은 여기에서 설명되어 있습니다: 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