Давным давно, в одной далекой галактике, я сделал себе standalone блог и livejournal, потихоньку начал пропадать из списка сайтов которые я посещаю ежедневно. Учитывая, что я читаю около пары сотен человек, то вариант захождения раз в неделю и чтения всех записей начинал сильно утомлять, т.к. трудно осилить пару сотен постов. В то же время я начал активно пользоваться google reader'ом для чтения rss каналов сайтов которые мне интересны.
К сожалению и по не сильно понятным мне причинам, livejournal не даёт читать френделенту через rss, но зато он позволяет подписаться на rss конкретных пользователей которые вам интересны. В то же время, в Google reader есть возможность сортировать каналы по папкам, и если читать сразу всю папку, то получается как раз подобие френдленты. В целом всё хорошо, только этот вариант не подходит тем, у кого друзья пишут под замочные записи, но и тут тоже livejournal предусмотрел вариант аутентификации, для получения ленты с закрытыми записями.
В интернете есть различные серивисы, включая pipes.yahoo.com и freemyfeed.com, которые могут выступать в роли прокси, но меня не устраивает вариант, когда мои пароли будут храниться не понятно где. Поэтому я сделал маленький прокси, которые автоматически авторизует вас для google reader'а и на выходе вы получаете полный feed ваших друзей.
<?php
if ( !empty( $_GET [ 'feed' ] ) )
{
$_GET [ 'feed' ] = str_replace( '_', '-', $_GET [ 'feed' ] );
header( "Content-Type: text/xml; charset=utf-8" );
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $_GET [ 'feed' ] . '?auth=digest' );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST );
curl_setopt( $ch, CURLOPT_USERPWD, 'жжлогин:жжпароль' );
$data = curl_exec( $ch );
curl_close( $ch );
}
После размещения данного файла на хостинге, вам осталось только получить opml файл, ваших друзей, для добавления его в google reader.
Можно воспользоваться стандартным средством livejournal: http://www.livejournal.com/tools/opml.bml?user=username
но, он выдаст список, который не свернется в папку автоматически, так, что если вы не знаете как отредактировать файл самостоятельно, то лучше просто воспользуйтесь другим сервисом, например этим: http://www.hungry.com/~fn/foaf.cgi
После того, как вы скачаете файл, вам нужно его отредактировать, открываете и делаете автозамену (ctrl+h) c:
xmlUrl="
на:
xmlUrl="http://путь до вашего скрипта?feed=
Всё. Закончили.
Теперь вам нужно зайти в google reader и импортировать этот файл, это делается в настройках (импорт/экспорт). После первого добавления, в папке будет сплошная каша, но все новые посты начнут добавятся в нормальном порядке.
Удачного чтения.