Domanda importante sull'importazione degli utenti

Ciao, community. Sto imparando e riscrivendo uno script di importazione per il mio sito su Livestreet CMS da un paio di settimane. Ho già terminato la scrittura dello script; ora devo solo pulirlo e creare una pull request.

Ho già importato tutti gli utenti, tranne quelli che utilizzano l’autenticazione tramite servizi esterni. La domanda è: come importare da un sito sorgente a Discourse gli utenti che si autenticano tramite Facebook o Google? Voglio trovare la soluzione più elegante. Il problema è anche che alcuni utenti di Facebook non hanno un indirizzo email.

Bonus! Importazione dei like con il parametro date_added.

Ho anche trovato un altro metodo per importare i like con la data, dato che il vecchio metodo usato in altri script non funziona.

likes = mysql_query(<<-SQL
    SELECT target_id
         , user_voter_id
         , vote_date
         , target_type
      FROM #{TABLE_PREFIX}vote
     WHERE vote_direction = 1
     ORDER BY vote_date
SQL
).to_a

likes.each do |l|
  next unless user_id = user_id_from_imported_user_id(l["user_voter_id"])
  next unless post_id = post_id_from_imported_post_id("post-#{l["target_id"]}") 
  next unless user = User.find_by(id: user_id)
  next unless post = Post.find_by(id: post_id)
  PostActionCreator.create(user, post, PostActionType.types[2], created_at: Time.at(l["vote_date"])); #PostActionType.types[2] è come
end