main
Steve Ayerhart 2022-06-06 16:50:34 -04:00
parent ed77592872
commit bf03055a97
No known key found for this signature in database
GPG Key ID: 5C815FDF3A00B8BA
2 changed files with 15 additions and 5 deletions

View File

@ -28,7 +28,7 @@ GEM
concurrent-ruby (1.1.9) concurrent-ruby (1.1.9)
daemons (1.4.1) daemons (1.4.1)
eventmachine (1.2.7) eventmachine (1.2.7)
faraday (0.17.4) faraday (0.17.5)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
faraday_middleware (0.14.0) faraday_middleware (0.14.0)
faraday (>= 0.7.4, < 1.0) faraday (>= 0.7.4, < 1.0)
@ -40,7 +40,7 @@ GEM
faraday_middleware (~> 0.14.0) faraday_middleware (~> 0.14.0)
minitest (5.15.0) minitest (5.15.0)
multi_json (1.15.0) multi_json (1.15.0)
multipart-post (2.1.1) multipart-post (2.2.0)
mustermann (1.1.1) mustermann (1.1.1)
ruby2_keywords (~> 0.0.1) ruby2_keywords (~> 0.0.1)
rack (2.2.3) rack (2.2.3)

View File

@ -1,7 +1,16 @@
require 'instagram_basic_display_api' require 'instagram_basic_display_api'
require 'sinatra/activerecord' require 'sinatra/activerecord'
require 'net/http'
client = InstagramBasicDisplayAPI.client(access_token: ENV['DUNDO_FARMS_IG_TOKEN']) current_token = File.open('/home/steve/.ig_token', &:readline)
refresh_uri = URI('https://graph.instagram.com/refresh_access_token')
refresh_params = { grant_type: 'ig_refresh_token', access_token: current_token}
refresh_uri.query = URI.encode_www_form(refresh_params)
response = Net::HTTP.get_response(refresh_uri)
token = JSON.parse(response.body)['access_token']
File.write('/home/steve/.ig_token', token)
client = InstagramBasicDisplayAPI.client(access_token: token)
media = client.user_recent_media[:data].reduce([]) do |media, media_item| media = client.user_recent_media[:data].reduce([]) do |media, media_item|
if media_item[:media_type] == 'CAROUSEL_ALBUM' if media_item[:media_type] == 'CAROUSEL_ALBUM'
@ -13,8 +22,9 @@ media = client.user_recent_media[:data].reduce([]) do |media, media_item|
end end
media.each do |media_item| media.each do |media_item|
IGMedia.create( model = IGMedia.find_or_create_by(id: media_item[:id])
id: media_item[:id],
model.update(
media_url: media_item[:media_url], media_url: media_item[:media_url],
media_type: media_item[:media_type], media_type: media_item[:media_type],
thumbnail_url: media_item[:thumbnail_url], thumbnail_url: media_item[:thumbnail_url],