Comments 37
UFO landed and left these words here
Простого способа получить количество расшариваний в g+ нет, но есть грязные, например, спарсить отсюда: https://apis.google.com/u/0/se/0/_/+1/sharebutton?plusShare=true&usegapi=1&action=share&url={$url}
UFO landed and left these words here
Спасибо, внес в пост соответствующие изменения.

К сожалению, заголовок и описание ссылки передать все равно не получится, как я понимаю?

И кстати, просто /sharer.php?u= (не /sharer/sharer.php?u=) не понимает параметр picture… возможно, они хотят от него отказаться
UFO landed and left these words here
Я понимаю… долго думал над названием статьи, пока не смог придумать ничего лучше :-)
Только на своем блоге для хоть какого-то упоминания в соц.сетях.
UFO landed and left these words here
Обычные пользователи жмут с удовольствием :-)
У нас за 10 дней работы голосования уже более 3000 репостов суммарно по соц. сетям.

И думаю, наш сайт не единственный, кто может захотеть реализовать собственный вариант соц. кнопок, со стилизацией и всем остальным.
Yandex share. В документации описаны параметры, принимающие всю необходимую информацию для шаринга. Для тех, кто не хочет писать свой компонент — идеал.
Для твиттера тоже существуют мета-теги. С помощью них легко вставляются картинки.
Подробнее тут: https://dev.twitter.com/cards/types/summary-large-image
UFO landed and left these words here
Скорее всего, размер меньше необходимого.
Как я написал в постскриптуме — идеально работают картинки 1024 на 512 и больше
У фейсбука есть инструмент для дебага шаринга: https://developers.facebook.com/tools/debug. Скормите ему ссылку на страницу, и он скажет, что не так. Аналогичный инструмент есть у твиттера: https://cards-dev.twitter.com/validator
UFO landed and left these words here
Сам фейсбук кеширует информацию о ссылках, которые расшаривают. Иногда приходится второй раз запускать дебаг, чтобы новая информация подгрузилась.
Применил свои супер-скилы фотошопа и нарисовал заглавную картинку для статьи…

Но хабр уже прописал другой og:image, интересно, изменит ли?

В ВК у меня нормально запостилось, правда пришлось выбрать картинку из 6 предложенных.
согласен нам так и пришлось оставить 2 кнопки без счётчика Twitter и LiveJournal.
NodeJS модуль собирающий число шаров в мировых соцсетях (facebook, linkedin, pinterest, g+ etc) — https://www.npmjs.com/package/sociare-counter
Зачем придумывать свой велосипед? Есть хороший пример: https://github.com/sapegin/social-likes/blob/master/src/social-likes.js берете за основу services и counters.
Зачем брать за основу ваш «хороший пример», если там ссылки у одноклассников и твиттера старые, у всех соцсетей ссылки идут без картинок, только текст и тайтл и тд, если есть хороший пример — эта статья, в которой полные актуальные ссылки со всеми параметрами.

Тем более шаринг это не всегда яваскрипт, например в нашем случае идет редирект на соответствующую ссылку после того, как наш внутренний скрипт засчитает голос за нужного человека.
Давайте ещё раз, вы изначально спросили, для чего изобретать велосипед (имея в виду мою статью), когда есть хороший пример (ваш скрипт на гитхабе), который якобы можно взять за основу.

Я ответил на ваш вопрос:
1) ваш скрипт — плохой пример, потому что в отличие от статьи он предлагает старые и неполноценные ссылки на шаринг, поэтому брать его за основу — явно плохая идея
2) ваш скрипт использует странные механизмы получения информации о количестве шеров, как минимум для фейсбука
3) ваш скрипт — это не костяк, а попытка сделать полноценное решение для лайков на яваскрипте.

Таким образом, если из вашего скрипта в качестве костяка мы не можем взять ни массивы ссылок шаринга, ни массивы методов получения количества шеров, то что там брать за основу? Модуль открытия попапа с заданным урлом для джейквери?

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

Если сравнивать мою статью и ваш скрипт с гитахаба, то в чистом остатке мы имеем:

Чтобы получить полноценное шаринг решение используя сведения из моей статьи — остаётся дописать только window.open с заданными урлами и повесить вёрстку, в которую кидать полученные значения шеринга.

Чтобы получить полноценное шаринг решение из вашего скрипта (не обращаясь к моей статье) нужно было бы перелопатить документацию каждой соц сети, как минимум чтобы понять как добавить картинки к посту. Зато там есть написанное window.open.

Извините, чёт пригорел :)
Ничего страшного бывает. Во-перых скрипт не мой я из него взял только services и counters. По поводу картинки: почти все соц сети забирают картинки из мета-тегов по умолчанию.
<meta property="og:image" content="https://habrastorage.org/files/11c/1ab/c90/11c1abc901ef45b291a0aa7262ad3924.jpg">

свой велосипед могу потом показать в личку если будет интересно.
В ВК для голосования подсчет шеров через ссылку vk.com/share.php не совсем удачный. Очень легко накручивается.
Например: один человек может сто раз сделать репост и удалить эти записи, количество репостов останется =(
Обновил способ подсчета голосов в фейсбуке, старое API ушло в deprecated
Сделал PHP-скрипт, который генерит ссылки для шаринга и получает количество шеров по урлу.
Only those users with full accounts are able to leave comments. Log in, please.