Привет всем!
В первую очередь хочу сказать спасибо Денису Гиряеву за написанный им
обзор моего блога и сайта в общем
Сегодня расскажу о том, как сделать автоматический постинг с сайта в Твиттер. Буду разбирать на примере добавления новостей - при добавлении новости, её часть (по умолчанию это первые 80 символов) + ссылка на саму новость будут отправляться в Ваш аккаунт в Твиттере.
Для этого нам понадобится любой сторонний сайт с поддержкой PHP.
Итак, начнём.
1) Логинимся в Твиттере под аккаунтом, который будет использоваться для автопостинга.
2) Переходим по
этой ссылке и заполняем поля следующим образом:
«Application Name»:
Autoposting «Description»:
Autoposting «Application Website»:
здесь - адрес Вашего сайта «Application Type»:
Client Поле «Callback URL» оставляем пустым
«Default Access type»:
Read & Write Вводим капчу, кликаем по кнопке, соглашаемся с правилами использования сервиса.
3) Далее Вы попадёте на страницу настроек. Не закрываем её, она нам сейчас понадобится.
Качаем
этот архив, открываем файл
options.php и в качестве значений, указанных там берём ключи со страницы настроек. Значения OAUTH_TOKEN и OAUTH_SECRET будут находится на странице My Access Token
4) Теперь открываем файл
twipostoauth.php и вместо http://site.ru/news/0-0-0-0-1 вписываем страницу, с которой будет происходить автопостинг (я буду разбирать на примере автопостинга при добавлении новости, так что у меня указана страница добавления новости).
5) Распаковываем и загружаем содержимое архива в корневую директорию Вашего сайта с поддержкой PHP.
6) Идём в шаблон архива материалов новостей (напоминаю, что в моём случае автопостинг в Твиттер будет при добавлении новости; Вы же можете делать автопостинг при добавлении статьи, файла, фотографии и т. д.) и вставляем там перед </body> следующий код:
<?if($PAGE_ID$='add')?>
<script type="text/javascript">
function twitter_post(){
link=$('.myWinCont a').attr('href');
if(link!=undefined){
var msg = true; // true - твит будет содержать текст из «Полного описания материала», false - твит будет содержать «Краткое описание материала»
var site = 'http://site.ru'; // Адрес Вашего PHP-сайта
var num = 80; // Кол-во символов для твита
if (msg) {var text = $('#message').val().substr(0,num)+'… '+link;} else {var text = $('#brief').val().substr(0,num)+'… '+link;};
$.getScript(site+'/twipostoauth.php?post='+text);
clearInterval(int);
}
};
int=setInterval(function(){twitter_post()},10);
</script>
<?endif?> Где "http://site.ru" - адрес Вашего сайта (с http:// и без слеша на конце);
Где "80" - количество символов текста для твита;
Готово! Теперь при добавлении материала на Вашем сайте будет автоматически добавляться запись в Твиттер об этом материале
Хочу сказать, что автопостинг можно использовать не только при добавлении материалов.
Код для автопостинга следующий:
$.getScript('http://site.ru/twipostoauth.php?post=text'); Здесь site.ru - это адрес Вашего PHP-сайта, а text - текст для записи в Твиттере.
177Twitter, автопостинг
Значит на uCoz не получится поставить этот скрипт? Я имею ввиду на php от uCoz, жаль(((
Правильно ли я прописал эту строчку?
var site = 'http://site.ru/php'; // Адрес Вашего PHP-сайта
Ещё вопрос по этому:
Значения OAUTH_TOKEN и OAUTH_SECRET будут находится на странице My Access Token
Там сейчас похоже всё подругому... именно этого я не нашёл там, кроме вот этого: https://css-konstruktor.ucoz.net/_ph/2/2/808097235.png
Правильно ли я загрузил содержимое архива в папку scripts ?
В twipostoauth.php указали URL?
Попробуйте перейти по ссылке http://site.ru/php/twipostoauth.php?post=text (заменив здесь site.ru на адрес Вашего сайта, но оставив «text»).
Этот скрипт писался для стороннего сервера, PHP на uCoz тогда ещё не было, поэтому данные передаются методом GET — отсюда и могут возникнуть проблемы, например, с пробелами, с символами # и т. д.
Плюс возникает вот такая ошибка в поле «Application Name»: Autoposting https://css-konstruktor.ucoz.ne/_ph/2/919475782.png
У вас в инструкции написано какие поля заполнять какие нет. НО на этой http://dev.twitter.com/apps/new страничке отличаются поля от тех которые указаны в вашем уроке. Помогите установить это на uCoz с PHP от uCoz. Очень прошу... очень надо.
Только для "PHP на uCoz" можно будет использовать не GET, а POST-запрос (т. к. в с лучае с "PHP на uCoz" используется проксирование), что позволит снять ограничения на специальные символы и не передавать сообщение непосредственно в URL.
Нету «Application Type»: Client
И не понятно вот это:
«Application Website»: здесь - адрес Вашего сайта
Поле «Application Website» оставляем пустым
поле обязательное, написано адрес сайта и тут же ниже написано оставить пустым? Как так?
В options.php все параметры указали?
Если всё верно сделали - напишите адрес сайта, посмотрю.
if (msg) {var text = $('#message').val().substr(0,num)+'… '+link;} else {var text = $('#brief').val().substr(0,num)+'… '+link;};
Вставьте:
var text = $('input[name="title"]').val()+'… '+link;
На twitterfeed, как я понял, периодически проверяется RSS-лента…
Также это можно использовать для альтернативных целей - есть конкретный код, с помощью которого можно создать пост в Твиттере.