brienw-linkedin 0.3.7
Sign up to get free protection for your applications and to get access to all the features.
- data/.autotest +14 -0
- data/.document +5 -0
- data/.gemtest +0 -0
- data/.gitignore +41 -0
- data/.rspec +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +7 -0
- data/LICENSE +20 -0
- data/README.markdown +78 -0
- data/Rakefile +19 -0
- data/changelog.markdown +71 -0
- data/examples/authenticate.rb +21 -0
- data/examples/network.rb +12 -0
- data/examples/profile.rb +18 -0
- data/examples/sinatra.rb +77 -0
- data/examples/status.rb +9 -0
- data/lib/linked_in/api.rb +6 -0
- data/lib/linked_in/api/query_methods.rb +73 -0
- data/lib/linked_in/api/update_methods.rb +55 -0
- data/lib/linked_in/client.rb +46 -0
- data/lib/linked_in/errors.rb +19 -0
- data/lib/linked_in/helpers.rb +6 -0
- data/lib/linked_in/helpers/authorization.rb +68 -0
- data/lib/linked_in/helpers/request.rb +80 -0
- data/lib/linked_in/mash.rb +68 -0
- data/lib/linked_in/search.rb +56 -0
- data/lib/linked_in/version.rb +11 -0
- data/lib/linkedin.rb +32 -0
- data/linkedin.gemspec +25 -0
- data/spec/cases/api_spec.rb +92 -0
- data/spec/cases/linkedin_spec.rb +37 -0
- data/spec/cases/mash_spec.rb +85 -0
- data/spec/cases/oauth_spec.rb +166 -0
- data/spec/cases/search_spec.rb +206 -0
- data/spec/fixtures/cassette_library/LinkedIn_Api/Company_API.yml +73 -0
- data/spec/fixtures/cassette_library/LinkedIn_Client/_authorize_from_request.yml +28 -0
- data/spec/fixtures/cassette_library/LinkedIn_Client/_request_token.yml +28 -0
- data/spec/fixtures/cassette_library/LinkedIn_Client/_request_token/with_a_callback_url.yml +28 -0
- data/spec/fixtures/cassette_library/LinkedIn_Client/_request_token/with_default_options.yml +28 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_company_name_option.yml +135 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_first_name_and_last_name_options.yml +122 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_first_name_and_last_name_options_with_fields.yml +72 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_keywords_string_parameter.yml +136 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_single_keywords_option.yml +136 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_single_keywords_option_with_pagination.yml +128 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_keywords_options_with_fields.yml +252 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_keywords_string_parameter.yml +73 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option.yml +71 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option_with_a_facet.yml +111 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option_with_facets_to_return.yml +71 -0
- data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option_with_pagination.yml +66 -0
- data/spec/helper.rb +30 -0
- metadata +295 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: https://api.linkedin.com:443/v1/companies/id=1586
|
6
|
+
body: !!null
|
7
|
+
headers:
|
8
|
+
x-li-format:
|
9
|
+
- json
|
10
|
+
user-agent:
|
11
|
+
- OAuth gem v0.4.5
|
12
|
+
authorization:
|
13
|
+
- OAuth oauth_consumer_key="consumer_key",
|
14
|
+
oauth_nonce="nonce", oauth_signature="signature",
|
15
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1319129843", oauth_token="token",
|
16
|
+
oauth_version="1.0"
|
17
|
+
response: !ruby/struct:VCR::Response
|
18
|
+
status: !ruby/struct:VCR::ResponseStatus
|
19
|
+
code: 200
|
20
|
+
message: OK
|
21
|
+
headers:
|
22
|
+
server:
|
23
|
+
- Apache-Coyote/1.1
|
24
|
+
vary:
|
25
|
+
- ! '*'
|
26
|
+
x-li-format:
|
27
|
+
- json
|
28
|
+
content-type:
|
29
|
+
- application/json;charset=UTF-8
|
30
|
+
transfer-encoding:
|
31
|
+
- chunked
|
32
|
+
date:
|
33
|
+
- Thu, 20 Oct 2011 16:57:24 GMT
|
34
|
+
body: ! "{\n \"id\": 1586,\n \"name\": \"Amazon\"\n}"
|
35
|
+
http_version: '1.1'
|
36
|
+
- !ruby/struct:VCR::HTTPInteraction
|
37
|
+
request: !ruby/struct:VCR::Request
|
38
|
+
method: :get
|
39
|
+
uri: https://api.linkedin.com:443/v1/companies/id=1586:(id,name,industry,locations:(address:(city,state,country-code),is-headquarters),employee-count-range)
|
40
|
+
body: !!null
|
41
|
+
headers:
|
42
|
+
x-li-format:
|
43
|
+
- json
|
44
|
+
user-agent:
|
45
|
+
- OAuth gem v0.4.5
|
46
|
+
authorization:
|
47
|
+
- OAuth oauth_consumer_key="consumer_key",
|
48
|
+
oauth_nonce="nonc", oauth_signature="signature",
|
49
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1319129844", oauth_token="token",
|
50
|
+
oauth_version="1.0"
|
51
|
+
response: !ruby/struct:VCR::Response
|
52
|
+
status: !ruby/struct:VCR::ResponseStatus
|
53
|
+
code: 200
|
54
|
+
message: OK
|
55
|
+
headers:
|
56
|
+
server:
|
57
|
+
- Apache-Coyote/1.1
|
58
|
+
vary:
|
59
|
+
- ! '*'
|
60
|
+
x-li-format:
|
61
|
+
- json
|
62
|
+
content-type:
|
63
|
+
- application/json;charset=UTF-8
|
64
|
+
transfer-encoding:
|
65
|
+
- chunked
|
66
|
+
date:
|
67
|
+
- Thu, 20 Oct 2011 16:57:24 GMT
|
68
|
+
body: ! "{\n \"employeeCountRange\": {\n \"code\": \"I\",\n \"name\": \"10001+\"\n
|
69
|
+
},\n \"id\": 1586,\n \"industry\": \"Internet\",\n \"locations\": {\n \"_total\":
|
70
|
+
1,\n \"values\": [{\n \"address\": {\n \"city\": \"Seattle\",\n
|
71
|
+
\"countryCode\": \"us\",\n \"state\": \"WA\"\n },\n \"isHeadquarters\":
|
72
|
+
true\n }]\n },\n \"name\": \"Amazon\"\n}"
|
73
|
+
http_version: '1.1'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :post
|
5
|
+
uri: https://api.linkedin.com:443/uas/oauth/accessToken
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
user-agent:
|
9
|
+
- OAuth gem v0.4.4
|
10
|
+
authorization:
|
11
|
+
- OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_consumer_key="eAI15DqRUTTd7OuQJBG3Mo0aw2Ekx5yoLX3x3NaLnbTnZbaU46OEii7uNTKijII4", oauth_nonce="ztYyddIoKJ8flDjBJyveOSqm96CLaEM4QpOC0CSW0E", oauth_signature="NSp3ZDtycelP7wsDM7dsuDTZGys%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1297095033", oauth_token="2f5b42dd-1e0e-4f8f-a03c-1e510bde5935", oauth_verifier="25038", oauth_version="1.0"
|
12
|
+
content-length:
|
13
|
+
- "0"
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
content-type:
|
20
|
+
- text/plain
|
21
|
+
server:
|
22
|
+
- Apache-Coyote/1.1
|
23
|
+
date:
|
24
|
+
- Mon, 07 Feb 2011 16:10:34 GMT
|
25
|
+
content-length:
|
26
|
+
- "156"
|
27
|
+
body: oauth_token=28774cd4-fbe1-4e6e-a05e-1243f6471933&oauth_token_secret=2fafe259-976e-41ad-a6f5-d26bbba42923&oauth_expires_in=0&oauth_authorization_expires_in=0
|
28
|
+
http_version: "1.1"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :post
|
5
|
+
uri: https://api.linkedin.com:443/uas/oauth/requestToken
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
user-agent:
|
9
|
+
- OAuth gem v0.4.4
|
10
|
+
authorization:
|
11
|
+
- OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob", oauth_consumer_key="eAI15DqRUTTd7OuQJBG3Mo0aw2Ekx5yoLX3x3NaLnbTnZbaU46OEii7uNTKijII4", oauth_nonce="jSQpxoXaoTl2e0dALgc7VKzRJE993wqzRWuXuF0H0", oauth_signature="wn%2Bw0Jvyb9TQ4DC8sq3CxWMDM7Y%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1297093507", oauth_version="1.0"
|
12
|
+
content-length:
|
13
|
+
- "0"
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
content-type:
|
20
|
+
- text/plain
|
21
|
+
server:
|
22
|
+
- Apache-Coyote/1.1
|
23
|
+
date:
|
24
|
+
- Mon, 07 Feb 2011 15:45:08 GMT
|
25
|
+
content-length:
|
26
|
+
- "236"
|
27
|
+
body: oauth_token=95f8619b-7069-433b-ac9e-35dfba02b0f7&oauth_token_secret=dffd7996-6943-48ce-be6b-771e86b10f92&oauth_callback_confirmed=true&xoauth_request_auth_url=https%3A%2F%2Fapi.linkedin.com%2Fuas%2Foauth%2Fauthorize&oauth_expires_in=599
|
28
|
+
http_version: "1.1"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :post
|
5
|
+
uri: https://api.linkedin.com:443/uas/oauth/requestToken
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
user-agent:
|
9
|
+
- OAuth gem v0.4.4
|
10
|
+
authorization:
|
11
|
+
- OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="http%3A%2F%2Fwww.josh.com", oauth_consumer_key="eAI15DqRUTTd7OuQJBG3Mo0aw2Ekx5yoLX3x3NaLnbTnZbaU46OEii7uNTKijII4", oauth_nonce="OYVkd4yi5oe16NGQMbANhBB8cabeynkTX28fOEjG1rs", oauth_signature="%2BwgZ8nb2CM5oWRpJEC5U0554uGk%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1297103790", oauth_version="1.0"
|
12
|
+
content-length:
|
13
|
+
- "0"
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
content-type:
|
20
|
+
- text/plain
|
21
|
+
server:
|
22
|
+
- Apache-Coyote/1.1
|
23
|
+
date:
|
24
|
+
- Mon, 07 Feb 2011 18:36:30 GMT
|
25
|
+
content-length:
|
26
|
+
- "236"
|
27
|
+
body: oauth_token=f8af7ca2-ca1a-48f2-be6a-bd7b721e2868&oauth_token_secret=c5ec7928-7740-4813-a202-2be8800a0b32&oauth_callback_confirmed=true&xoauth_request_auth_url=https%3A%2F%2Fapi.linkedin.com%2Fuas%2Foauth%2Fauthorize&oauth_expires_in=599
|
28
|
+
http_version: "1.1"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :post
|
5
|
+
uri: https://api.linkedin.com:443/uas/oauth/requestToken
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
user-agent:
|
9
|
+
- OAuth gem v0.4.4
|
10
|
+
authorization:
|
11
|
+
- OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob", oauth_consumer_key="eAI15DqRUTTd7OuQJBG3Mo0aw2Ekx5yoLX3x3NaLnbTnZbaU46OEii7uNTKijII4", oauth_nonce="5INIHjRHjfLCYQX0r7cArMGiUPXoH62wEAgbrh1M", oauth_signature="K1kJU%2FQsuIKj1OUKsaUIcM1xr8Q%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1297103788", oauth_version="1.0"
|
12
|
+
content-length:
|
13
|
+
- "0"
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
content-type:
|
20
|
+
- text/plain
|
21
|
+
server:
|
22
|
+
- Apache-Coyote/1.1
|
23
|
+
date:
|
24
|
+
- Mon, 07 Feb 2011 18:36:29 GMT
|
25
|
+
content-length:
|
26
|
+
- "236"
|
27
|
+
body: oauth_token=fe9d7429-e5cc-47c2-b396-23521d86cf9c&oauth_token_secret=092e7c24-8ad8-4ca9-8f92-8c4f17664bcb&oauth_callback_confirmed=true&xoauth_request_auth_url=https%3A%2F%2Fapi.linkedin.com%2Fuas%2Foauth%2Fauthorize&oauth_expires_in=599
|
28
|
+
http_version: "1.1"
|
@@ -0,0 +1,135 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: https://api.linkedin.com:443/v1/people-search?company-name=linkedin
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
user-agent:
|
9
|
+
- OAuth gem v0.4.4
|
10
|
+
authorization:
|
11
|
+
- OAuth oauth_consumer_key="C2UfeHxZrij1PyppziDLbdUQti6f4TLaL-N0dyiV_us4Pj18_vsHcjKIX0i69fSn",
|
12
|
+
oauth_nonce="5DbPHhxweU6eNBPoAJqkobtxNsZDDIgtmfF0sx3rmQE", oauth_signature="DkRDger8eQvtJq1i8%2FjHzrNAFis%3D",
|
13
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1305061368", oauth_token="afb39322-be32-4b83-83a0-7e35e18d3082",
|
14
|
+
oauth_version="1.0"
|
15
|
+
x-li-format:
|
16
|
+
- json
|
17
|
+
response: !ruby/struct:VCR::Response
|
18
|
+
status: !ruby/struct:VCR::ResponseStatus
|
19
|
+
code: 200
|
20
|
+
message: OK
|
21
|
+
headers:
|
22
|
+
content-type:
|
23
|
+
- application/json;charset=UTF-8
|
24
|
+
server:
|
25
|
+
- Apache-Coyote/1.1
|
26
|
+
date:
|
27
|
+
- Tue, 10 May 2011 21:02:49 GMT
|
28
|
+
x-li-format:
|
29
|
+
- json
|
30
|
+
vary:
|
31
|
+
- x-li-format,Accept-Encoding
|
32
|
+
transfer-encoding:
|
33
|
+
- chunked
|
34
|
+
body: ! "{\n \"numResults\": 5228,\n \"people\": {\n \"values\": [\n {\n
|
35
|
+
\ \"id\": \"VQcsz5Hp_h\",\n \"lastName\": \"Denker\",\n \"firstName\":
|
36
|
+
\"Donald\"\n },\n {\n \"id\": \"YEDghC612B\",\n \"lastName\":
|
37
|
+
\"S.\",\n \"firstName\": \"Daniel\"\n },\n {\n \"id\":
|
38
|
+
\"KMioNXVEg9\",\n \"lastName\": \"H.\",\n \"firstName\": \"Reid\"\n
|
39
|
+
\ },\n {\n \"id\": \"ILGTOKmto4\",\n \"lastName\": \"Ruff\",\n
|
40
|
+
\ \"firstName\": \"Lori\"\n },\n {\n \"id\": \"xr5jcMXKPm\",\n
|
41
|
+
\ \"lastName\": \"C.\",\n \"firstName\": \"Ed\"\n },\n {\n
|
42
|
+
\ \"id\": \"aeejoSqHsN\",\n \"lastName\": \"T.\",\n \"firstName\":
|
43
|
+
\"Brian\"\n },\n {\n \"id\": \"VYC0P9hxVN\",\n \"lastName\":
|
44
|
+
\"Giffen\",\n \"firstName\": \"Sean\"\n },\n {\n \"id\":
|
45
|
+
\"kWPJPI1lrJ\",\n \"lastName\": \"Seps\",\n \"firstName\": \"Chad\"\n
|
46
|
+
\ },\n {\n \"id\": \"1PYJr69P5V\",\n \"lastName\": \"Vasconcelos\",\n
|
47
|
+
\ \"firstName\": \"Cesar\"\n },\n {\n \"id\": \"AU5Dv63Fma\",\n
|
48
|
+
\ \"lastName\": \"Ling\",\n \"firstName\": \"James\"\n }\n
|
49
|
+
\ ],\n \"_count\": 10,\n \"_start\": 0,\n \"_total\": 110\n }\n}"
|
50
|
+
http_version: '1.1'
|
51
|
+
- !ruby/struct:VCR::HTTPInteraction
|
52
|
+
request: !ruby/struct:VCR::Request
|
53
|
+
method: :post
|
54
|
+
uri: https://api.linkedin.com:443/uas/oauth/requestToken
|
55
|
+
body:
|
56
|
+
headers:
|
57
|
+
user-agent:
|
58
|
+
- OAuth gem v0.4.5
|
59
|
+
content-length:
|
60
|
+
- '0'
|
61
|
+
authorization:
|
62
|
+
- OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob",
|
63
|
+
oauth_consumer_key="a39e395e-bc38-4d5b-ae3b-52f840f821e9", oauth_nonce="jCUtbvZXpwNVfrj2x0XmxFfQD55R4NoJqVnhgjKEno",
|
64
|
+
oauth_signature="8XiRWCIiDK%2Fwr%2FTLttRDPnsFaiE%3D", oauth_signature_method="HMAC-SHA1",
|
65
|
+
oauth_timestamp="1329922227", oauth_version="1.0"
|
66
|
+
response: !ruby/struct:VCR::Response
|
67
|
+
status: !ruby/struct:VCR::ResponseStatus
|
68
|
+
code: 401
|
69
|
+
message: Unauthorized
|
70
|
+
headers:
|
71
|
+
server:
|
72
|
+
- Apache-Coyote/1.1
|
73
|
+
www-authenticate:
|
74
|
+
- OAuth realm="https%3A%2F%2Fapi.linkedin.com", oauth_problem="consumer_key_unknown"
|
75
|
+
content-type:
|
76
|
+
- application/x-www-form-urlencoded;charset=UTF-8
|
77
|
+
content-length:
|
78
|
+
- '34'
|
79
|
+
vary:
|
80
|
+
- Accept-Encoding
|
81
|
+
date:
|
82
|
+
- Wed, 22 Feb 2012 14:50:29 GMT
|
83
|
+
body: oauth_problem=consumer_key_unknown
|
84
|
+
http_version: '1.1'
|
85
|
+
- !ruby/struct:VCR::HTTPInteraction
|
86
|
+
request: !ruby/struct:VCR::Request
|
87
|
+
method: :get
|
88
|
+
uri: https://api.linkedin.com:443/v1people-search?company-name=linkedin
|
89
|
+
body:
|
90
|
+
headers:
|
91
|
+
x-li-format:
|
92
|
+
- json
|
93
|
+
user-agent:
|
94
|
+
- OAuth gem v0.4.5
|
95
|
+
authorization:
|
96
|
+
- OAuth oauth_consumer_key="n22cs9eyo36s", oauth_nonce="5oBn6Ns1YZXUeh0oEmAcCjQrXFhf6c652LEGbFbYe4",
|
97
|
+
oauth_signature="yHtXFEkeWfhnrsEpDaXn2Epv9KY%3D", oauth_signature_method="HMAC-SHA1",
|
98
|
+
oauth_timestamp="1329991237", oauth_token="a39e395e-bc38-4d5b-ae3b-52f840f821e9",
|
99
|
+
oauth_version="1.0"
|
100
|
+
response: !ruby/struct:VCR::Response
|
101
|
+
status: !ruby/struct:VCR::ResponseStatus
|
102
|
+
code: 404
|
103
|
+
message: Not Found
|
104
|
+
headers:
|
105
|
+
content-type:
|
106
|
+
- text/html
|
107
|
+
content-length:
|
108
|
+
- '1888'
|
109
|
+
date:
|
110
|
+
- Thu, 23 Feb 2012 10:00:38 GMT
|
111
|
+
server:
|
112
|
+
- lighttpd
|
113
|
+
body: ! "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n
|
114
|
+
\ <title>404: Page Not Found</title>\n <meta http-equiv=\"content-type\" content=\"text/html;
|
115
|
+
charset=UTF-8\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/style.css\">\n</head>\n\n<body
|
116
|
+
class=\"errorpg\">\n\n<div id=\"header\">\n <a href=\"/home\"><img src=\"/img/logos/logo.gif\"
|
117
|
+
width=\"129\" height=\"36\" alt=\"Linkedin\"></a>\n</div>\n\n<div id=\"main\"
|
118
|
+
class=\"error404\">\n <h1>Page Not Found</h1>\n <p>The page you requested
|
119
|
+
is no longer available, or cannot be found.</p>\n <p class=\"bottom\">Please
|
120
|
+
double-check the URL (address) you used, or <a href=\"mailto:customer_service@linkedin.com\">contact
|
121
|
+
us</a> if you feel you have reached this page in error.</p>\n <p class=\"top
|
122
|
+
helper\"><strong>Click the “Back” button on your browser or <a href=\"/home\">go
|
123
|
+
to the home page</a>.</strong></p>\n \n <br>\n \n <p><strong>Are you looking
|
124
|
+
for any of these LinkedIn features?</strong></p>\n <ul>\n <li><a href=\"/search\">Find
|
125
|
+
People</a></li>\n <li><a href=\"/jobs\">Find Jobs</a></li>\n <li><a href=\"/services\">Find
|
126
|
+
Services</a></li>\n <li><a href=\"/reconnect?displayCategories=\">Reconnect
|
127
|
+
with Colleagues</a></li>\n </ul>\n \n <ul>\n <li><a href=\"/static?key=outlook_toolbar_download\">Outlook
|
128
|
+
Toolbar</a></li>\n <li><a href=\"/static?key=firefox_companion_download\">Firefox
|
129
|
+
Companion</a></li>\n <li><a href=\"/static?key=ie_toolbar_download\">Internet
|
130
|
+
Explorer Toolbar</a></li>\n <li><a href=\"/static?key=groups_info\">LinkedIn
|
131
|
+
for Groups</a></li>\n </ul>\n\n <ul>\n <li><a href=\"https://www.linkedin.com/secure/settings\">My
|
132
|
+
Account</a></li>\n <li><a href=\"/profile\">My Profile</a></li>\n <li><a
|
133
|
+
href=\"/connections\">My Connections</a></li>\n <li><a href=\"/inviteMany\">Add
|
134
|
+
Connections</a></li>\n </ul>\n <div class=\"spacer\"> </div>\n</div>\n\n</body>\n</html>"
|
135
|
+
http_version: '1.1'
|
data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_first_name_and_last_name_options.yml
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: https://api.linkedin.com:443/v1/people-search?first-name=Giliardi&last-name=Pires
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
user-agent:
|
9
|
+
- OAuth gem v0.4.4
|
10
|
+
authorization:
|
11
|
+
- OAuth oauth_consumer_key="C2UfeHxZrij1PyppziDLbdUQti6f4TLaL-N0dyiV_us4Pj18_vsHcjKIX0i69fSn",
|
12
|
+
oauth_nonce="IVMcA0gCXgVmgwAn56FRIpQUdQmyFcoP2RRN6ZzPv4", oauth_signature="8aXd44yIB6fsVy%2BYZJNvR01yp2w%3D",
|
13
|
+
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1305061364", oauth_token="afb39322-be32-4b83-83a0-7e35e18d3082",
|
14
|
+
oauth_version="1.0"
|
15
|
+
x-li-format:
|
16
|
+
- json
|
17
|
+
response: !ruby/struct:VCR::Response
|
18
|
+
status: !ruby/struct:VCR::ResponseStatus
|
19
|
+
code: 200
|
20
|
+
message: OK
|
21
|
+
headers:
|
22
|
+
content-type:
|
23
|
+
- application/json;charset=UTF-8
|
24
|
+
server:
|
25
|
+
- Apache-Coyote/1.1
|
26
|
+
date:
|
27
|
+
- Tue, 10 May 2011 21:02:45 GMT
|
28
|
+
x-li-format:
|
29
|
+
- json
|
30
|
+
vary:
|
31
|
+
- x-li-format,Accept-Encoding
|
32
|
+
transfer-encoding:
|
33
|
+
- chunked
|
34
|
+
body: ! "{\n \"numResults\": 1,\n \"people\": {\n \"values\": [{\n \"id\":
|
35
|
+
\"YkdnFl04s_\",\n \"lastName\": \"Pires\",\n \"firstName\": \"Giliardi\"\n
|
36
|
+
\ }],\n \"_total\": 1\n }\n}"
|
37
|
+
http_version: '1.1'
|
38
|
+
- !ruby/struct:VCR::HTTPInteraction
|
39
|
+
request: !ruby/struct:VCR::Request
|
40
|
+
method: :post
|
41
|
+
uri: https://api.linkedin.com:443/uas/oauth/requestToken
|
42
|
+
body:
|
43
|
+
headers:
|
44
|
+
user-agent:
|
45
|
+
- OAuth gem v0.4.5
|
46
|
+
content-length:
|
47
|
+
- '0'
|
48
|
+
authorization:
|
49
|
+
- OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob",
|
50
|
+
oauth_consumer_key="a39e395e-bc38-4d5b-ae3b-52f840f821e9", oauth_nonce="rXssYvyrlgkdK7ZpsjurbqOPKK3vQ0FUM9pRP37NMc",
|
51
|
+
oauth_signature="b%2B3nVjLTwMGwAANmULOD8YSdjZU%3D", oauth_signature_method="HMAC-SHA1",
|
52
|
+
oauth_timestamp="1329922226", oauth_version="1.0"
|
53
|
+
response: !ruby/struct:VCR::Response
|
54
|
+
status: !ruby/struct:VCR::ResponseStatus
|
55
|
+
code: 401
|
56
|
+
message: Unauthorized
|
57
|
+
headers:
|
58
|
+
server:
|
59
|
+
- Apache-Coyote/1.1
|
60
|
+
www-authenticate:
|
61
|
+
- OAuth realm="https%3A%2F%2Fapi.linkedin.com", oauth_problem="consumer_key_unknown"
|
62
|
+
content-type:
|
63
|
+
- application/x-www-form-urlencoded;charset=UTF-8
|
64
|
+
content-length:
|
65
|
+
- '34'
|
66
|
+
vary:
|
67
|
+
- Accept-Encoding
|
68
|
+
date:
|
69
|
+
- Wed, 22 Feb 2012 14:50:28 GMT
|
70
|
+
body: oauth_problem=consumer_key_unknown
|
71
|
+
http_version: '1.1'
|
72
|
+
- !ruby/struct:VCR::HTTPInteraction
|
73
|
+
request: !ruby/struct:VCR::Request
|
74
|
+
method: :get
|
75
|
+
uri: https://api.linkedin.com:443/v1people-search?first-name=Giliardi&last-name=Pires
|
76
|
+
body:
|
77
|
+
headers:
|
78
|
+
x-li-format:
|
79
|
+
- json
|
80
|
+
user-agent:
|
81
|
+
- OAuth gem v0.4.5
|
82
|
+
authorization:
|
83
|
+
- OAuth oauth_consumer_key="n22cs9eyo36s", oauth_nonce="d90SJkw5a0WbvJqggKUYk02aUMkcPjWLBrfT5lU",
|
84
|
+
oauth_signature="h9ZKohoAEDStOnt2vQQYoEXdIYk%3D", oauth_signature_method="HMAC-SHA1",
|
85
|
+
oauth_timestamp="1329991237", oauth_token="a39e395e-bc38-4d5b-ae3b-52f840f821e9",
|
86
|
+
oauth_version="1.0"
|
87
|
+
response: !ruby/struct:VCR::Response
|
88
|
+
status: !ruby/struct:VCR::ResponseStatus
|
89
|
+
code: 404
|
90
|
+
message: Not Found
|
91
|
+
headers:
|
92
|
+
content-type:
|
93
|
+
- text/html
|
94
|
+
content-length:
|
95
|
+
- '1888'
|
96
|
+
date:
|
97
|
+
- Thu, 23 Feb 2012 10:00:38 GMT
|
98
|
+
server:
|
99
|
+
- lighttpd
|
100
|
+
body: ! "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n<head>\n
|
101
|
+
\ <title>404: Page Not Found</title>\n <meta http-equiv=\"content-type\" content=\"text/html;
|
102
|
+
charset=UTF-8\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/style.css\">\n</head>\n\n<body
|
103
|
+
class=\"errorpg\">\n\n<div id=\"header\">\n <a href=\"/home\"><img src=\"/img/logos/logo.gif\"
|
104
|
+
width=\"129\" height=\"36\" alt=\"Linkedin\"></a>\n</div>\n\n<div id=\"main\"
|
105
|
+
class=\"error404\">\n <h1>Page Not Found</h1>\n <p>The page you requested
|
106
|
+
is no longer available, or cannot be found.</p>\n <p class=\"bottom\">Please
|
107
|
+
double-check the URL (address) you used, or <a href=\"mailto:customer_service@linkedin.com\">contact
|
108
|
+
us</a> if you feel you have reached this page in error.</p>\n <p class=\"top
|
109
|
+
helper\"><strong>Click the “Back” button on your browser or <a href=\"/home\">go
|
110
|
+
to the home page</a>.</strong></p>\n \n <br>\n \n <p><strong>Are you looking
|
111
|
+
for any of these LinkedIn features?</strong></p>\n <ul>\n <li><a href=\"/search\">Find
|
112
|
+
People</a></li>\n <li><a href=\"/jobs\">Find Jobs</a></li>\n <li><a href=\"/services\">Find
|
113
|
+
Services</a></li>\n <li><a href=\"/reconnect?displayCategories=\">Reconnect
|
114
|
+
with Colleagues</a></li>\n </ul>\n \n <ul>\n <li><a href=\"/static?key=outlook_toolbar_download\">Outlook
|
115
|
+
Toolbar</a></li>\n <li><a href=\"/static?key=firefox_companion_download\">Firefox
|
116
|
+
Companion</a></li>\n <li><a href=\"/static?key=ie_toolbar_download\">Internet
|
117
|
+
Explorer Toolbar</a></li>\n <li><a href=\"/static?key=groups_info\">LinkedIn
|
118
|
+
for Groups</a></li>\n </ul>\n\n <ul>\n <li><a href=\"https://www.linkedin.com/secure/settings\">My
|
119
|
+
Account</a></li>\n <li><a href=\"/profile\">My Profile</a></li>\n <li><a
|
120
|
+
href=\"/connections\">My Connections</a></li>\n <li><a href=\"/inviteMany\">Add
|
121
|
+
Connections</a></li>\n </ul>\n <div class=\"spacer\"> </div>\n</div>\n\n</body>\n</html>"
|
122
|
+
http_version: '1.1'
|