chrome|90.0.4430.93|blMain
uCoz блог, инструкции uCoz

БЛОГ

uCoz, скрипты, всякое  Поиск, Search

АВТОПОСТИНГ С САЙТА В ТВИТТЕР

  
Twitter, автопостинг Twitter, автопостинг     05.02.2011, 14:13    
Привет всем!

В первую очередь хочу сказать спасибо Денису Гиряеву за написанный им обзор моего блога и сайта в общем

Сегодня расскажу о том, как сделать автоматический постинг с сайта в Твиттер. Буду разбирать на примере добавления новостей - при добавлении новости, её часть (по умолчанию это первые 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 - текст для записи в Твиттере.
11 Александр пишет:
И всё же, можно ли сделать автопостинг в твиттер на uCoz php?

10 Alexander пишет:
При переходе по указаной вами ссылке вместо site.ru мне выдало вот это ({"SCRIPTDATA":"Error!","ERROR":""})
Значит на uCoz не получится поставить этот скрипт? Я имею ввиду на php от uCoz, жаль(((

9 Alexander пишет:
Вроде всё прописал, но не работает... Вот в инструкции к авториации через соц.сети всё предельно просто описано. поставил без проблем всё работает идеально. А тут проблемы...
Правильно ли я прописал эту строчку?
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 ?
Ответ:
В option.php вставили необходимые значения?
В twipostoauth.php указали URL?
Попробуйте перейти по ссылке http://site.ru/php/twipostoauth.php?post=text (заменив здесь site.ru на адрес Вашего сайта, но оставив «text»).
Этот скрипт писался для стороннего сервера, PHP на uCoz тогда ещё не было, поэтому данные передаются методом GET — отсюда и могут возникнуть проблемы, например, с пробелами, с символами # и т. д.

8 Alexander пишет:
Уважаемый автор, помогите всётаки поставить этот скрипт. На странице https://dev.twitter.com/apps/new отличаются поля которые описаны в вашей инструкции.
Плюс возникает вот такая ошибка в поле «Application Name»: Autoposting https://css-konstruktor.ucoz.ne/_ph/2/919475782.png
Ответ:
Заполняйте поля по аналогии, попробуйте использовать другое имя.

7 Александр пишет:
И всё же, объясните подробнее.
У вас в инструкции написано какие поля заполнять какие нет. НО на этой http://dev.twitter.com/apps/new страничке отличаются поля от тех которые указаны в вашем уроке. Помогите установить это на uCoz с PHP от uCoz. Очень прошу... очень надо.

6 Александр пишет:
И ещё, тут урок для сороннего сайта PHP, а как сделать для PHP uCoz ?
Ответ:
Разницы нет.
Только для "PHP на uCoz" можно будет использовать не GET, а POST-запрос (т. к. в с лучае с "PHP на uCoz" используется проксирование), что позволит снять ограничения на специальные символы и не передавать сообщение непосредственно в URL.

5 Александр пишет:
Почему поля по ссылке http://dev.twitter.com/apps/new отличаются от описаных в этом уроке? Как быть?
Нету «Application Type»: Client
И не понятно вот это:
«Application Website»: здесь - адрес Вашего сайта
Поле «Application Website» оставляем пустым

поле обязательное, написано адрес сайта и тут же ниже написано оставить пустым? Как так?
Ответ:
Опечатка. В «Application Website» пишите адрес сайта.

4 dididima пишет:
Что-то не работает в каталоге файлов? Может хостинг плохой взял? Все сделал по инструкции и не работает..
Ответ:
Вы в файле twipostoauth.php вписали страницу с которой будет происходит постинг? Т. е. страницу добавления файлов.

В options.php все параметры указали?

Если всё верно сделали - напишите адрес сайта, посмотрю.


3 dididima пишет:
А как сделать к примеру чтобы постило в твиттер только заголовки новости?
Ответ:
В место:

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;


2 DPolyakov пишет:
у твиттерфида да, есть определенная задержка, фидбёрнер постит практически мгновенно

1 DPolyakov пишет:
А зачем столько замороки если все решается постингом через feedburner или twitterfeed?
Ответ:
Имеется ввиду автоматический постинг сразу после добавления материала.
На twitterfeed, как я понял, периодически проверяется RSS-лента…

Также это можно использовать для альтернативных целей - есть конкретный код, с помощью которого можно создать пост в Твиттере.