Функция обратного вызова LinkedIn - PullRequest
0 голосов
/ 24 октября 2018

Я хочу вызвать функцию после нажатия кнопки «Поделиться» для связанного входа.

 <div class="linkedinShare ci-aling" linkedin data-url='{{url}}' data-title='{{title}}' data-summary="{{text}}" data-shares='linkedinshares'>{{linkedinshares}}</div>

Вот сценарий, который я пытаюсь вызвать, но он вызывается только при загрузке страницы и не получаетвызывается по нажатию кнопки «Поделиться в».Я хочу, чтобы моя функция вызывалась при нажатии кнопки «Поделиться».

$.getScript('http://platform.linkedin.com/in.js', function () {
    debugger
    IN.Event.on(IN, 'systemReady', handleLinkedInEvent);

    function handleLinkedInEvent(event) {
        debugger
        if (event) {
            EventService.UpdateEventAudit($scope.event_id, "LinkedIn", 
            GetUrlReferrer());
        }
    }
});

UpdateEventAudit - это функция, которую я пытаюсь вызвать.Любая идея кто-нибудь?

1 Ответ

0 голосов
/ 24 октября 2018

Если я правильно понимаю, вы хотите, чтобы иметь возможность отслеживать события, когда пользователь делится через linkedin ...

Я попробовал ваш код и после некоторых исследований и исследований нашел альтернативный способ вызоваapi ...

создал мини-ручку, которую вы можете посмотреть здесь https://codepen.io/craigiswayne/pen/Bqqbjz

Документацию по этому вопросу можно найти здесь: https://developer.linkedin.com/docs/share-on-linkedin

IN.Event.on(IN, 'systemReady', function() {
    var shareLink = document.getElementById('shareLink');
    shareLink.onclick = function(){
      event.preventDefault();
      var params = {
        "comment": "Check out developer.linkedin.com! " + this.getAttribute('href'),
        "visibility": {
          "code": "anyone"
        }
      };

      IN.API.Raw("/people/~/shares?format=json")
      .method("POST")
      .body(JSON.stringify(params))
      .result(StackOverflowDemo.updateShareCount)
      .error(function(errorMessage){
        StackOverflowDemo.logOutput('error occurred');
        console.log(errorMessage);
      });
    };

    document.body.appendChild(shareLink);

  });

  var StackOverflowDemo = {
    updateShareCount: function(result){
      var existingCount = parseInt( document.getElementById('count').value );
      existingCount = isNaN(existingCount) ? 0 : existingCount;
      document.getElementById('count').value =  existingCount + 1;
      StackOverflowDemo.logOutput( 'updated count' );
      StackOverflowDemo.logOutput( 'Total Shares = ' +  document.getElementById('count').value );
      StackOverflowDemo.logOutput( 'View Share here ' + result.updateUrl );
    },
    logOutput: function(text){
      document.getElementById('output').value +=  text + '\n';
    }
  }
...