brienw-linkedin 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/.autotest +14 -0
  2. data/.document +5 -0
  3. data/.gemtest +0 -0
  4. data/.gitignore +41 -0
  5. data/.rspec +1 -0
  6. data/.travis.yml +5 -0
  7. data/Gemfile +7 -0
  8. data/LICENSE +20 -0
  9. data/README.markdown +78 -0
  10. data/Rakefile +19 -0
  11. data/changelog.markdown +71 -0
  12. data/examples/authenticate.rb +21 -0
  13. data/examples/network.rb +12 -0
  14. data/examples/profile.rb +18 -0
  15. data/examples/sinatra.rb +77 -0
  16. data/examples/status.rb +9 -0
  17. data/lib/linked_in/api.rb +6 -0
  18. data/lib/linked_in/api/query_methods.rb +73 -0
  19. data/lib/linked_in/api/update_methods.rb +55 -0
  20. data/lib/linked_in/client.rb +46 -0
  21. data/lib/linked_in/errors.rb +19 -0
  22. data/lib/linked_in/helpers.rb +6 -0
  23. data/lib/linked_in/helpers/authorization.rb +68 -0
  24. data/lib/linked_in/helpers/request.rb +80 -0
  25. data/lib/linked_in/mash.rb +68 -0
  26. data/lib/linked_in/search.rb +56 -0
  27. data/lib/linked_in/version.rb +11 -0
  28. data/lib/linkedin.rb +32 -0
  29. data/linkedin.gemspec +25 -0
  30. data/spec/cases/api_spec.rb +92 -0
  31. data/spec/cases/linkedin_spec.rb +37 -0
  32. data/spec/cases/mash_spec.rb +85 -0
  33. data/spec/cases/oauth_spec.rb +166 -0
  34. data/spec/cases/search_spec.rb +206 -0
  35. data/spec/fixtures/cassette_library/LinkedIn_Api/Company_API.yml +73 -0
  36. data/spec/fixtures/cassette_library/LinkedIn_Client/_authorize_from_request.yml +28 -0
  37. data/spec/fixtures/cassette_library/LinkedIn_Client/_request_token.yml +28 -0
  38. data/spec/fixtures/cassette_library/LinkedIn_Client/_request_token/with_a_callback_url.yml +28 -0
  39. data/spec/fixtures/cassette_library/LinkedIn_Client/_request_token/with_default_options.yml +28 -0
  40. data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_company_name_option.yml +135 -0
  41. data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_first_name_and_last_name_options.yml +122 -0
  42. data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_first_name_and_last_name_options_with_fields.yml +72 -0
  43. data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_keywords_string_parameter.yml +136 -0
  44. data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_single_keywords_option.yml +136 -0
  45. data/spec/fixtures/cassette_library/LinkedIn_Search/_search/by_single_keywords_option_with_pagination.yml +128 -0
  46. data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_keywords_options_with_fields.yml +252 -0
  47. data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_keywords_string_parameter.yml +73 -0
  48. data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option.yml +71 -0
  49. data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option_with_a_facet.yml +111 -0
  50. data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option_with_facets_to_return.yml +71 -0
  51. data/spec/fixtures/cassette_library/LinkedIn_Search/_search_company/by_single_keywords_option_with_pagination.yml +66 -0
  52. data/spec/helper.rb +30 -0
  53. 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 &#8220;Back&#8221; 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\">&nbsp;</div>\n</div>\n\n</body>\n</html>"
135
+ http_version: '1.1'
@@ -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 &#8220;Back&#8221; 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\">&nbsp;</div>\n</div>\n\n</body>\n</html>"
122
+ http_version: '1.1'