안녕하세요,
다른 앱에서 가져온 이메일 주소 목록을 기준으로 사용자를 매칭하여 모든 사용자를 하나의 그룹에 추가하고, 목록에 없는 멤버를 제거하려고 합니다. 이를 위해 API를 사용하는 스크립트를 작성해 두었습니다.
멤버 제거 부분은 쉽습니다. 각 멤버에 대해 다음 명령으로 모든 이메일 주소를 추출합니다:
get(/u/{username}/emails.json)
그리고 목록과 각각의 이메일을 비교합니다. 일치하는 항목이 없으면 해당 멤버는 제외됩니다.
추가하는 부분은 더 복잡합니다. 각 이메일 주소에 대해 해당 주소를 가진 사용자가 있는지 확인하고, 있으면 그룹에 추가하며, 없으면 초대장을 보내지 않으려고 합니다. 다음 명령을 사용했습니다:
get(/admin/users/list/all.json?email={email})
하지만 이 명령은 해당 주소를 기본 이메일로 가진 사용자 목록만 반환할 뿐, 보조 이메일(secondary), 미확인 이메일(unconfirmed_emails) 또는 *연결된 계정(associated_accounts)*으로 해당 주소를 가진 사용자는 반환하지 않습니다. 모든 가능한 이메일 주소를 기준으로 필터링하는 방법이 있을까요, 아니면 전체 사용자 목록을 내보내서 외부에서 수동으로 처리해야 하나요? 데이터 유출 위험을 줄이려면 내부에서 처리하는 것이 더 좋겠습니다.
감사합니다!