linkedin2 0.0.16 → 0.0.17
Sign up to get free protection for your applications and to get access to all the features.
- 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
|