Skip to content

Commit baac7fc

Browse files
committed
added refresh token feature
1 parent f83ba48 commit baac7fc

7 files changed

Lines changed: 48 additions & 15 deletions

File tree

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
instagram_basic_display_api (0.0.2)
4+
instagram_basic_display_api (0.0.3)
55
faraday (>= 0.17.3, < 2.8.0)
66
faraday_middleware (>= 0.14, < 1.3)
77

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@ puts "#{media_item.media_url}"
3434
for media_item in client.media_children(media_id)
3535
puts "#{media_item.media_type}"
3636
end
37+
38+
# Refresh the access token
39+
access_token = client.refresh_access_token
3740
```
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
Gem::Specification.new do |s|
2-
s.name = %q{instagram_basic_display_api}
3-
s.version = "0.0.2"
4-
s.date = %q{2021-04-09}
5-
s.summary = %q{Instagram Basic Display API}
6-
s.files = Dir["{lib,spec}/**/*"]
7-
s.require_paths = ["lib"]
8-
s.authors = ["Craig Phares"]
2+
s.name = 'instagram_basic_display_api'
3+
s.version = '0.0.3'
4+
s.date = '2024-12-05'
5+
s.summary = 'Instagram Basic Display API'
6+
s.files = Dir['{lib,spec}/**/*']
7+
s.require_paths = ['lib']
8+
s.authors = ['Craig Phares']
99
s.licenses = ['MIT']
1010
s.email = ['craig@sixoverground.com']
1111
s.homepage = 'https://github.com/sixoverground/instagram_basic_display_api'
1212

1313
s.add_runtime_dependency('faraday', '>= 0.17.3', '< 2.8.0')
1414
s.add_runtime_dependency('faraday_middleware', '>= 0.14', '< 1.3')
1515

16-
s.add_development_dependency('rspec', '~> 3.9', '>= 3.9.0')
1716
s.add_development_dependency('dotenv', '~> 2.7', '>= 2.7.5')
18-
end
17+
s.add_development_dependency('rspec', '~> 3.9', '>= 3.9.0')
18+
end

lib/instagram_basic_display_api/api.rb

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22

33
module InstagramBasicDisplayAPI
44
class API
5-
attr_accessor :access_token
6-
attr_accessor :endpoint
5+
attr_accessor :access_token, :endpoint
76

8-
def initialize(options={})
7+
def initialize(options = {})
98
self.access_token = options[:access_token]
109
self.endpoint = options[:endpoint]
1110
end
1211

1312
include Connection
1413
end
15-
end
14+
end

lib/instagram_basic_display_api/client.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ module InstagramBasicDisplayAPI
22
class Client < API
33
require 'instagram_basic_display_api/client/users'
44
require 'instagram_basic_display_api/client/media'
5+
require 'instagram_basic_display_api/client/access_token'
56

67
include InstagramBasicDisplayAPI::Client::Users
78
include InstagramBasicDisplayAPI::Client::Media
9+
include InstagramBasicDisplayAPI::Client::AccessToken
810
end
9-
end
11+
end
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module InstagramBasicDisplayAPI
2+
class Client
3+
module AccessToken
4+
def refresh_access_token
5+
response = connection.get("refresh_access_token?grant_type=ig_refresh_token&access_token=#{access_token}")
6+
response.body
7+
end
8+
end
9+
end
10+
end

spec/access_token_spec.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
require 'dotenv/load'
2+
require File.expand_path('../lib/instagram_basic_display_api', __dir__)
3+
4+
describe InstagramBasicDisplayAPI::Client do
5+
context '.new' do
6+
before do
7+
@client = InstagramBasicDisplayAPI.client(access_token: ENV['ACCESS_TOKEN'])
8+
end
9+
10+
describe '.refresh_access_token' do
11+
context 'with client secret included' do
12+
it 'should refresh the access token' do
13+
access_token = @client.refresh_access_token
14+
expect(access_token.token_type).to eq('bearer')
15+
end
16+
end
17+
end
18+
end
19+
end

0 commit comments

Comments
 (0)