Как сохранить результаты поиска Koala в базе данных Rails

Я видел несколько коротких ответов о том, как инициализировать соединение с Facebook с помощью koala, а затем выполнить поиск с помощью вызова метода типа @graph.graph_call, но я не видел, чтобы кто-нибудь объяснил, как затем получить результаты этого поиска и сохранить их. в базу данных Rails. Нужно ли мне создавать свой собственный ресурс, соответствующий формату json, который коала возвращает из Facebook, а затем сохранять объекты этих типов в базе данных rails? Или у коалы есть методы, чтобы справиться с этим для меня? Благодарю.

1 ответ

Решение

Вы должны сохранить полученные данные самостоятельно. Вам может потребоваться создать собственный ресурс или добавить столбцы в существующие таблицы. Это зависит от того, что вы хотите сделать.

Например, код для поиска или создания пользователя по идентификатору пользователя Facebook будет выглядеть так:

graph = Koala::Facebook::API.new(user_fb_access_token)
user_info = graph.get_object(:me, fields: %w(email))

user = User.find_or_create_by(fb_user_id: fb_user_id) do |new_user|
  new_user.email = user_info['email']
  new_user.password = SecureRandom.hex
end

в этом случае вам нужно добавить fb_user_id столбец к таблице пользователей.

Другие вопросы по тегам