Важный вопрос об импорте пользователей

Привет, сообщество. Уже пару недель я изучаю и переписываю скрипт импорта для своего сайта на CMS LiveStreet. Скрипт уже написан, осталось его отшлифовать и отправить pull request.

Я также импортировал всех пользователей, за исключением тех, кто использует авторизацию через сторонние сервисы. Вопрос в следующем: как импортировать пользователей с донорского сайта в Discourse, которые авторизуются через Facebook или Google? Я хочу найти наиболее элегантное решение. Проблема также заключается в том, что у некоторых пользователей Facebook нет адресов электронной почты.

Бонус! Импорт лайков с параметром date_added.

Я также нашёл ещё один способ импорта лайков с указанием даты, так как старый метод в других скриптах не работает.

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] — это лайк
end