Class: LinkedIn::ShareAndSocialStream
- Inherits:
-
APIResource
- Object
- APIResource
- LinkedIn::ShareAndSocialStream
- Defined in:
- lib/linked_in/share_and_social_stream.rb
Overview
Share and Social Stream APIs
LinkedIn’s v2 API adherence to the documentation is shaky at best. Several of the calls simply don’t work if you, e.g., pass the URN in as a path element for a resource - you have to use the ids= format w/ a single URN. Or sometimes passing in an “actor” parameter in the request body simply doesn’t work, and you have to pass it in as a URL parameter. What you see in this file is the result of trial-and-error getting these endpoints to work, and the inconsistency is usually a result of either misunderstanding the docs or the API not working as advertised. It’s also a bit unclear when the API wants an activity URN vs, e.g., an article URN. Caveat emptor.
[(contribute here)](github.com/mdesjardins/linkedin-v2)
Instance Method Summary collapse
-
#comment(options = {}) ⇒ Object
Adds a comment to a specific post.
-
#comments(options = {}) ⇒ Object
Retrieves the comments for a specific post.
-
#like(options = {}) ⇒ Object
Likes a specific share or comment.
-
#likes(options = {}) ⇒ LinkedIn::Mash
Retrieves the likes for a specific post.
-
#share(options = {}) ⇒ LinkedIn::Mash
Create one share from a person, organization, or organizationBrand.
-
#shares(options = {}) ⇒ LinkedIn::Mash
Retrieve shares from a person, organization, or organizationBrand.
-
#unlike(options = {}) ⇒ Object
Un-likes a previously liked share or comment.
Methods inherited from APIResource
#id_to_urn, #initialize, #urn_to_id
Constructor Details
This class inherits a constructor from LinkedIn::APIResource
Instance Method Details
#comment(options = {}) ⇒ Object
Adds a comment to a specific post.
Permissions:
urn:li:article:123)
128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/linked_in/share_and_social_stream.rb', line 128 def comment( = {}) urn = .delete(:urn) actor = .delete(:actor) = .delete(:message) body = { actor: actor, message: { attributes: [], text: } } path = "/socialActions/#{urn}/comments" post(path, MultiJson.dump(body), 'Content-Type' => 'application/json') end |
#comments(options = {}) ⇒ Object
Retrieves the comments for a specific post.
urn:li:article:123)
111 112 113 114 115 |
# File 'lib/linked_in/share_and_social_stream.rb', line 111 def comments( = {}) urn = .delete(:urn) path = "/socialActions/#{urn}/comments" get(path, ) end |
#like(options = {}) ⇒ Object
Likes a specific share or comment.
This object should be a sub-entity of the top-level share indicated in the request URL, and should be represented as an URN either of format urn:li:share:id represented by a urn:li:person:id or urn:li:organization:id URN.
86 87 88 89 90 |
# File 'lib/linked_in/share_and_social_stream.rb', line 86 def like( = {}) urn = .delete(:urn) path = "/socialActions/#{urn}/likes" post(path, MultiJson.dump(), 'Content-Type' => 'application/json') end |
#likes(options = {}) ⇒ LinkedIn::Mash
Retrieves the likes for a specific post.
70 71 72 73 74 |
# File 'lib/linked_in/share_and_social_stream.rb', line 70 def likes( = {}) urn = .delete(:urn) path = "/socialActions/#{urn}/likes" get(path, ) end |
#share(options = {}) ⇒ LinkedIn::Mash
Create one share from a person, organization, or organizationBrand.
Permissions:
1.) For personal shares, you may only post shares as the authorized member.
2.) For organization shares, you may only post shares as an organization for which the
authorized member is an administrator.
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/linked_in/share_and_social_stream.rb', line 51 def share( = {}) path = '/shares' defaults = { distribution: { linkedInDistributionTarget: { visibleToGuest: true } } } post(path, MultiJson.dump(defaults.merge()), 'Content-Type' => 'application/json') end |
#shares(options = {}) ⇒ LinkedIn::Mash
Retrieve shares from a person, organization, or organizationBrand.
Permissions:
1.) For personal shares, you may only retrieve shares for the authorized members.
2.) For organization shares, you may only retrieve shares for organizations for which the
authorized member is an administrator.
33 34 35 36 37 |
# File 'lib/linked_in/share_and_social_stream.rb', line 33 def shares( = {}) urn = .delete(:urn) path = "/shares?q=owners&owners=#{urn}" get(path, ) end |
#unlike(options = {}) ⇒ Object
Un-likes a previously liked share or comment.
98 99 100 101 102 103 |
# File 'lib/linked_in/share_and_social_stream.rb', line 98 def unlike( = {}) urn = .delete(:urn) actor = .delete(:actor) path = "/socialActions/#{urn}/likes/#{actor}?actor=#{CGI::escape(actor)}" delete(path, MultiJson.dump(), 'Content-Type' => 'application/json') #options) end |