Как я могу получить опцию «Поделиться», чтобы отображаться в диалоге моего приложения. - PullRequest
5 голосов
/ 17 сентября 2011

У меня есть приложение fb, которое имеет html якорный тег, который использует href = http://www.facebook.com/dialog/feed...

работает нормально.

но когда сообщение появляется в ленте, под ним есть только «комментарий» и «лайк».

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

как мне это получить?

спасибо, Shannon

1 Ответ

2 голосов
/ 28 ноября 2012

У меня похожая проблема;пользователь может опубликовать фотографию на своей собственной (или чужой стене), но в сообщении отображаются только параметры лайка и комментария.

    FB.init({appId: "xxxxxxxxxxx", status: true, cookie: true});

    function fbShare(pic) {
        event.preventDefault();
         //call the API
         var obj = {
            method: 'feed',
            link: 'http://localhost/users/#/gingles/1680/',
            picture: 'http://c711249.r49.cf2.rackcdn.com/thumbs/1680_19.png',
            name: 'gingle social transparancy',
            caption: __video.title,
            redirect_uri: 'http://www.gingle.tv/close-page',
            description: 'Watch this video on gingle.tv',
        };

        function callback(response) {
         console.log(response);
       }

       FB.ui(obj, callback);
    }

Опция публикации подходит просто отлично

Но после публикации никакой опции обмена не существует (скриншоты были отфильтрованы по причине моего нового посещения этого сайта)

Я потратил довольно много времени, пролистывая документацию Facebook, но не вижу решения.

Чтобы сделать это более увлекательным, при использовании метода URL я получил опцию обмена, но фотография будет потеряна.но после всех моих экспериментов с откатом FB.ui к подходу URL не поделится.

    var fbUrl = 'https://www.facebook.com/dialog/feed?app_id=xxxxxxxxxxx&' +
        'link=http://' + encodeURIComponent(window.location.host + '/users/#/' + __video.username + '/' + __video.id) + '&picture=' + $(this).find('img').attr('src') +
        '&name=gingle%20|%20social%20transparency&' + 'caption=' + __video.title +  
        '&description=Watch%20this%20ideo%20on%20gingle.tv&' +  
        'redirect_uri=http://www.gingle.tv/close-page';

    $('#screenshot_social').html('<a href="' + fbUrl + '" target=_blank>Share on Facebook</a>');

Любое направление или идеи будут приветствоваться.

...