26 lines
730 B
Ruby
26 lines
730 B
Ruby
|
require 'instagram_basic_display_api'
|
||
|
require 'sinatra/activerecord'
|
||
|
|
||
|
client = InstagramBasicDisplayAPI.client(access_token: ENV['DUNDO_FARMS_IG_TOKEN'])
|
||
|
|
||
|
media = client.user_recent_media[:data].reduce([]) do |media, media_item|
|
||
|
if media_item[:media_type] == 'CAROUSEL_ALBUM'
|
||
|
media.concat client.media_children(media_item[:id])[:data]
|
||
|
media
|
||
|
else
|
||
|
media.append media_item
|
||
|
end
|
||
|
end
|
||
|
|
||
|
media.each do |media_item|
|
||
|
IGMedia.create(
|
||
|
id: media_item[:id],
|
||
|
media_url: media_item[:media_url],
|
||
|
media_type: media_item[:media_type],
|
||
|
thumbnail_url: media_item[:thumbnail_url],
|
||
|
permalink: media_item[:permalink],
|
||
|
caption: media_item[:caption],
|
||
|
timestamp: DateTime.parse(media_item[:timestamp])
|
||
|
)
|
||
|
end
|