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,72 @@
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:(people:(id,first-name,last-name,public-profile-url,picture-url),num-results)?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="p445iIZd1oQn2e1JL6M2ZbGEUi2nTMqacOQ4S1xeDY", oauth_signature="639UhE9asgiYLgUzBYUFrdIF%2BS8%3D",
13
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1305061366", 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:47 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 \"publicProfileUrl\": \"http://www.linkedin.com/in/gibanet\",\n
36
+ \ \"lastName\": \"Pires\",\n \"pictureUrl\": \"http://media.linkedin.com/mpr/mprx/0_Oz05kn9xkWziAEOUKtOVkqzjXd8Clf7UyqIVkqchR2NtmwZRt1fWoN_aobhg-HmB09jUwPLKrAhU\",\n
37
+ \ \"firstName\": \"Giliardi\"\n }],\n \"_total\": 1\n }\n}"
38
+ http_version: '1.1'
39
+ - !ruby/struct:VCR::HTTPInteraction
40
+ request: !ruby/struct:VCR::Request
41
+ method: :post
42
+ uri: https://api.linkedin.com:443/uas/oauth/requestToken
43
+ body:
44
+ headers:
45
+ user-agent:
46
+ - OAuth gem v0.4.5
47
+ content-length:
48
+ - '0'
49
+ authorization:
50
+ - OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob",
51
+ oauth_consumer_key="a39e395e-bc38-4d5b-ae3b-52f840f821e9", oauth_nonce="bcBcCa4GrHRyxuMfyrnwxQahY2zkrQVUhRhpQDhfA",
52
+ oauth_signature="3d%2FocgY%2FpjVNVXL2Ud9aIAWyBCQ%3D", oauth_signature_method="HMAC-SHA1",
53
+ oauth_timestamp="1329922227", oauth_version="1.0"
54
+ response: !ruby/struct:VCR::Response
55
+ status: !ruby/struct:VCR::ResponseStatus
56
+ code: 401
57
+ message: Unauthorized
58
+ headers:
59
+ server:
60
+ - Apache-Coyote/1.1
61
+ www-authenticate:
62
+ - OAuth realm="https%3A%2F%2Fapi.linkedin.com", oauth_problem="consumer_key_unknown"
63
+ content-type:
64
+ - application/x-www-form-urlencoded;charset=UTF-8
65
+ content-length:
66
+ - '34'
67
+ vary:
68
+ - Accept-Encoding
69
+ date:
70
+ - Wed, 22 Feb 2012 14:50:29 GMT
71
+ body: oauth_problem=consumer_key_unknown
72
+ http_version: '1.1'
@@ -0,0 +1,136 @@
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?keywords=github
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="KenR6ArkWDl5wqulIJZyecJGRWPE7CEDy9COzkWQXR8", oauth_signature="aPgVcIv2aiTr74Wh3sujsTBD4%2B8%3D",
13
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1305061358", 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:40 GMT
28
+ x-li-format:
29
+ - json
30
+ vary:
31
+ - x-li-format,Accept-Encoding
32
+ transfer-encoding:
33
+ - chunked
34
+ body: ! "{\n \"numResults\": 905,\n \"people\": {\n \"values\": [\n {\n
35
+ \ \"id\": \"YkdnFl04s_\",\n \"lastName\": \"Pires\",\n \"firstName\":
36
+ \"Giliardi\"\n },\n {\n \"id\": \"5oELVyNfN3\",\n \"lastName\":
37
+ \"Alencar\",\n \"firstName\": \"Ivan\"\n },\n {\n \"id\":
38
+ \"k-wxkgFDYL\",\n \"lastName\": \"Private\",\n \"firstName\":
39
+ \"\"\n },\n {\n \"id\": \"xT-OdnpncE\",\n \"lastName\":
40
+ \"Private\",\n \"firstName\": \"\"\n },\n {\n \"id\":
41
+ \"GAG-lE3XVw\",\n \"lastName\": \"Private\",\n \"firstName\":
42
+ \"\"\n },\n {\n \"id\": \"z2XMcxa_dR\",\n \"lastName\":
43
+ \"M.\",\n \"firstName\": \"Stephen\"\n },\n {\n \"id\":
44
+ \"cPANxsayPK\",\n \"lastName\": \"Private\",\n \"firstName\":
45
+ \"\"\n },\n {\n \"id\": \"SbMT09zllx\",\n \"lastName\":
46
+ \"L.\",\n \"firstName\": \"Rodolfo\"\n },\n {\n \"id\":
47
+ \"GrH-5d4mH1\",\n \"lastName\": \"Barnaba\",\n \"firstName\":
48
+ \"Marcello\"\n },\n {\n \"id\": \"pdzrGpyP0h\",\n \"lastName\":
49
+ \"C.\",\n \"firstName\": \"Pablo\"\n }\n ],\n \"_count\":
50
+ 10,\n \"_start\": 0,\n \"_total\": 110\n }\n}"
51
+ http_version: '1.1'
52
+ - !ruby/struct:VCR::HTTPInteraction
53
+ request: !ruby/struct:VCR::Request
54
+ method: :post
55
+ uri: https://api.linkedin.com:443/uas/oauth/requestToken
56
+ body:
57
+ headers:
58
+ user-agent:
59
+ - OAuth gem v0.4.5
60
+ content-length:
61
+ - '0'
62
+ authorization:
63
+ - OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob",
64
+ oauth_consumer_key="a39e395e-bc38-4d5b-ae3b-52f840f821e9", oauth_nonce="PP414dguMZJe10RlUgLPWaLFhdu8pJ14NoYSKQ36mg",
65
+ oauth_signature="utkviYJALT93h%2BJ738IdgmWYQMg%3D", oauth_signature_method="HMAC-SHA1",
66
+ oauth_timestamp="1329922222", oauth_version="1.0"
67
+ response: !ruby/struct:VCR::Response
68
+ status: !ruby/struct:VCR::ResponseStatus
69
+ code: 401
70
+ message: Unauthorized
71
+ headers:
72
+ server:
73
+ - Apache-Coyote/1.1
74
+ www-authenticate:
75
+ - OAuth realm="https%3A%2F%2Fapi.linkedin.com", oauth_problem="consumer_key_unknown"
76
+ content-type:
77
+ - application/x-www-form-urlencoded;charset=UTF-8
78
+ content-length:
79
+ - '34'
80
+ vary:
81
+ - Accept-Encoding
82
+ date:
83
+ - Wed, 22 Feb 2012 14:50:24 GMT
84
+ body: oauth_problem=consumer_key_unknown
85
+ http_version: '1.1'
86
+ - !ruby/struct:VCR::HTTPInteraction
87
+ request: !ruby/struct:VCR::Request
88
+ method: :get
89
+ uri: https://api.linkedin.com:443/v1people-search?keywords=github
90
+ body:
91
+ headers:
92
+ x-li-format:
93
+ - json
94
+ user-agent:
95
+ - OAuth gem v0.4.5
96
+ authorization:
97
+ - OAuth oauth_consumer_key="n22cs9eyo36s", oauth_nonce="QLUmDted5J4dGxWyz5TxD2aLeQTSdUYgVF5LqzcaI",
98
+ oauth_signature="FQWcB4ad5NTQHoa%2FGiCHrYOnD2M%3D", oauth_signature_method="HMAC-SHA1",
99
+ oauth_timestamp="1329991235", oauth_token="a39e395e-bc38-4d5b-ae3b-52f840f821e9",
100
+ oauth_version="1.0"
101
+ response: !ruby/struct:VCR::Response
102
+ status: !ruby/struct:VCR::ResponseStatus
103
+ code: 404
104
+ message: Not Found
105
+ headers:
106
+ content-type:
107
+ - text/html
108
+ content-length:
109
+ - '1888'
110
+ date:
111
+ - Thu, 23 Feb 2012 10:00:36 GMT
112
+ server:
113
+ - lighttpd
114
+ 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
115
+ \ <title>404: Page Not Found</title>\n <meta http-equiv=\"content-type\" content=\"text/html;
116
+ charset=UTF-8\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/style.css\">\n</head>\n\n<body
117
+ class=\"errorpg\">\n\n<div id=\"header\">\n <a href=\"/home\"><img src=\"/img/logos/logo.gif\"
118
+ width=\"129\" height=\"36\" alt=\"Linkedin\"></a>\n</div>\n\n<div id=\"main\"
119
+ class=\"error404\">\n <h1>Page Not Found</h1>\n <p>The page you requested
120
+ is no longer available, or cannot be found.</p>\n <p class=\"bottom\">Please
121
+ double-check the URL (address) you used, or <a href=\"mailto:customer_service@linkedin.com\">contact
122
+ us</a> if you feel you have reached this page in error.</p>\n <p class=\"top
123
+ helper\"><strong>Click the &#8220;Back&#8221; button on your browser or <a href=\"/home\">go
124
+ to the home page</a>.</strong></p>\n \n <br>\n \n <p><strong>Are you looking
125
+ for any of these LinkedIn features?</strong></p>\n <ul>\n <li><a href=\"/search\">Find
126
+ People</a></li>\n <li><a href=\"/jobs\">Find Jobs</a></li>\n <li><a href=\"/services\">Find
127
+ Services</a></li>\n <li><a href=\"/reconnect?displayCategories=\">Reconnect
128
+ with Colleagues</a></li>\n </ul>\n \n <ul>\n <li><a href=\"/static?key=outlook_toolbar_download\">Outlook
129
+ Toolbar</a></li>\n <li><a href=\"/static?key=firefox_companion_download\">Firefox
130
+ Companion</a></li>\n <li><a href=\"/static?key=ie_toolbar_download\">Internet
131
+ Explorer Toolbar</a></li>\n <li><a href=\"/static?key=groups_info\">LinkedIn
132
+ for Groups</a></li>\n </ul>\n\n <ul>\n <li><a href=\"https://www.linkedin.com/secure/settings\">My
133
+ Account</a></li>\n <li><a href=\"/profile\">My Profile</a></li>\n <li><a
134
+ href=\"/connections\">My Connections</a></li>\n <li><a href=\"/inviteMany\">Add
135
+ Connections</a></li>\n </ul>\n <div class=\"spacer\">&nbsp;</div>\n</div>\n\n</body>\n</html>"
136
+ http_version: '1.1'
@@ -0,0 +1,136 @@
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?keywords=github
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="neCS0f9bL8RywiUOvLLDBfAwnc3wmlyFH3N2k4v2PmU", oauth_signature="0EgRN6GvhW3WdWMS8g0gdbOp9Do%3D",
13
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1305061361", 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:41 GMT
28
+ x-li-format:
29
+ - json
30
+ vary:
31
+ - x-li-format,Accept-Encoding
32
+ transfer-encoding:
33
+ - chunked
34
+ body: ! "{\n \"numResults\": 905,\n \"people\": {\n \"values\": [\n {\n
35
+ \ \"id\": \"YkdnFl04s_\",\n \"lastName\": \"Pires\",\n \"firstName\":
36
+ \"Giliardi\"\n },\n {\n \"id\": \"5oELVyNfN3\",\n \"lastName\":
37
+ \"Alencar\",\n \"firstName\": \"Ivan\"\n },\n {\n \"id\":
38
+ \"k-wxkgFDYL\",\n \"lastName\": \"Private\",\n \"firstName\":
39
+ \"\"\n },\n {\n \"id\": \"xT-OdnpncE\",\n \"lastName\":
40
+ \"Private\",\n \"firstName\": \"\"\n },\n {\n \"id\":
41
+ \"GAG-lE3XVw\",\n \"lastName\": \"Private\",\n \"firstName\":
42
+ \"\"\n },\n {\n \"id\": \"z2XMcxa_dR\",\n \"lastName\":
43
+ \"M.\",\n \"firstName\": \"Stephen\"\n },\n {\n \"id\":
44
+ \"cPANxsayPK\",\n \"lastName\": \"Private\",\n \"firstName\":
45
+ \"\"\n },\n {\n \"id\": \"SbMT09zllx\",\n \"lastName\":
46
+ \"L.\",\n \"firstName\": \"Rodolfo\"\n },\n {\n \"id\":
47
+ \"GrH-5d4mH1\",\n \"lastName\": \"Barnaba\",\n \"firstName\":
48
+ \"Marcello\"\n },\n {\n \"id\": \"pdzrGpyP0h\",\n \"lastName\":
49
+ \"C.\",\n \"firstName\": \"Pablo\"\n }\n ],\n \"_count\":
50
+ 10,\n \"_start\": 0,\n \"_total\": 110\n }\n}"
51
+ http_version: '1.1'
52
+ - !ruby/struct:VCR::HTTPInteraction
53
+ request: !ruby/struct:VCR::Request
54
+ method: :post
55
+ uri: https://api.linkedin.com:443/uas/oauth/requestToken
56
+ body:
57
+ headers:
58
+ user-agent:
59
+ - OAuth gem v0.4.5
60
+ content-length:
61
+ - '0'
62
+ authorization:
63
+ - OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob",
64
+ oauth_consumer_key="a39e395e-bc38-4d5b-ae3b-52f840f821e9", oauth_nonce="UuoHVjUP4dd5Soqo0WrqODrxeWduE0D7hTTfgqeEgc",
65
+ oauth_signature="FLU2BhoUM1I1AwQ5Nv8EtL2O6B8%3D", oauth_signature_method="HMAC-SHA1",
66
+ oauth_timestamp="1329922223", oauth_version="1.0"
67
+ response: !ruby/struct:VCR::Response
68
+ status: !ruby/struct:VCR::ResponseStatus
69
+ code: 401
70
+ message: Unauthorized
71
+ headers:
72
+ server:
73
+ - Apache-Coyote/1.1
74
+ www-authenticate:
75
+ - OAuth realm="https%3A%2F%2Fapi.linkedin.com", oauth_problem="consumer_key_unknown"
76
+ content-type:
77
+ - application/x-www-form-urlencoded;charset=UTF-8
78
+ content-length:
79
+ - '34'
80
+ vary:
81
+ - Accept-Encoding
82
+ date:
83
+ - Wed, 22 Feb 2012 14:50:25 GMT
84
+ body: oauth_problem=consumer_key_unknown
85
+ http_version: '1.1'
86
+ - !ruby/struct:VCR::HTTPInteraction
87
+ request: !ruby/struct:VCR::Request
88
+ method: :get
89
+ uri: https://api.linkedin.com:443/v1people-search?keywords=github
90
+ body:
91
+ headers:
92
+ x-li-format:
93
+ - json
94
+ user-agent:
95
+ - OAuth gem v0.4.5
96
+ authorization:
97
+ - OAuth oauth_consumer_key="n22cs9eyo36s", oauth_nonce="Y9Z6mPtiiliebyfkJ6HjTJdPzl1wwoKRDv0eU1Qe6vQ",
98
+ oauth_signature="RYpx4iML26Tq5I%2FK14ocPB%2FzOBw%3D", oauth_signature_method="HMAC-SHA1",
99
+ oauth_timestamp="1329991236", oauth_token="a39e395e-bc38-4d5b-ae3b-52f840f821e9",
100
+ oauth_version="1.0"
101
+ response: !ruby/struct:VCR::Response
102
+ status: !ruby/struct:VCR::ResponseStatus
103
+ code: 404
104
+ message: Not Found
105
+ headers:
106
+ content-type:
107
+ - text/html
108
+ content-length:
109
+ - '1888'
110
+ date:
111
+ - Thu, 23 Feb 2012 10:00:37 GMT
112
+ server:
113
+ - lighttpd
114
+ 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
115
+ \ <title>404: Page Not Found</title>\n <meta http-equiv=\"content-type\" content=\"text/html;
116
+ charset=UTF-8\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/style.css\">\n</head>\n\n<body
117
+ class=\"errorpg\">\n\n<div id=\"header\">\n <a href=\"/home\"><img src=\"/img/logos/logo.gif\"
118
+ width=\"129\" height=\"36\" alt=\"Linkedin\"></a>\n</div>\n\n<div id=\"main\"
119
+ class=\"error404\">\n <h1>Page Not Found</h1>\n <p>The page you requested
120
+ is no longer available, or cannot be found.</p>\n <p class=\"bottom\">Please
121
+ double-check the URL (address) you used, or <a href=\"mailto:customer_service@linkedin.com\">contact
122
+ us</a> if you feel you have reached this page in error.</p>\n <p class=\"top
123
+ helper\"><strong>Click the &#8220;Back&#8221; button on your browser or <a href=\"/home\">go
124
+ to the home page</a>.</strong></p>\n \n <br>\n \n <p><strong>Are you looking
125
+ for any of these LinkedIn features?</strong></p>\n <ul>\n <li><a href=\"/search\">Find
126
+ People</a></li>\n <li><a href=\"/jobs\">Find Jobs</a></li>\n <li><a href=\"/services\">Find
127
+ Services</a></li>\n <li><a href=\"/reconnect?displayCategories=\">Reconnect
128
+ with Colleagues</a></li>\n </ul>\n \n <ul>\n <li><a href=\"/static?key=outlook_toolbar_download\">Outlook
129
+ Toolbar</a></li>\n <li><a href=\"/static?key=firefox_companion_download\">Firefox
130
+ Companion</a></li>\n <li><a href=\"/static?key=ie_toolbar_download\">Internet
131
+ Explorer Toolbar</a></li>\n <li><a href=\"/static?key=groups_info\">LinkedIn
132
+ for Groups</a></li>\n </ul>\n\n <ul>\n <li><a href=\"https://www.linkedin.com/secure/settings\">My
133
+ Account</a></li>\n <li><a href=\"/profile\">My Profile</a></li>\n <li><a
134
+ href=\"/connections\">My Connections</a></li>\n <li><a href=\"/inviteMany\">Add
135
+ Connections</a></li>\n </ul>\n <div class=\"spacer\">&nbsp;</div>\n</div>\n\n</body>\n</html>"
136
+ http_version: '1.1'
@@ -0,0 +1,128 @@
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?count=5&keywords=github&start=5
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="efW9d0TjHFPkszKWMt55AyyIhu0lf0fqcX5562fL30", oauth_signature="NLhujA9Isu2Y%2FwFRXCpW9oFGip0%3D",
13
+ oauth_signature_method="HMAC-SHA1", oauth_timestamp="1305061362", 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:44 GMT
28
+ x-li-format:
29
+ - json
30
+ vary:
31
+ - x-li-format,Accept-Encoding
32
+ transfer-encoding:
33
+ - chunked
34
+ body: ! "{\n \"numResults\": 905,\n \"people\": {\n \"values\": [\n {\n
35
+ \ \"id\": \"z2XMcxa_dR\",\n \"lastName\": \"M.\",\n \"firstName\":
36
+ \"Stephen\"\n },\n {\n \"id\": \"cPANxsayPK\",\n \"lastName\":
37
+ \"Private\",\n \"firstName\": \"\"\n },\n {\n \"id\":
38
+ \"SbMT09zllx\",\n \"lastName\": \"L.\",\n \"firstName\": \"Rodolfo\"\n
39
+ \ },\n {\n \"id\": \"GrH-5d4mH1\",\n \"lastName\": \"Barnaba\",\n
40
+ \ \"firstName\": \"Marcello\"\n },\n {\n \"id\": \"pdzrGpyP0h\",\n
41
+ \ \"lastName\": \"C.\",\n \"firstName\": \"Pablo\"\n }\n ],\n
42
+ \ \"_count\": 5,\n \"_start\": 5,\n \"_total\": 110\n }\n}"
43
+ http_version: '1.1'
44
+ - !ruby/struct:VCR::HTTPInteraction
45
+ request: !ruby/struct:VCR::Request
46
+ method: :post
47
+ uri: https://api.linkedin.com:443/uas/oauth/requestToken
48
+ body:
49
+ headers:
50
+ user-agent:
51
+ - OAuth gem v0.4.5
52
+ content-length:
53
+ - '0'
54
+ authorization:
55
+ - OAuth oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYkK%2FYBwk%3D", oauth_callback="oob",
56
+ oauth_consumer_key="a39e395e-bc38-4d5b-ae3b-52f840f821e9", oauth_nonce="qNNn2PVI87k4RFxKbSolSwOWOlmcxO8bcWrofwTwTqU",
57
+ oauth_signature="MhkIBljWjbXfRQ8r4be9jbdDoeo%3D", oauth_signature_method="HMAC-SHA1",
58
+ oauth_timestamp="1329922224", oauth_version="1.0"
59
+ response: !ruby/struct:VCR::Response
60
+ status: !ruby/struct:VCR::ResponseStatus
61
+ code: 401
62
+ message: Unauthorized
63
+ headers:
64
+ server:
65
+ - Apache-Coyote/1.1
66
+ www-authenticate:
67
+ - OAuth realm="https%3A%2F%2Fapi.linkedin.com", oauth_problem="consumer_key_unknown"
68
+ content-type:
69
+ - application/x-www-form-urlencoded;charset=UTF-8
70
+ content-length:
71
+ - '34'
72
+ vary:
73
+ - Accept-Encoding
74
+ date:
75
+ - Wed, 22 Feb 2012 14:50:28 GMT
76
+ body: oauth_problem=consumer_key_unknown
77
+ http_version: '1.1'
78
+ - !ruby/struct:VCR::HTTPInteraction
79
+ request: !ruby/struct:VCR::Request
80
+ method: :get
81
+ uri: https://api.linkedin.com:443/v1people-search?count=5&keywords=github&start=5
82
+ body:
83
+ headers:
84
+ x-li-format:
85
+ - json
86
+ user-agent:
87
+ - OAuth gem v0.4.5
88
+ authorization:
89
+ - OAuth oauth_consumer_key="n22cs9eyo36s", oauth_nonce="T6HlbQmLOSYpKReW5f62ynJ0v5bahq7DPXXtVt8",
90
+ oauth_signature="KAO8bptvgvyGmrzuXIcD3oT%2BOPw%3D", oauth_signature_method="HMAC-SHA1",
91
+ oauth_timestamp="1329991236", oauth_token="a39e395e-bc38-4d5b-ae3b-52f840f821e9",
92
+ oauth_version="1.0"
93
+ response: !ruby/struct:VCR::Response
94
+ status: !ruby/struct:VCR::ResponseStatus
95
+ code: 404
96
+ message: Not Found
97
+ headers:
98
+ content-type:
99
+ - text/html
100
+ content-length:
101
+ - '1888'
102
+ date:
103
+ - Thu, 23 Feb 2012 10:00:37 GMT
104
+ server:
105
+ - lighttpd
106
+ 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
107
+ \ <title>404: Page Not Found</title>\n <meta http-equiv=\"content-type\" content=\"text/html;
108
+ charset=UTF-8\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/style.css\">\n</head>\n\n<body
109
+ class=\"errorpg\">\n\n<div id=\"header\">\n <a href=\"/home\"><img src=\"/img/logos/logo.gif\"
110
+ width=\"129\" height=\"36\" alt=\"Linkedin\"></a>\n</div>\n\n<div id=\"main\"
111
+ class=\"error404\">\n <h1>Page Not Found</h1>\n <p>The page you requested
112
+ is no longer available, or cannot be found.</p>\n <p class=\"bottom\">Please
113
+ double-check the URL (address) you used, or <a href=\"mailto:customer_service@linkedin.com\">contact
114
+ us</a> if you feel you have reached this page in error.</p>\n <p class=\"top
115
+ helper\"><strong>Click the &#8220;Back&#8221; button on your browser or <a href=\"/home\">go
116
+ to the home page</a>.</strong></p>\n \n <br>\n \n <p><strong>Are you looking
117
+ for any of these LinkedIn features?</strong></p>\n <ul>\n <li><a href=\"/search\">Find
118
+ People</a></li>\n <li><a href=\"/jobs\">Find Jobs</a></li>\n <li><a href=\"/services\">Find
119
+ Services</a></li>\n <li><a href=\"/reconnect?displayCategories=\">Reconnect
120
+ with Colleagues</a></li>\n </ul>\n \n <ul>\n <li><a href=\"/static?key=outlook_toolbar_download\">Outlook
121
+ Toolbar</a></li>\n <li><a href=\"/static?key=firefox_companion_download\">Firefox
122
+ Companion</a></li>\n <li><a href=\"/static?key=ie_toolbar_download\">Internet
123
+ Explorer Toolbar</a></li>\n <li><a href=\"/static?key=groups_info\">LinkedIn
124
+ for Groups</a></li>\n </ul>\n\n <ul>\n <li><a href=\"https://www.linkedin.com/secure/settings\">My
125
+ Account</a></li>\n <li><a href=\"/profile\">My Profile</a></li>\n <li><a
126
+ href=\"/connections\">My Connections</a></li>\n <li><a href=\"/inviteMany\">Add
127
+ Connections</a></li>\n </ul>\n <div class=\"spacer\">&nbsp;</div>\n</div>\n\n</body>\n</html>"
128
+ http_version: '1.1'