it-swarm.com.ru

Добавьте пользовательское имя, подпись, изображение, описание в новый диалог Facebook или пользовательские истории, не беря их из og meta

Я просто работаю над сценарием викторины. Таким образом, я хочу поделиться результатами опроса, а не метаданными og.

Я знаю, что можно использовать старое действие канала FB.ui, добавить собственное имя, подпись, описание и сообщение, а не разделять URL. Например.:

    FB.ui({
    method: 'feed',
    href: url,
    name: name,
    caption: title,
    description: des,
    message: message,
    picture: img,
}, function(response){});

Тем не менее, я думаю, что это скоро устареет ?!

Возможно ли это с новым API api тоже? Или я могу сделать это с помощью пользовательских историй? Как? Я ищу что-то вроде 

    FB.ui({
    method: 'share',
    href: url,
    name: name,
    caption: title,
    description: des,
    message: message,
    picture: img,
}, function(response){});

Но это не работает:/это занимает только href. Все остальное игнорируется и не заполняется :(

Есть ли лучший способ или рекомендованный Facebook способ сделать это?

Документы API: https://developers.facebook.com/docs/sharing/reference/share-dialog

Спасибо. Я очень ценю вашу помощь

12
Manuel

Обновление от 27.06.2018. Старая версия кода перестала работать правильно. Общее изображение отображалось в виде маленького изображения слева, а не в виде большого полного изображения столбца. Исправление заключается в замене action_type: 'og.shares' на action_type: 'og.likes'.

Используйте этот код:

    FB.ui({
    method: 'share_open_graph',
    action_type: 'og.likes',
    action_properties: JSON.stringify({
        object: {
            'og:url': url,
            'og:title': title,
            'og:description': des,
            'og:image': img
        }
    })
},
function (response) {
// Action after response
});

Это работает с API версии 2.9+. Обратите внимание, что использование og.sharesaction_type больше не рекомендуется, так как оно не упомянуто в документации FB и неправильно отображает большое изображение. Я сейчас использую og.likes. Небольшой недостаток - это предложение типа «Джону Доу нравится объект на дрибах» вверху диалогового окна общего доступа и общего контента на стене пользователя.

Для полного рабочего примера оформления заказа Динамическое изменение метаданных открытого графа Facebook с помощью JavaScript .

10
DamirR

Я понятия не имею, где эти параметры задокументированы для диалога «Поделиться», но я догадался, и все это работает. В качестве подсказки измените параметр name, который вы использовали в методе Feed, на title. Я настраиваю обмен с несколькими кнопками на одной веб-странице. Очевидно, замените все переменные 'custom ...' на свои собственные переменные или 'string':

FB.ui({
        method: 'share',
        href: 'http://yourwebpage.com',
        picture: customImage,
        title: customTitle,
        description: customDescription,
        caption: customCaption

    }, function(response) {});
5
spacewindow

На самом деле мне нужно было создать страницу для каждого возможного ответа и добавить к каждому ответу разные метаданные og, но вы можете использовать некоторые интерпретаторы url, такие как code igniter , для генерации URL и его содержимого, а затем просто создать функцию для вставки метатегов динамически. Это работает аналогично API веб-службы RESP, где URL - это не местоположение сервера, а вызов функции и ее параметров.

0
Jorge Rivera

На самом деле это работает для меня

            FB.ui({
                method: 'share',
                href: urlHost+link,
                // method: 'feed',
                title: name,
                link: urlHost+link,
                picture: urlHost+"/assets/images/fb.jpg",
                caption: "Interbank",
                description:description  
0
roll