こんにちは。
別のアプリから提供されたメールアドレスのリストにあるユーザーを照合し、それらすべてのユーザーを1つのグループに追加して、リストに含まれていないメンバーを削除したいと思います。APIからこれを行うスクリプトがあります。
削除部分は簡単です。各メンバーについて、次を使用してすべてのメールアドレスを抽出します。
get(/u/{username}/emails.json)
そして、それらをリストと照合します。一致するものがない場合、メンバーは除外されます。
追加する方がトリッキーです。各メールアドレスについて、そのアドレスを持つユーザーがいるかどうかを確認したいと思います。いる場合は、グループに追加します。いない場合は、招待を送信したくありません。コマンドを使用します。
get(/admin/users/list/all.json?email={email})
しかし、このコマンドは、そのアドレスをプライマリとして持つユーザーのリストを返しますが、そのアドレスをセカンダリ、unconfirmed_emails、またはassociated_accountsとして持つユーザーは返しません。すべての可能なメールアドレスからフィルタリングする方法はありますか、それともすべてのユーザーのリストをエクスポートして外部で手動で行う必要がありますか?データ漏洩のリスクを減らすために、内部で行うことを好みます。
ありがとうございます!