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