Есть ли какой-нибудь частный API для социальных сетей?
Требования:
Что НЕ нужно:
По сути, он должен просто сочетать нативные API и быстро отражать любые изменения в них.
Как я убедился, AddThis, ShareThis, Shareaholic требуют слишком много JavaScript, включают много нежелательных вещей в DOM и делают весь обмен через свои серверы.
В настоящее время лучший вариант, который я нашел, это sharrre.com .
Он поддерживает обмен на:
Вот HTML-код для создания кнопки «Твитнуть»:
<div id="twitter"></div>
Вы можете передать атрибуты данных, и скрипт подберет их для вас:
<div id="twitter" data-text="Yummy!" data-url="http://pinterest.com/deegong/steak/"></div>
Для меня это очень простой и удобный способ, так как я могу динамически генерировать атрибуты данных на сервере и очень легко передавать их в Javascript.
JavaScript (зависит от jQuery) выглядит следующим образом:
$('#twitter').sharrre({
share: {
twitter: true
},
template: 'Tweet [{total}]',
enableHover: false,
enableTracking: true,
buttons: {
twitter: {
via: 'ruchevits'
}
},
click: function(api, options){
api.simulateClick();
api.openPopup('twitter');
}
});
Параметры хорошо задокументированы здесь: http://sharrre.com/#documentation
Скрипт привяжет onClick к #twitter
контейнеру и поместит внутрь следующее:
Tweet [0]
На самом деле это было ожидаемое поведение, когда я пробовал что-то сам, даже не читая документацию. Очень приятно, что нет никакого странного вывода.
Вот что вы получаете onClick
во всплывающем окне, размер которого изменен в соответствии с содержимым:
Скрипт весит всего около 14 КБ (уменьшенный addthis_widget.js
— примерно 7 КБ , но он не включает в себя вызовы для обмена).
И, наконец, он регулярно обновляется (последнее обновление — 10 дней назад), так что вы можете проверить Github на наличие обновленных сторонних URL-адресов.
Я искренне рекомендую этот плагин всем, кто любит «прозрачный» легкий код.
Персональное СПАСИБО! Julienh на Github за отличную работу!
РЕДАКТИРОВАТЬ:
Мне потребовалось около 30 минут, чтобы заставить эти кнопки метро полностью работать. :)
Эдвард Ручевиц
ненор