Я использую Sitecore Social Connect для входа пользователей на мой сайт, используя Facebook & Twitter. Документация Sitecore содержит подробные инструкции о том, как отправлять сообщения на временную шкалу пользователя с использованием маркетинговых целей, но мне интересно, есть ли другой способ сделать это. Я могу сделать это напрямую через API? Практически любые другие варианты стоили бы изучить. В этом нет тонны документации.Публикация на Facebook с Sitecore Social Connect
ответ
Интерфейс Sitecore Social Connected был представлен в версии 1.3.1. Документация API доступна здесь: http://sdn.sitecore.net/Products/Social%20Connected%20Module/Social%20Connected%201,-d-,3/Documentation.aspx
Социальные подключены сообщения должны быть связаны либо с элементами контента или маркетинговых целей, но можно запустить маркетинговую цель с помощью API:
GoalUtil.RegisterEventParameters("Goal Name", new Dictionary<string,string>());
Это пожары цели , и имеет дополнительную функцию, позволяющую вам заменить токены в тексте сообщения. Например, если вы определили цель под названием «Мэр», и создать соответствующее сообщение Facebook с этим текстом: "I've just become mayor of $place."
, вы можете вызвать это, чтобы появиться на Facebook стен конкретного тексте пользователя, делая это:
var tokens = new Dictionary<string, string>();
tokens.Add("place", "New York");
GoalUtil.RegisterEventParameters("Mayor", tokens);
Этого на стене пользователя появится сообщение: «Я только что стал мэром Нью-Йорка». Обратите внимание, что знак доллара появляется в сообщении, но не в значении ключа маркера, добавленном в словарь. GoalUtil находится в пространстве имен: Sitecore.Social.Core.Publishing.Utils, в файле Sitecore.Social.Core.dll.
Кроме того, если сообщение связано с целью, следующее правило добавляется к цели:
where true (actions always execute)
post associated messages
Вы можете заменить всегда истинное состояние с иной логикой, возможно, с помощью Rules Engine условия, которые вы создали, чтобы ограничивать сообщения для соответствия требуемой бизнес-логике.
Мы использовали себя в facebook JavaScript API Карт Google для достижения этой цели:
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
var facebookAppId = '<%=FacebookDefaultAppId %>';
FB.init({ appId: facebookAppId, status: true, cookie: true, xfbml: true });
function openFbPopUp() {
FB.ui({
method: 'feed',
name: 'Your Site Name',
caption: ' ',
link: document.URL, // Current Url
description: $('#quotes').html(),
// Description from the sitecore item which was available in the same page
display: 'popup'
});
return false;
}
</script>
FacebookDefaultAppId - был идентификатор приложения (Id Application) устанавливается в пункте Sitecore, где мы устанавливаем детали facebook приложения:
Что мы получаем здесь в фейсбуке для приложения, созданного:
По правде говоря, это решение не имеет ничего общего с sitecore, но поскольку мы управляем секретным ключом приложения в sitecore, я вытаскиваю его оттуда, а не сохраняю его в другом месте.
Это приводит следующее, когда JS срабатывает (скажем, по нажатию кнопки):