За последние 24 часа нас посетили 18276 программистов и 1719 роботов. Сейчас ищут 1508 программистов ...

публикация в блог

Тема в разделе "Вопросы от блондинок", создана пользователем musica, 17 янв 2011.

  1. musica

    musica Активный пользователь

    С нами с:
    24 сен 2010
    Сообщения:
    46
    Симпатии:
    0
    есть 30 разных блогов (wordpress, blogspot, livejournal, etc.). есть ли какое нибудь решения вроде клиента для публикации записей., например, выбираешь в какие блоги запостить текст и submit, а то сильно запаривает логинится в каждый блог и постить.
    скорее всего, для blogspota у гугла есть api, смогу написать скрипт, но вот для других - вопрос.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    добавлял запись в жж так
    PHP:
    1. <?
    2. // Запрос к LJ по интерфейсу blogger
    3. // Возвращает false при ошибке соединения, или если сервер вернул xml-сообщение о ошибке
    4. // В остальных случаях - true
    5. function lj_response($path, $user_params, &$result)
    6. {
    7.     $ljxml = new DOMDocument('1.0', 'UTF-8');
    8.     // Тело запроса
    9.     $methodCall = $ljxml -> createElement('methodCall');
    10.     $ljxml -> appendChild($methodCall);
    11.     // Вызываемый метод
    12.     $method = $ljxml -> createElement('methodName');
    13.     $methodCall -> appendChild($method);
    14.     $methodName = $ljxml -> createTextNode('blogger.'.$path);
    15.     $method -> appendChild($methodName);
    16.     // Параметры
    17.     $params = $ljxml -> createElement('params');
    18.     foreach ($user_params as $text) {
    19.         $param = $ljxml -> createElement('param');
    20.         $value = $ljxml -> createElement('value');
    21.         $type = $ljxml -> createElement('string');
    22.         $string = $ljxml -> createTextNode($text);
    23.         $type -> appendChild($string);
    24.         $value -> appendChild($type);
    25.         $param -> appendChild($value);
    26.         $params -> appendChild($param);
    27.     }
    28.     $methodCall -> appendChild($params);
    29.     // Формирование HTTP-запроса
    30.     $headers = "User-Agent: PHP-Script\r\n";
    31.     $headers .= "Host: livejournal.com\r\n";
    32.     $headers .= "Content-Type: text/xml\r\n";
    33.     $request = stream_context_create(array('http' => array(
    34.         'method' => 'POST',
    35.         'header' => $headers,
    36.         'content' => $ljxml -> saveXML(),
    37.         'timeout' => 10
    38.     )));
    39.     $result = file_get_contents('http://livejournal.com/interface/blogger', false, $request);
    40.     return !substr_count($result, '<fault>');
    41. }
    42.  
    PHP:
    1. <?
    2.         $user_params = array(
    3.             '0123456789ABCDEF',
    4.             $this->lj[0], // username
    5.             $this->lj[0], // username
    6.             $this->lj[1], // password
    7.             $text,
    8.             'true'
    9.         );
    10.         return lj_response('newPost', $user_params);