Как сохранить результаты поиска 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
столбец к таблице пользователей.