linkedin2 0.0.16 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.coveralls.yml +2 -0
- data/.gitignore +2 -0
- data/.rspec +2 -2
- data/.travis.yml +1 -1
- data/README.md +3 -3
- data/Rakefile +1 -1
- data/lib/linkedin/api.rb +16 -0
- data/lib/linkedin/api/authentication.rb +5 -7
- data/lib/linkedin/api/companies.rb +16 -10
- data/lib/linkedin/api/invitation.rb +39 -0
- data/lib/linkedin/api/messaging.rb +24 -0
- data/lib/linkedin/api/network_updates.rb +5 -9
- data/lib/linkedin/api/people.rb +18 -0
- data/lib/linkedin/client.rb +34 -72
- data/lib/linkedin/configuration.rb +26 -11
- data/lib/linkedin/credentials.rb +27 -0
- data/lib/linkedin/errors.rb +45 -0
- data/lib/linkedin/faraday_middleware.rb +6 -4
- data/lib/linkedin/faraday_middleware/credentials_request.rb +31 -0
- data/lib/linkedin/faraday_middleware/{linkedin_error_response.rb → error_response.rb} +2 -10
- data/lib/linkedin/faraday_middleware/format_request.rb +17 -0
- data/lib/linkedin/faraday_middleware/user_agent_request.rb +10 -0
- data/lib/linkedin/fields.rb +58 -0
- data/lib/linkedin/industries.rb +199 -0
- data/lib/linkedin/response.rb +19 -0
- data/lib/linkedin/version.rb +1 -1
- data/lib/linkedin2.rb +11 -19
- data/linkedin.gemspec +16 -7
- data/spec/api/companies_spec.rb +8 -9
- data/spec/api/groups_spec.rb +3 -4
- data/spec/api/jobs_spec.rb +2 -3
- data/spec/api/network_updates_spec.rb +9 -15
- data/spec/api/{profiles_spec.rb → people_spec.rb} +11 -13
- data/spec/faraday_middleware/{linkedin_error_response_spec.rb → error_response_spec.rb} +8 -21
- data/spec/fixtures/requests/companies.yml +25 -15
- data/spec/fixtures/requests/invalid.yml +7 -7
- data/spec/fixtures/requests/network_updates.yml +12 -12
- data/spec/fixtures/requests/people.yml +380 -0
- data/spec/spec_helper.rb +18 -19
- data/spec/support/coverage.rb +14 -0
- data/spec/support/vcr.rb +9 -0
- data/spec/test_app.yml +3 -2
- metadata +119 -38
- data/lib/linkedin/api/industries.rb +0 -171
- data/lib/linkedin/api/permissions.rb +0 -42
- data/lib/linkedin/api/profiles.rb +0 -71
- data/lib/linkedin/error.rb +0 -29
- data/lib/linkedin/faraday_middleware/linkedin_format_request.rb +0 -26
- data/lib/linkedin/industry.rb +0 -33
- data/spec/fixtures/requests/profiles.yml +0 -201
data/lib/linkedin/version.rb
CHANGED
data/lib/linkedin2.rb
CHANGED
@@ -1,42 +1,34 @@
|
|
1
|
-
require 'forwardable'
|
2
|
-
require 'oauth2'
|
3
1
|
require 'active_support'
|
4
2
|
require 'active_support/core_ext'
|
5
3
|
require 'active_support/time'
|
6
|
-
require 'faraday'
|
7
4
|
require 'faraday_middleware'
|
8
|
-
require 'yaml'
|
9
5
|
require 'hashie'
|
6
|
+
require 'oauth2'
|
10
7
|
|
11
8
|
require 'linkedin/version'
|
12
|
-
require 'linkedin/
|
9
|
+
require 'linkedin/errors'
|
10
|
+
require 'linkedin/fields'
|
11
|
+
|
13
12
|
require 'linkedin/utils'
|
14
13
|
require 'linkedin/configuration'
|
15
14
|
require 'linkedin/base'
|
16
15
|
require 'linkedin/profile'
|
17
16
|
require 'linkedin/company'
|
18
|
-
require 'linkedin/
|
17
|
+
require 'linkedin/industries'
|
18
|
+
require 'linkedin/api'
|
19
|
+
require 'linkedin/credentials'
|
20
|
+
require 'linkedin/response'
|
19
21
|
require 'linkedin/faraday_middleware'
|
20
|
-
|
21
|
-
require 'linkedin/api/authentication'
|
22
|
-
require 'linkedin/api/profiles'
|
23
|
-
require 'linkedin/api/network_updates'
|
24
|
-
require 'linkedin/api/companies'
|
25
|
-
require 'linkedin/api/groups'
|
26
|
-
require 'linkedin/api/industries'
|
27
|
-
require 'linkedin/api/jobs'
|
28
|
-
require 'linkedin/api/permissions'
|
29
|
-
|
30
22
|
require 'linkedin/client'
|
31
23
|
|
32
24
|
module LinkedIn
|
33
|
-
def self.new(
|
34
|
-
Client.new
|
25
|
+
def self.new(config = {}, &block)
|
26
|
+
Client.new config, &block
|
35
27
|
end
|
36
28
|
|
37
29
|
[:r_basicprofile, :r_emailaddress, :r_fullprofile, :r_contactinfo, :r_network, :rw_groups, :rw_nus, :w_messages].each do |field|
|
38
30
|
define_singleton_method field do
|
39
|
-
|
31
|
+
Fields.const_get field.to_s.upcase
|
40
32
|
end
|
41
33
|
end
|
42
34
|
end
|
data/linkedin.gemspec
CHANGED
@@ -18,16 +18,25 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'oauth2', '~> 0
|
22
|
-
spec.add_dependency 'hashie', '
|
21
|
+
spec.add_dependency 'oauth2', '~> 1.0'
|
22
|
+
spec.add_dependency 'hashie', '~> 3.3.1'
|
23
23
|
spec.add_dependency 'activesupport', '>= 3.2'
|
24
24
|
spec.add_dependency 'faraday_middleware', '~> 0.9.1'
|
25
25
|
|
26
|
-
spec.add_development_dependency '
|
27
|
-
|
28
|
-
spec.add_development_dependency '
|
29
|
-
spec.add_development_dependency '
|
30
|
-
|
26
|
+
spec.add_development_dependency 'dotenv', '~> 0.11.1'
|
27
|
+
|
28
|
+
spec.add_development_dependency 'bundler', '~> 1.6'
|
29
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
30
|
+
|
31
|
+
spec.add_development_dependency 'pry', '~> 0.10.0'
|
32
|
+
spec.add_development_dependency 'pry-byebug', '~> 1.3.3'
|
33
|
+
|
34
|
+
spec.add_development_dependency 'rspec', '~> 3.0.0'
|
35
|
+
spec.add_development_dependency 'rspec-collection_matchers', '1.0.0'
|
36
|
+
spec.add_development_dependency 'webmock', '~> 1.18.0'
|
37
|
+
spec.add_development_dependency 'simplecov', '~> 0.9.0'
|
38
|
+
spec.add_development_dependency 'coveralls', '~> 0.7.1'
|
31
39
|
spec.add_development_dependency 'vcr', '~> 2.5'
|
40
|
+
|
32
41
|
spec.add_development_dependency 'yard'
|
33
42
|
end
|
data/spec/api/companies_spec.rb
CHANGED
@@ -1,29 +1,27 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
1
|
describe LinkedIn::API::Companies, vcr: { cassette_name: 'companies' } do
|
4
2
|
subject { LinkedIn::Client.new }
|
5
3
|
|
6
4
|
describe '#company' do
|
7
5
|
it 'fetches a company profile by id' do
|
8
|
-
subject.company(
|
6
|
+
expect(subject.company(162479)['name']).to eq 'Apple'
|
9
7
|
end
|
10
8
|
|
11
9
|
it 'fetches a company profile by universal name' do
|
12
|
-
subject.company(
|
10
|
+
expect(subject.company('universal-name=linkedin')['name']).to eq 'LinkedIn'
|
13
11
|
end
|
14
12
|
|
15
13
|
it 'fetches a company profile by e-mail domain' do
|
16
14
|
companies = subject.company(filter: 'email-domain=apple.com')
|
17
|
-
companies['values'].first['name'].
|
15
|
+
expect(companies['values'].first['name']).to eq 'Apple'
|
18
16
|
end
|
19
17
|
|
20
18
|
it 'fetches companies in bulk using their respective selectors' do
|
21
|
-
companies = subject.company(
|
22
|
-
companies['values'].collect { |c| c['name'] }.
|
19
|
+
companies = subject.company([162479, 'universal-name=linkedin'])
|
20
|
+
expect(companies['values'].collect { |c| c['name'] }).to eq ['Apple', 'LinkedIn']
|
23
21
|
end
|
24
22
|
|
25
23
|
it 'fetches companies that the current user is an adminstrator of' do
|
26
|
-
subject.company(filter: 'is-company-admin=true')['_total'].
|
24
|
+
expect(subject.company(filter: 'is-company-admin=true')['_total']).to eq 0
|
27
25
|
end
|
28
26
|
end
|
29
27
|
|
@@ -41,6 +39,7 @@ describe LinkedIn::API::Companies, vcr: { cassette_name: 'companies' } do
|
|
41
39
|
|
42
40
|
it "should raise AccessDeniedError when LinkedIn returns 403 status code" do
|
43
41
|
pending
|
42
|
+
pass
|
44
43
|
end
|
45
44
|
end
|
46
|
-
end
|
45
|
+
end
|
data/spec/api/groups_spec.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
1
|
describe LinkedIn::API::Groups do
|
4
2
|
describe '#jobs' do
|
5
3
|
end
|
@@ -17,9 +15,10 @@ describe LinkedIn::API::Groups do
|
|
17
15
|
response.body.should == nil
|
18
16
|
response.code.should == "201"
|
19
17
|
end
|
20
|
-
|
18
|
+
|
21
19
|
it "should raise AccessDeniedError when LinkedIn returns 403 status code" do
|
22
20
|
pending
|
21
|
+
pass
|
23
22
|
end
|
24
23
|
end
|
25
|
-
end
|
24
|
+
end
|
data/spec/api/jobs_spec.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
1
|
describe LinkedIn::API::Jobs do
|
4
2
|
describe '#jobs' do
|
5
3
|
end
|
@@ -29,6 +27,7 @@ describe LinkedIn::API::Jobs do
|
|
29
27
|
|
30
28
|
it "should raise AccessDeniedError when LinkedIn returns 403 status code" do
|
31
29
|
pending
|
30
|
+
pass
|
32
31
|
end
|
33
32
|
end
|
34
|
-
end
|
33
|
+
end
|
@@ -1,32 +1,26 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe LinkedIn::API::Profiles, vcr: { cassette_name: 'network_updates' } do
|
1
|
+
describe LinkedIn::API::NetworkUpdates, vcr: { cassette_name: 'network_updates' } do
|
4
2
|
subject { LinkedIn::Client.new }
|
5
3
|
|
6
|
-
|
4
|
+
context '#network_updates' do
|
7
5
|
it 'fetches network updates for the current user' do
|
8
6
|
network_updates = subject.network_updates
|
9
|
-
network_updates['_total'].
|
10
|
-
network_updates['values'].
|
7
|
+
expect(network_updates['_total']).to eq 13
|
8
|
+
expect(network_updates['values']).to have(10).things
|
11
9
|
end
|
12
10
|
|
13
11
|
it 'fetches network updates by key' do
|
14
|
-
network_updates = subject.network_updates(
|
12
|
+
network_updates = subject.network_updates(key: 'PROF-18939563-5794095336964247552-*1')
|
15
13
|
network_updates['updatedFields']['values'].should have(1).thing
|
16
14
|
end
|
17
|
-
end
|
18
15
|
|
19
|
-
describe '#network_update_comments' do
|
20
16
|
it 'fetches comments for network updates' do
|
21
|
-
comments = subject.
|
17
|
+
comments = subject.network_updates(key: 'PROF-18939563-5794095336964247552-*1', type: 'update-comments')
|
22
18
|
comments['values'].first['comment'].should eq 'Whaaaat'
|
23
19
|
end
|
24
|
-
|
25
|
-
|
26
|
-
describe '#network_update_likes' do
|
20
|
+
|
27
21
|
it 'fetches "likes" for network updates' do
|
28
|
-
likes = subject.
|
22
|
+
likes = subject.network_updates(key: 'PROF-18939563-5794095336964247552-*1', type: 'likes')
|
29
23
|
likes['values'].first['person']['id'].should eq 'cDmdM9cb0H'
|
30
24
|
end
|
31
25
|
end
|
32
|
-
end
|
26
|
+
end
|
@@ -1,27 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe LinkedIn::API::Profiles, vcr: { cassette_name: 'profiles' } do
|
1
|
+
describe LinkedIn::API::People, vcr: { cassette_name: 'people' } do
|
4
2
|
subject { LinkedIn::Client.new }
|
5
3
|
|
6
|
-
|
4
|
+
context '#profile' do
|
7
5
|
it 'fetches the profile of the current user' do
|
8
6
|
profile = subject.profile
|
9
7
|
|
10
|
-
profile['firstName'].
|
11
|
-
profile['lastName'].
|
8
|
+
expect(profile['firstName']).to eq 'Josh'
|
9
|
+
expect(profile['lastName']).to eq 'Testjordan'
|
12
10
|
end
|
13
11
|
|
14
12
|
it 'fetches publicly available profiles' do
|
15
|
-
profile = subject.profile(
|
16
|
-
|
17
|
-
profile['firstName'].
|
18
|
-
profile['lastName'].
|
13
|
+
profile = subject.profile('id=Fy5e5a4mqr')
|
14
|
+
|
15
|
+
expect(profile['firstName']).to eq 'Sir Richard'
|
16
|
+
expect(profile['lastName']).to eq 'B.'
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
22
|
-
|
20
|
+
context '#connections' do
|
23
21
|
it 'fetches the connections of the current user' do
|
24
|
-
subject.connections['values'].
|
22
|
+
expect(subject.connections['values']).to have(2).things
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
@@ -99,7 +97,7 @@ describe LinkedIn::API::Profiles, vcr: { cassette_name: 'profiles' } do
|
|
99
97
|
end
|
100
98
|
end
|
101
99
|
|
102
|
-
|
100
|
+
context '#connections' do
|
103
101
|
it 'finds all connections for the current user' do
|
104
102
|
linkedin_keys = %w(id headline firstName lastName industry location pictureUrl siteStandardProfileRequest)
|
105
103
|
connections = subject.connections
|
@@ -1,14 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
describe LinkedIn::FaradayMiddleware::LinkedinErrorResponse, vcr: { cassette_name: 'invalid' } do
|
1
|
+
describe LinkedIn::FaradayMiddleware::ErrorResponse, vcr: { cassette_name: 'invalid' } do
|
4
2
|
subject { LinkedIn::Client.new(access_token: nil) }
|
5
3
|
|
6
4
|
describe '#on_error' do
|
7
5
|
it 'raises an error with the status and body reported by Rack included' do
|
8
|
-
|
9
|
-
subject.profile
|
10
|
-
raise 'Should have encountered an exception'
|
11
|
-
rescue LinkedIn::Error => error
|
6
|
+
expect { subject.profile }.to raise_error do |error|
|
12
7
|
error.status.should eq 401
|
13
8
|
error.body.should eq({
|
14
9
|
'errorCode' => 0,
|
@@ -21,21 +16,13 @@ describe LinkedIn::FaradayMiddleware::LinkedinErrorResponse, vcr: { cassette_nam
|
|
21
16
|
end
|
22
17
|
|
23
18
|
it 'uses the message returned by LinkedIn' do
|
24
|
-
|
25
|
-
subject.profile
|
26
|
-
raise 'Should have encountered an exception'
|
27
|
-
rescue LinkedIn::Error => err
|
28
|
-
err.message.should eq 'Empty oauth2_access_token'
|
29
|
-
end
|
19
|
+
expect { subject.profile }.to raise_error { |error| expect(error.message).to eq 'Empty oauth2_access_token' }
|
30
20
|
end
|
31
21
|
|
32
22
|
it 'includes the Faraday request/response object for further introspection by the consumer' do
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
rescue LinkedIn::Error => err
|
37
|
-
err.request.headers['User-Agent'].should eq 'Faraday v0.8.8'
|
38
|
-
err.response.headers['Server'].should eq 'Apache-Coyote/1.1'
|
23
|
+
expect { subject.profile }.to raise_error do |error|
|
24
|
+
error.request.headers['User-Agent'].should eq 'LinkedIn2 Gem v0.0.16'
|
25
|
+
error.response.headers['server'].should eq 'Apache-Coyote/1.1'
|
39
26
|
end
|
40
27
|
end
|
41
28
|
|
@@ -46,8 +33,8 @@ describe LinkedIn::FaradayMiddleware::LinkedinErrorResponse, vcr: { cassette_nam
|
|
46
33
|
raise 'Should have encountered an exception'
|
47
34
|
rescue LinkedIn::Error => err
|
48
35
|
pending 'we need to discuss camelCase vs snake_case. LinkedIn returns "errorCode"'
|
49
|
-
err.error_code.should eq
|
36
|
+
err.error_code.should eq
|
50
37
|
end
|
51
38
|
end
|
52
39
|
end
|
53
|
-
end
|
40
|
+
end
|
@@ -2,17 +2,19 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://api.linkedin.com/v1/companies/162479?oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
5
|
+
uri: https://api.linkedin.com/v1/companies/162479?oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
11
|
- Faraday v0.8.8
|
12
|
+
X-Li-Format:
|
13
|
+
- json
|
12
14
|
response:
|
13
15
|
status:
|
14
16
|
code: 200
|
15
|
-
message:
|
17
|
+
message:
|
16
18
|
headers:
|
17
19
|
server:
|
18
20
|
- Apache-Coyote/1.1
|
@@ -47,21 +49,23 @@ http_interactions:
|
|
47
49
|
"id": 162479,
|
48
50
|
"name": "Apple"
|
49
51
|
}
|
50
|
-
http_version:
|
52
|
+
http_version:
|
51
53
|
recorded_at: Tue, 15 Oct 2013 03:40:32 GMT
|
52
54
|
- request:
|
53
55
|
method: get
|
54
|
-
uri: https://api.linkedin.com/v1/companies/universal-name=linkedin?oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
56
|
+
uri: https://api.linkedin.com/v1/companies/universal-name=linkedin?oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
55
57
|
body:
|
56
58
|
encoding: US-ASCII
|
57
59
|
string: ''
|
58
60
|
headers:
|
59
61
|
User-Agent:
|
60
62
|
- Faraday v0.8.8
|
63
|
+
X-Li-Format:
|
64
|
+
- json
|
61
65
|
response:
|
62
66
|
status:
|
63
67
|
code: 200
|
64
|
-
message:
|
68
|
+
message:
|
65
69
|
headers:
|
66
70
|
server:
|
67
71
|
- Apache-Coyote/1.1
|
@@ -96,21 +100,23 @@ http_interactions:
|
|
96
100
|
"id": 1337,
|
97
101
|
"name": "LinkedIn"
|
98
102
|
}
|
99
|
-
http_version:
|
103
|
+
http_version:
|
100
104
|
recorded_at: Tue, 15 Oct 2013 03:40:33 GMT
|
101
105
|
- request:
|
102
106
|
method: get
|
103
|
-
uri: https://api.linkedin.com/v1/companies
|
107
|
+
uri: https://api.linkedin.com/v1/companies?email-domain=apple.com&oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
104
108
|
body:
|
105
109
|
encoding: US-ASCII
|
106
110
|
string: ''
|
107
111
|
headers:
|
108
112
|
User-Agent:
|
109
113
|
- Faraday v0.8.8
|
114
|
+
X-Li-Format:
|
115
|
+
- json
|
110
116
|
response:
|
111
117
|
status:
|
112
118
|
code: 200
|
113
|
-
message:
|
119
|
+
message:
|
114
120
|
headers:
|
115
121
|
server:
|
116
122
|
- Apache-Coyote/1.1
|
@@ -148,21 +154,23 @@ http_interactions:
|
|
148
154
|
"name": "Apple"
|
149
155
|
}]
|
150
156
|
}
|
151
|
-
http_version:
|
157
|
+
http_version:
|
152
158
|
recorded_at: Tue, 15 Oct 2013 03:40:33 GMT
|
153
159
|
- request:
|
154
160
|
method: get
|
155
|
-
uri: https://api.linkedin.com/v1/companies::(162479,universal-name=linkedin)?oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
161
|
+
uri: https://api.linkedin.com/v1/companies::(162479,universal-name=linkedin)?oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
156
162
|
body:
|
157
163
|
encoding: US-ASCII
|
158
164
|
string: ''
|
159
165
|
headers:
|
160
166
|
User-Agent:
|
161
167
|
- Faraday v0.8.8
|
168
|
+
X-Li-Format:
|
169
|
+
- json
|
162
170
|
response:
|
163
171
|
status:
|
164
172
|
code: 200
|
165
|
-
message:
|
173
|
+
message:
|
166
174
|
headers:
|
167
175
|
server:
|
168
176
|
- Apache-Coyote/1.1
|
@@ -208,21 +216,23 @@ http_interactions:
|
|
208
216
|
}
|
209
217
|
]
|
210
218
|
}
|
211
|
-
http_version:
|
219
|
+
http_version:
|
212
220
|
recorded_at: Tue, 15 Oct 2013 03:40:33 GMT
|
213
221
|
- request:
|
214
222
|
method: get
|
215
|
-
uri: https://api.linkedin.com/v1/companies
|
223
|
+
uri: https://api.linkedin.com/v1/companies?is-company-admin=true&oauth2_access_token=AQUJwEF40pJUbVxsW_mujQ3QCiXvlTnMFk55SlfVPYRcAPdsn1oE1Hm8Ldlc61o57k96i04ufG81KFdPJIOSJswXsGyZ0tk9IMZea8sfNXMGMnZgikQJUQPkmRVYVw9BP1qH9tp7hJF32DQtzkBB_NE8xPASPVgXVWbbntChGyYqqDvF1p8
|
216
224
|
body:
|
217
225
|
encoding: US-ASCII
|
218
226
|
string: ''
|
219
227
|
headers:
|
220
228
|
User-Agent:
|
221
229
|
- Faraday v0.8.8
|
230
|
+
X-Li-Format:
|
231
|
+
- json
|
222
232
|
response:
|
223
233
|
status:
|
224
234
|
code: 200
|
225
|
-
message:
|
235
|
+
message:
|
226
236
|
headers:
|
227
237
|
server:
|
228
238
|
- Apache-Coyote/1.1
|
@@ -253,6 +263,6 @@ http_interactions:
|
|
253
263
|
body:
|
254
264
|
encoding: UTF-8
|
255
265
|
string: '{"_total": 0}'
|
256
|
-
http_version:
|
266
|
+
http_version:
|
257
267
|
recorded_at: Tue, 15 Oct 2013 03:40:34 GMT
|
258
268
|
recorded_with: VCR 2.5.0
|