Домой / Видео / Настройка и создание приложения для публикации в Facebook timeline. II. Создание публикаций с помощью Publisher

Настройка и создание приложения для публикации в Facebook timeline. II. Создание публикаций с помощью Publisher

Цель научиться создавать публикацию с помощью мастера публикаций, на основе шаблона, на основе уже существующей публикации.

Задание: ознакомьтесь с различными способами создания и редактирования публикации, создания главной страницы, текстовых рамок.

Теоретические аспекты:

Создание публикации с помощью мастера публикаций

· В меню Файл выберите команду Создать .

· В области задач Начало работы в списке Выбор по выберите пункт Тип публикации . Затем в правой части рабочей области окна Publisher выберите понравившийся макет. Вы можете просмотреть все макеты, перемещая курсор с одного на другой (без щелчка).

· В области задач Начало работы в списке Начать с макета выберите нужный тип публикации.

· На правой панели выберите макет. Выбрав, щелкните один раз.

· В области задач щелкните Параметры : Быстрая публикация .

Выберите один из следующих вариантов:

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

· Чтобы изменить шрифтовую схему публикации, выберите в области задач команду Шрифтовые схемы . Выберите нужный шрифт. Если не устраивает ни один из предложенных вариантов, щелкните Стили и форматирование . В этом режиме можно не только импортировать стили из других документов, но и создавать свой собственный, щелкнув Создать стиль и в открывшемся окне установить необходимые параметры.

· Чтобы изменить макет публикации, выберите на боковой панели команду Параметры: Макеты публикации . Выберите нужный вариант.

· Замените в публикации текст местозаполнителя и картинки на свои собственные или на другие объекты.

· По мере заполнения публикации не забывайте постоянно сохранять документ.

Создание новой публикации на основе уже существующей

Благодаря области задач Новая публикация упрощается выбор мастеров, создание публикации "с нуля" и возвращение к существующей публикации.



Эта процедура выполняется, если вы обновили более раннюю версию Publisher, создали свой шаблон или хотите использовать шаблон, созданный для приложения Publisher.

  • В меню Файл выберите команду Создать .
  • В области задач Начало работы в группе Создать из существующей выполните одно из следующих действий:
    • Щелкните Выбрать публикацию , чтобы открыть шаблон Publisher.
    • Щелкните Выбрать документ Word , чтобы открыть шаблон Word.
  • Нажмите кнопку Создать .
  • В меню Файл выберите пункт Сохранить .
  • В поле Сохранить
  • В поле Имя файла
  • Нажмите кнопку Сохранить .
  • Создание публикации с чистой страницы

  • В меню Файл выберите команду Создать .
  • Выберите команду Пустая публикация .
  • Создание публикации на основе шаблона

  • В меню Файл выберите команду Создать .
  • В области задач Начало работы выберите команду Шаблоны .
  • Дважды щелкните шаблон, который вы хотите использовать.
  • Publisher откроет копию шаблона.
  • Внесите необходимые изменения.
  • В меню Файл выберите пункт Сохранить .
  • В поле Папка выберите папку, в которой необходимо сохранить новую публикацию.
  • В поле Имя файла введите имя файла для публикации.
  • Нажмите кнопку Сохранить .
  • Работа с главной страницей

    Главная страница – это страница заднего плана с текстом и графикой, которые должны повторяться на каждой странице публикации. Например, на главной странице можно поместить водяной знак.

    Чтобы открыть главную страницу, сделайте следующее.

    В меню Вид выберите команду Главная страница .

    Переключение между главной страницей и передним планом

    · В меню Вид выберите команду Главная страница . Чтобы вернуться к переднему плану, выберите еще раз командуГлавная страница , сняв, таким образом, флажок возле нее.

    Как скрыть задний план главной страницы для одной страницы

    • Перейдите на страницу, на которой нужно скрыть текст или картинки, помещенные на задний план.
    • В меню Вид выберите команду Игнорировать главную страницу .

    Устранение неполадок при работе с главными страницами

    Разворот с двумя главными страницами больше не нужен

    · В меню Расположение выберите команду Направляющие разметки .

    · Снимите флажок Создать два задних плана с зеркальными направляющими .

    Теперь на всех страницах публикации будет использоваться задний план правой стороны.

    Объект, расположенный на главной странице, появляется не на всех страницах публикации

    · Может оказаться, что объект, расположенный на заднем плане, скрыт каким-либо объектом, расположенным на переднем плане. Если этот объект не является важным, сделайте его прозрачным.

    · Выделите объект.

    · Нажмите клавиши CONTROL+T.

    В данной статье я хочу описать, как создать минимальное приложение, которое что-то опубликует в timeline, а так же рассказать про трудности, которые могут возникнуть на этом пути.
    Прежде всего, стоит сказать, что в данный момент facebook timeline находится в beta и доступна только разработчикам, поэтому первое, что необходимо сделать, это активировать timeline для своего аккаунта. На эту тему написано множество инструкций, вот например .
    После выполнения всех действий из инструкции, и подождав несколько минут, кликните по своему имени, вместо стены должен открыться долгожданный timeline.

    Шаг 1. Настраиваем facebook приложение Это самый важный шаг, именно на нём могут возникнуть непредвиденные осложнения. Создав приложение (https://developers.facebook.com/apps) первым делом указываем «App Domain» в виде test.com или news.test.com. Далее, в разделе «Website» нужно заполнить ссылку на ваш сайт, уже в виде news.test.com . Затем переходим в «Advanced» настройки и убеждаемся, что «Sandbox Mode» выставлен в «Disabled». Если не отключить режим песочницы, то возникнут ошибки с логином, например при вызове API функции getLoginStatus с запросом прав на публикацию, не сработает callback.
    Перейдём в раздел «Open Graph», и добавим действие read article, нажав «get started» мы перейдём к настройке глагола read, тут всё интуитивно понятно, и нет подводных камней. Сохраняем и переходим к настройке объекта. Следующей страницей будет настройка «Aggregations» - достаточно важная настройка, для каждого созданного глагола, должен быть настроен aggregation. В противном случае, facebook отреагирует немного неочевидно – при попытке запросить разрешение на publish_actions, откроется диалог, который предложит залогиниться в ваше приложение, однако в нём не будет ни слова о публикациях в timeline, и соответствующие разрешения не будут получены. Настроив агрегацию, необходимо убедиться, что для неё есть «превьюшки», без них может повториться ошибка с auth диалогом. В настройках Open graph -> Aggregations нажмите preview и убедитесь, что агрегация имеет превьюшку (если таковой нет, её можно добавить в открывшемся диалоге). Для создания превьюшек facebook’у нужно скормить ссылку на пример статьи. Как создать правильную «статью» рассмотрим ниже.Шаг 2. Создаём объект, который будем публиковать на timeline Под объектом, имеется ввиду обычная web-страничка, доступная из интернета. Допустим, мы хотим опубликовать информацию о прочитанной пользователем статье, то есть поместить на timeline заметку о «read article», значит, наша страничка будет статьёй. Как происходит процесс публикации – с помощью facebook API в timeline отправляется ссылка на объект (web-страничку со статьёй), затем facebook обрабатывает эту страницу и создаёт объект в своём графе. Для того чтобы facebook нормально обработал нашу статью, она должна содержать правильные open graph тэги. Вот пример «правильной страницы»








    Article


    just article about article
    Some text ...

    Проверить страницу на правильность open graph тэгов можно с помощью утилиты facebook debugger.
    Создав правильный объект, который может быть опубликован в timeline, настроим preview для агрегаций (инструкцию см. в предыдущем пункте).
    Зайдя в настройки open graph и настроим preview, диалог добавления превьюшек будет выглядеть примерно так

    Шаг 3. Запрашиваем права на публикацию в таймлайн Вот минимальный код, чтобы подключить FB API и запросить права на публикацию в timeline:



    log in






    FB.init({
    appId: "{fb app id}", // App ID



    xfbml: true // parse XFBML
    });
    };


    (function (d) {




    } (document));






    console.log("logged in");
    } else {
    console.log("failed.");
    }

    });
    });



    По нажатию на кнопку откроется диалог, в котором будет написано, что данное приложение собирается писать в ваш timeline, вот пример:

    Если подчёркнутого запроса прав нет, значит, приложение настроено неверно (в таком случае следует перечитать предыдущие шаги, и убедиться что для всех «глаголов» есть «агрегации» с превьющками).
    Удалить приложение можно в Account Settings -> Apps, там же можно проверить и какие права выданы приложению.

    Шаг 4. Публикуем в timeline Допишем необходимый вызов api и получится:



    log in





    window.fbAsyncInit = function () {
    FB.init({
    appId: "{your fb app id}", // App ID
    status: true, // check login status
    cookie: true, // enable cookies to allow the server to access the session
    oauth: true, // enable OAuth 2.0
    xfbml: true // parse XFBML
    });
    };

    // Load the SDK Asynchronously
    (function (d) {
    var js, id = "facebook-jssdk"; if (d.getElementById(id)) { return; }
    js = d.createElement("script"); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName("head").appendChild(js);
    } (document));


    $(document).ready(function () {
    $("#post").click(function () {
    FB.login(function (response) {
    if (response.authResponse) {
    console.log("logged in. Try to publish in timeline");
    var verb = "{your_app_namespace}:read";
    var objectType = "article";
    var permalink = link to article";
    FB.api("/me/" + verb + "?" + objectType + "=" + permalink, "post", function (result) {
    console.log("published with id = " + result.id);
    });
    } else {
    console.log("failed.");
    }
    }, { scope: "publish_actions" });
    });
    });



    В callback приходит результат публикации, с id в facebook graph (созданную запись можно будет удалить, например). Если в консоль браузера вывелась надпись «"published with id…», значит всё настроено верно. Чтобы увидеть публикацию нужно кликнуть по своему логину (сверху справа), откроется timeline, затем можно нажать Activity log (для более удобного просмотра добавленных действий). При очередной публикации, несколько «read article» сгруппируются в одну агрегацию. На самом timeline это выглядит вот так:

    В FB API вызове фигурирует глагол – verb, в данном случае это namespace вашего приложения, затем двоеточие и глагол. Если при создании нового глагола (например watch) facebook предложит выбрать из существующих, то создастся оригинальный глагол, не привязанный к вашему приложению, в таком случае verb должен быть равен ни «namespace:watch» а «video.watches», это можно узнать, нажав get code в настройках open graph приложения.
    Если всё работает, то следует проверить работу в IE, хотя бы в IE 8. Удивительно, но даже этот код, взятый из инструкций facebook, отказывался работать в IE (с закомментированными console.log). На момент написания статьи ошибка в подключаемом FB скрипте в IE не воспроизвелась, но если у вас возникнет проблема с permissions в IE, то вот полезная ссылка gkirok.blogspot.com/2011/11/ie-facebook-connect.html .
    Возможно, я забыл упомянуть какие-то грабли, на которые становился сам, но в основном все они решаются очень просто – вбиваем в гугл ошибку и ищем ответ на stackoverflow. Если вызывается fb.getloginstatus и дальше ничего не происходит (даже ошибок нету), лезем во вкладку сеть и смотрим ответ от facebook и снова вбиваем в гугл.
    Кроме того, следует не забывать, что запрашивать publish_action можно только у администраторов/разработчиков/тестеров вашего приложения, это ситуация будет продолжаться пока facebook timeline находится в demo. Отправить кому-либо приглашение стать админом/разработчиком вашего приложения можно из настроект «ролей» в самом приложении.
    С наступающим всех!

    Теги: Добавить метки

    Кому может такое пригодится? Скрыть контент от незарегистрированных пользователей иногда необходимо для того чтобы расширить пользовательскую базу своего сайта. Так же, если у Вас например платная регистрация и та часть материала которая продается должна быть доступна только тем, кто купил доступ. Еще можно немного обратить способ и например, для простых посетителей показывать рекламу, а те кто вошел на сайт не будут видеть ее. В общем все зависит от Вашей фантазии и сложившихся нужд.

    Для того чтобы скрыть например часть содержимого внутри темы WordPress, то нужно ту часть которая будет скрываться от не авторизованных пользователей, заключить вот в такой код:

    Это условие, которое говорит, что если пользователь вошел в аккаунт, то показывать содержимое из второй строки, если нет то из четвертой. Если Вы хотите просто скрывать и не выводить больше никаких сообщений, то есть не авторизованные будут видеть пустоту, то удалите третью и четвертую строку. Получится так:

    Теперь представим ту ситуацию, о которой я писал выше, обратное условие где авторизованные не должны видеть например рекламу или кнопку входа и тд. Код будет таким:

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

    // Тут код рекламы, яваскрипт и тд.

    Такой фокус проворачивается и с кодами что выше, то есть вместо echo и содержимого в скобках, ставите закрывающий и открывающий тег PHP, а между ними все что угодно.

    ?> Сюда что угодно // Содержание для зарегистрированных пользователей"; // Чтобы увидеть текст, Вам нужно авторизоваться

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

    Чтобы создать шорткод, Вам нужно открыть файл пользовательских функций из Вашей темы WordPress - function.php и добавить в него код приведенный ниже. Делать это нужно в самом конце, перед закрывающим тегом PHP.

    Function only_reg_info($atts,$content = null) { if (is_user_logged_in() && !is_null($content) && !is_feed()){ return $content; } else { return "";} } add_shortcode("forreg", "only_reg_info");

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

    В шестой строке указываем имя шорткода - forreg . Если хотите можете поменять на свое, но тогда не забудьте его менять и вдругих кодах которые будут указаны ниже в статье, дабы все продолжало работать, а Вы в гневе не писали мне что - НЕ РАБОТАЕТ!!!.

    Теперь при написании статьи, Вы просто заключаете в шорткод forreg нужный текст, который спрячется.

    //текст который спрячется для не авторизованных посетителей.

    Небольшой бонус

    Как и писал выше, хочу еще добавить небольшой бонус, который немного облегчит Вам постоянное использование шорткода. Чтобы каждый раз не печатать в ручную данный шорткод, предлагаю добавить кнопку в редактор добавить кнопку в текстовый HTML-редактор WordPress.

    Для этого в том же function.php , после функции с шорткодом добавьте еще вот такую функцию:

    Function add_new_quicktags() { if (wp_script_is("quicktags")) : ?> if (QTags) { QTags.addButton("forreg", "Для зарег.", "", "", "Для зарег.", "", 1); }