From ba3b9bbb7b1a3a8c67d40b39f80cc3a64fe9a135 Mon Sep 17 00:00:00 2001 From: Brian Petro Date: Thu, 5 Dec 2013 10:31:59 -0500 Subject: [PATCH 1/7] Connect by email --- lib/linked_in/api/update_methods.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/linked_in/api/update_methods.rb b/lib/linked_in/api/update_methods.rb index 0a70273e..2e359640 100644 --- a/lib/linked_in/api/update_methods.rb +++ b/lib/linked_in/api/update_methods.rb @@ -69,6 +69,21 @@ def send_message(subject, body, recipient_paths) post(path, message.to_json, "Content-Type" => "application/json") end + def connect_by_email(email) + path = "/people/~/mailbox" + + message = { + 'subject' => "Join my network on LinkedIn", + 'body' => "I'd like to add you to my professional network on LinkedIn.", + 'recipients' => { + 'values' => { + 'person' => { '_path' => "/people/email=#{email}" } + } + } + } + post(path, message.to_json, "Content-Type" => "application/json") + end + def post_group_discussion(group_id, discussion) path = "/groups/#{group_id}/posts" post(path, discussion.to_json, "Content-Type" => "application/json") From 2180fac1293d76c156f8cdbb6994d1e2c86530ed Mon Sep 17 00:00:00 2001 From: Brian Petro Date: Thu, 5 Dec 2013 11:18:46 -0500 Subject: [PATCH 2/7] fix value to array --- lib/linked_in/api/update_methods.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/linked_in/api/update_methods.rb b/lib/linked_in/api/update_methods.rb index 2e359640..8c8736ae 100644 --- a/lib/linked_in/api/update_methods.rb +++ b/lib/linked_in/api/update_methods.rb @@ -76,9 +76,9 @@ def connect_by_email(email) 'subject' => "Join my network on LinkedIn", 'body' => "I'd like to add you to my professional network on LinkedIn.", 'recipients' => { - 'values' => { + 'values' => [{ 'person' => { '_path' => "/people/email=#{email}" } - } + }] } } post(path, message.to_json, "Content-Type" => "application/json") From 401fff804b2f18ec08c2e304008ccfd3cd2f10f7 Mon Sep 17 00:00:00 2001 From: Brian Petro Date: Thu, 5 Dec 2013 11:18:53 -0500 Subject: [PATCH 3/7] version --- lib/linked_in/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linked_in/version.rb b/lib/linked_in/version.rb index 79321425..32ba8cbc 100644 --- a/lib/linked_in/version.rb +++ b/lib/linked_in/version.rb @@ -2,7 +2,7 @@ module LinkedIn module VERSION #:nodoc: MAJOR = 0 - MINOR = 4 + MINOR = 5 PATCH = 3 PRE = nil STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.') From d1dbb4977893a2a57855d0af833d80fa08aee2d9 Mon Sep 17 00:00:00 2001 From: Brian Petro Date: Thu, 5 Dec 2013 11:32:12 -0500 Subject: [PATCH 4/7] patch error with additional submission json --- lib/linked_in/api/update_methods.rb | 5 +++++ lib/linked_in/version.rb | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/linked_in/api/update_methods.rb b/lib/linked_in/api/update_methods.rb index 8c8736ae..97e988e9 100644 --- a/lib/linked_in/api/update_methods.rb +++ b/lib/linked_in/api/update_methods.rb @@ -79,6 +79,11 @@ def connect_by_email(email) 'values' => [{ 'person' => { '_path' => "/people/email=#{email}" } }] + }, + 'item-content' => { + 'invitation-request' => { + 'connect-type' => 'friend' + } } } post(path, message.to_json, "Content-Type" => "application/json") diff --git a/lib/linked_in/version.rb b/lib/linked_in/version.rb index 32ba8cbc..67c4aa78 100644 --- a/lib/linked_in/version.rb +++ b/lib/linked_in/version.rb @@ -3,7 +3,7 @@ module LinkedIn module VERSION #:nodoc: MAJOR = 0 MINOR = 5 - PATCH = 3 + PATCH = 1 PRE = nil STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.') end From fad1a1d6ab3e9b02f15cc2e60d81cdbb39e1d1dc Mon Sep 17 00:00:00 2001 From: Brian Petro Date: Thu, 5 Dec 2013 11:34:08 -0500 Subject: [PATCH 5/7] version --- lib/linked_in/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/linked_in/version.rb b/lib/linked_in/version.rb index 67c4aa78..4a11cec6 100644 --- a/lib/linked_in/version.rb +++ b/lib/linked_in/version.rb @@ -3,7 +3,7 @@ module LinkedIn module VERSION #:nodoc: MAJOR = 0 MINOR = 5 - PATCH = 1 + PATCH = 4 PRE = nil STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.') end From 1cb639ee62e8e8feae39bc45bac26835141d2f15 Mon Sep 17 00:00:00 2001 From: Brian Petro Date: Thu, 5 Dec 2013 12:15:59 -0500 Subject: [PATCH 6/7] prepare for pull --- lib/linked_in/version.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/linked_in/version.rb b/lib/linked_in/version.rb index 4a11cec6..79321425 100644 --- a/lib/linked_in/version.rb +++ b/lib/linked_in/version.rb @@ -2,8 +2,8 @@ module LinkedIn module VERSION #:nodoc: MAJOR = 0 - MINOR = 5 - PATCH = 4 + MINOR = 4 + PATCH = 3 PRE = nil STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.') end From 0f6303ab4d5b91e1ed5c34c1a07fb36f9fbbf7a4 Mon Sep 17 00:00:00 2001 From: Brian Petro Date: Fri, 6 Dec 2013 13:24:35 -0500 Subject: [PATCH 7/7] verb change and escape email --- lib/linked_in/api/update_methods.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/linked_in/api/update_methods.rb b/lib/linked_in/api/update_methods.rb index 97e988e9..22cca0ec 100644 --- a/lib/linked_in/api/update_methods.rb +++ b/lib/linked_in/api/update_methods.rb @@ -69,15 +69,16 @@ def send_message(subject, body, recipient_paths) post(path, message.to_json, "Content-Type" => "application/json") end - def connect_by_email(email) + def invite_by_email(email) + require 'uri' path = "/people/~/mailbox" - + safe_email = URI.escape(email) message = { 'subject' => "Join my network on LinkedIn", 'body' => "I'd like to add you to my professional network on LinkedIn.", 'recipients' => { 'values' => [{ - 'person' => { '_path' => "/people/email=#{email}" } + 'person' => { '_path' => "/people/email=#{safe_email}" } }] }, 'item-content' => {