0

Below is Our Requirement: Sharing the dynamically changing content of a page in Linked IN (URL, title, summary and image). Problem Statement: 1. All other content except Image is getting shared in Linked IN Approach 1: Using Linked In Share URL

<a target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&url=<<OUR URL>>&title=<<Our TITLE>>&summary=<<OUR SUMMARY>>">Share</a>

Issue: 1. The URL above doesn’t have the parameter to pass the image like title, summary etc.It is fetching the image from meta tag content which is having the property as “og:image” in the page

<meta property="og:image" content="<<IMAGE URL>>">enter code here

Since the image is changed dynamically in the page, we tried dynamically changing the content of this meta tag using jQuery. But when the new share window is opened it is trying to fetch the default image available in meta tag and not the one set using jQuery.

Approach 2: Using AJAX Post Submit Action

function shareOnLinkedInTest() {
    var dataJson= {"share": {
            "comment": "Posting from the API using XML",
            "content": {
                "title": "A title for your share",
                "submitted-url": "http://developer.linkedin.com",
                "submitted-image-url":  
                 "ImageURL",
            },
            "visibility": { "code": "anyone" }
        }};


$.ajax({
    type: 'POST',
        crossDomain : true,
    contentType: "application/json",
        dataType:"jsonp",
        jsonp: 'jsonp-callback',
        url: "https://api.linkedin.com/v1/people/~/shares?format=json",
        data:dataJson,
        success: function(data) {
        alert("it works>>>>>>>>>>>>>>"+data);
    },
        error : function (xhr, ajaxOptions, thrownError){  
            alert("error");
            console.log(xhr);          
        console.log(thrownError);
        } 
    }); }

Issue: This is throwing 401 –Unauthorized exception as there is no option to enter the user credentials in the above script while sharing the content

It has been observed while going through various reference sites that Linked In is having cache issue while sharing the content.

https://www.wix.com/support/html5/ugc/e828aa26-d50b-4e5a-a982-ff563ca7e3dd/061f3e24-55e1-418d-ab65-9d6b0457b863 Getting old image while sharing page in LinkedIn

Can anyone help on this please????

Thanks In Advance, Saritha

Community
  • 1
  • 1

1 Answers1

0

LinkedIn's crawler does not execute in-page Javascript, so if you are relying on client-side code to set the value of the meta tags, it will not be picked up when LinkedIn grabs the page for sharing. The value has to be rendered into the page statically (and if it has to be a dynamic value, that would have to be chosen at the back-end and rendered into the page).

Regarding your second approach, you have to authenticate a user before you attempt to post a share, which is why you're getting a 401 Unauthorized error when you try. There's more information about making an authenticated REST API call available at https://developer.linkedin.com/docs/rest-api

Justin Kominar
  • 3,346
  • 1
  • 14
  • 14