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

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

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

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

Однако я думаю, что это скоро будет устаревшим?!

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

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

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

Есть ли какая-либо передовая практика или рекомендуемый способ использования facebook для этого?

API docs: https://developers.facebook.com/docs/sharing/reference/share-dialog

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

Ответ 1

Я думаю, что ваш URL-адрес href должен использовать метаданные, чтобы Facebook мог получить эти сведения.

Из страницы разработчиков Facebook:

Включить открыть графические метатеги на странице по этому URL-адресу, чтобы настроить рассказ, который делится с Facebook.

Ответ 2

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

    FB.ui({
    method: 'share_open_graph',
    action_type: 'og.shares',
    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.shares action_type пока не упоминается в документации FB, но это работает.:)

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

Ответ 3

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

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

    }, function(response) {});

Ответ 4

Мне действительно приходилось составлять страницу для каждого положительного ответа и добавлял разные ответы на каждый ответ, но вы могли бы использовать некоторые интерпретаторы URL, такие как загорать код для генерации url и его содержимого, затем просто создайте функцию для динамического вставки метатег. Это работает аналогично веб-службе RESP api, где URL-адрес на самом деле не является местом для сервера, а вызовом функции и ее параметров.

Ответ 5

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

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