LINUX.ORG.RU

Прошу помочь с публикациями в соц.сети через open url


1

2

Мне нужно в виртуальный тур встроить кнопки, при нажатии на которые будет идти простая публикация в: фб, вк, тв, мыло.

Состав публикации такой:
- Название (заголовок);
- Текст описания;
- Картинка-иллюстрация
- Ссылка.

Например пост в твитер выглядит примерно так:

https://twitter.com/intent/tweet?text=Текст+описания&url=http://bit.ly/1gzsOad

Для ФБ примерно так:

https://www.facebook.com/sharer/sharer.php?s=100&p[title]=Текст+заголовка&p[url]=http:// bit.ly/1gzsOad&p[images][0]= http://картинко&p[summary]=текст+описания

Только вот я не могу понять как картинку к ФБ добавлять. пример выше не фурычит, вставляет без картинки.

Как картинку в твитер - вообще не нагуглил.

И для вконтакте подобное нужно. Прочел https://vk.com/dev/share_details. Понятнее не стало

Суть в том, что мне нужно обойтись без JS. Только открытие урла с параметрами.

Может кто кинет рабочий пример, или мануал?


http://bit.ly/1gztxIl

Тут, внизу, есть ссылки на социалки.
Но плагин, которым это реализовано, очень бажный. В частности, нет поддержки утф-8 во флеш-версии. А кириллица нужна.

Короче говоря, я хочу на кнопки свой код повесить. Но он должен целиком состоять из урла с параметрами.

dk-
() автор топика
Ответ на: комментарий от pi11

Там все на js. А мне надо прямой урл запрос с параметрами.

Поробую выловить из бразуера что-то.

dk-
() автор топика

Разобрался как быть с ФБ.
С мылом - тоже понятно.

В твтитер не могу вставить картинку, а ведь можно как-то!

Еще бы почитать про лимиты картинок. Судя по всему к фб можно лишь маленькие картинки прикладывать. типа лого гугла. А жипег 600рх по длинной не берет.

И не знаю как быть с вконтактом.

Пойду «плюсо» поковыряю.

dk-
() автор топика

Вроде бы, надо в страницу добавлять какие-то теги с адресом картинки/превьюшки и описанием, чтобы соц сети их подхватывали.

theanonymous
()
Ответ на: комментарий от theanonymous

Тогда не получится к сокращенному урлу это добавлять :(

dk-
() автор топика

без жс не обойдешься, шарилки это депрекейтед, тебе нужны лайки, в страницу надо встроить мета теги, в том числе теги с ссылками на картинки, а потом подключить скрипты виджетов, инициализировать их короткими снипетами, они прочтут теги, это все описано в документации, у твитера dev.twitter.com, vk.com/dev и facebook developers, найдешь там поиском, смотри разделы виджетов, подраздел лайков и кнопки твитнуть, вообще хорошо тебе отдельно зарегистрировать страницы в этих сетях и асоциировать их с сайтом. мета-теги в том числе дадут тебе правильную карточку при вставке ссылки в пост в сети.

ответ вышел немного сумбурным. попробую перефразировать. на истину не претендую.

механизм формирования карточки (виджета, блока) ссылки на странице соцсети при вставке в пост это отдельный механизм. он реализован через теги. теги описаны в документациях. так же можно посмотреть их на любом сайте, например http://vushko.org/ (F12 -> html -> head -> ...)

сначала был шаринг, это было раньше, шаринг обычным запросом к урлу, который используя сессию юзера постил ссылку. потом появились лайки. лайки стали более продвинутым инструментом, у лайка есть функция рассказать друзьям, она отличается от шаринга. вскоре шаринг объявили устаревшим механизмом, оставленным для совместимости. лайки в силу своей природы требуют на странице наличия скриптов и айфреймов, в которых запускаются и работают встаиваемые приложения — кнопки лайков.

твитер в силу своей природы дает апи для вызова окна ретвита. в других сетях виджет лайка встроенный, потому такой функции нет.

если объектом лайка есть урл страницы, при шаринге опять же формируется карточка по тегам.

trashymichael ★★★
()
Последнее исправление: trashymichael (всего исправлений: 3)

Правильный ответ:

1. В страницу встроить:

<meta property="og:title" content="Заголовок" />
<meta property="og:description" content="Описание" />
<meta property="og:url" content="Ссылка на страницу" />
<meta property="og:image" content="Ссылка на картинку" />

<meta name="title" content="Заголовок" />
<meta name="description" content="Описание" />
<link rel="image_src" href="Ссылка на картинку" />

2. Сами урлы имеют такой вид:

https://twitter.com/intent/tweet?url=http://ссылко/&text=ТЕКСТ

https://vk.com/share.php?url=http://ссылко/

https://www.facebook.com/sharer/sharer.php?u=http://ссылко/

Сами ссылки можно укоротить через bit.ly. Заодно статистику собирать.

Одно плохо:

mailto:?subject=Текст+письма&body=Тело+письма+%0A+http://ссылко/

Через openurl в моем софте нельзя. И укорачиватель это не ест.

dk-
() автор топика
Ответ на: комментарий от fish_ka

Скажи, а туда <meta name=«description» content=«Описание» />

Есть смысл впихнуть 1-2 абзаца текста? Нормального текста для человеков. В надежде, что сервисы и человеки из него будут слова дергать для аннотаций?

Можно ли делать 2 раза
<meta name=«description» content=«Описание» />
<meta name=«description» content=«Описание» />

Или все в один пихать?

dk-
() автор топика
Ответ на: комментарий от dk-

Лучше все в один. Т.к. скорее всего, какая-нибудь из записей может проигнорироваться. // в данном случае, я просто теоретик.

fish_ka
()
Ответ на: комментарий от dk-

Или ты имешь ввиду, что у меня ошибка в коде?

нет, все ок. Просто на всякий случай, если ты нагуглил, но не понял что именно ;-).

fish_ka
()
Ответ на: комментарий от fish_ka

Слушай, подскажи...

В .htaccess стоит:
DirectoryIndex index.html

Ну что бы красивые адреса были. Типа
.ru/www-95/sanctuaries/

Там лежит index.html дефолтный русский
И index-en.html на английском (титл, теги, подгрузка своей версии контента).

Я иду в шарилку фейсбука:
https:// http://www.facebook.com/sharer/sharer.php?u=http:// бла бла.ru/www-95/sanctuaries/index-en.html

Он принимает. Парсит. Но выдает все на русском! Игнорирует index-en.html и жрет дефолтный index.html

Сам ФБ показал мне в отладке вот такую фигу:
http://yadi.sk/d/lr4FAmTCFWkzs

Чего делать то?) Мне надо шарить отдельный урл на английском.

dk-
() автор топика
Ответ на: комментарий от dk-

Посмотри в своем index-en.html: что указано в свойстве og:url?

Мне кажется, что он ссылается на index.html (который по-умолчанию). Даже если index.html не указан явно, он все равно подразумевается.

Если это так, тогда в og:url (в index-en.html) необходимо явно указать адрес, заканчивающийся index-en.html

<!--index-en.html-->
<meta property="og:url" content="http://блабла.ru/www-95/sanctuaries/index-en.html" />

index.html изменять не нужно.

fish_ka
()
Ответ на: комментарий от fish_ka

Ага, пасиба. Именно в этом и было дело.
Спать чаще надо. И больше :(

dk-
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.