2012-05-11 10 views
3

Я использую поток Диалог на Facebook: http://developers.facebook.com/docs/reference/dialogs/feed/Добавить кнопку Share рядом нравится и комментарий на Facebook сообщение

Всякий раз, когда я отправляю кое-что, используя его, Facebook добавляет 2 ссылки в нижней части (как и комментарий):

enter image description here

Однако, когда я вижу другие посты в Timeline, я также вижу ссылку "Отправить", а также:

enter image description here

Как я могу проинструктировать Facebook также добавить эту ссылку «Поделиться» через диалоговое окно фида?

+0

Похоже, что вы не можете поделиться своим сообщением). Потому что вы уже «разделили» его. Попробуйте проверить его с другой учетной записи. – RredCat

+0

Привет, RredCat, это не он. Я тестировал это много раз, и ссылка «Share» никогда не появляется для меня. Из-за этого я получаю сообщения об ошибках от пользователей приложений. –

+0

Я обновил свой ответ.Проверьте его один раз, полезно ли это. – Venu

ответ

4

У вас не может быть ссылка на общий доступ к сообщениям для подачи сообщений из приложения, но вы можете иметь ссылки на ссылки, как описано в втором примере. Или вы также можете добавить ссылки на сообщения, подобные этому.

FB.ui(
    { 
    method: 'feed', 
    name: 'Facebook Dialogs', 
    link: 'http://venu.com/', 
    picture: 'http://venu.com/f8.jpg', 
    caption: 'Venu site', 
    description: 'asdasdasdasd.', 
    message: 'asdasdasd!', 
    actions: [ 
     { name: 'share', link: 'link here' } 
     ] 

    }, 
    function(response) { 
    if (response && response.post_id) { 
     alert('Post was published.'); 
    } else { 
     alert('Post was not published.'); 
    } 
    } 
); 

Ссылка будет на пользовательской странице вашего сайта/приложения. Поскольку пользователь пытается поделиться сообщениями, которые были отправлены кем-то другим, вы должны иметь сообщение на своем сервере. Вы можете передать идентификатор сообщения в пользовательском URl.

Надеется, что это помогает :)

[EDIT]

или

Вы можете добавить ссылку с помощью кнопки акций вы должны использовать «мне/ссылки» вместо «мне/корм'. К сожалению, это не полная замена, поскольку Facebook игнорирует описание, название и параметры изображения при использовании этого метода. это ошибка размещена здесь. (https://developers.facebook.com/bugs/194522957295380)

$attachment = array(
    'access_token'=>TOKEN_HERE, 
    'message'=>'message_here', 
    'link' => 'http://www.example.com/', 
); 

$result = $facebook->api(
    'me/links', 
    'post', 
    $attachment 
); 

Итак, теперь это похоже на то, как кнопки на вашем сайте. Facebook извлекает информацию из открытых метатег в данной ссылке.

<head> 
    <meta property="og:locale" content="en_US" /> 
    <meta property="og:site_name" content="name for ENTIRE SITE"/> 
    <meta property="og:title" content="name of PAGE"/> 
    <meta property="og:type" content="website"/> 
    <meta property="og:image" content="<URL HERE>"/> 
    <meta property="og:description" content="my description" /> 
    <title>Untitled</title> 
</head> 
+0

Спасибо за этот информативный ответ. Параметр «действия» - это тот, который я изучил, но самое лучшее, что я могу придумать, это установить имя «Share» и ссылку на «Sharer» (например, http://www.facebook.com/sharer.php?u= {URL}). К сожалению: 1) эта ссылка перенаправляет пользователя на страницу Sharer, что не так хорошо, как собственное всплывающее окно. 2) для сообщений на странице Facebook Timeline, ссылки «действия» не являются строчными с комментариями/подобными, что затрудняет их поиск. Я дам ваш вариант me/links попробовать, но ограничения, скорее всего, будут проблемой для моей ситуации. –

+0

Добро пожаловать. Если вы собираетесь использовать me/links, facebook вытащит информацию из ссылки (метатеги openrgaph). Я бы посоветовал вам взглянуть на этот https://developers.facebook.com/docs/opengraphprotocol/ С этим вы можете избежать ошибки, о которой я упоминал в своем сообщении. – Venu

4

Должности, у которых есть опция Share, являются родными сообщениями, а не сообщениями приложений. В вашем сообщении есть «через« Карьера, вакансии и приложение для найма », что означает, что это сообщение для приложения. Если у вас есть собственный вариант «Share», вам придется использовать собственный пост, который включает в себя использование sharer.php (см. «Создание собственного URL-адреса для совместного использования»).

+0

Спасибо Джимми. Я боялся этого, но я думаю, что ты прав. К сожалению, Sharer устарел. Было бы тривиально, если бы Facebook добавил родную кнопку «Поделиться» так же, как и к родным сообщениям. Я не уверен, почему они этого не делают. –

+0

@JohnnyO share ** button ** устарел, но вы можете запустить всплывающее окно на 'sharer.php' (через' window.open'), чтобы запустить собственный ресурс. Сотни сайтов по всему миру используют это, поэтому я не думаю, что скоро это будет устаревшим, но если это так, по крайней мере, вы находитесь в одной лодке, как и все остальные. :) –

+0

спасибо. Использование Sharer по-прежнему является проблемой для меня, поскольку я выполняю отправку серверной части, чтобы пользователь мог отправлять сообщения в Facebook/Twitter/LinkedIn сразу. Лучший вариант, который я могу придумать, - использовать диалог подачи с параметром действия (как описывает Venu Gopal T) и установить ссылку на Sharer. К сожалению, когда-то размещенная на Timeline, моя кнопка «Share» взлома не работает так хорошо, как родная. –

0

Использование социального плагина Like Button практически совпадает с использованием метода Sharer.php и является поддерживаемой в настоящее время заменой кнопок Share.

Если у вас есть веб-страница, когда пользователь нажимает кнопку «Мне нравится», они отправят ссылку на свою стену, на которой будет ссылка «Поделиться».

Вы можете сделать что-то подобное в приложении холста, хотя это не будет работать для сообщений фида, для которых требуется динамический текст, например имя пользователя или какое-либо значение из их действий в приложении.

Смежные вопросы