Не могу опубликовать с помощью Perl's Net :: Blogger - PullRequest
4 голосов
/ 31 мая 2010

Я пытаюсь автоматически публиковать сообщения в блоггере, используя Perl Net :: Blogger , но он продолжает возвращать false и не публиковать. Основная часть моего кода выглядит так:

use Net::Blogger;

my $blogger = Net::Blogger->new({
    debug    => 1,
    appkey   => '0123456789ABCDEF', # doesn't matter?
    blogid   => $blogid,
    username => $username,
    password => $password,
});

my $result = $blogger->newPost({
    postbody => \'<p>This is text</p><hr/><p><strong>Whee!</strong></p>',
    publish  => 1,
});

use Data::Dumper;
print Dumper($result);

Конечно, $ result равен 0, и при проверке блога ничего не было опубликовано. Ошибка, которую я получаю при включении отладки:

Element '' can't be allowed in valid XML message. 
Died. at /Library/Perl/5.10.1/SOAP/Lite.pm line 1410.

Что я делаю не так?

Если вы можете предложить альтернативу Net :: Blogger, это будет хорошо.

Обновление : если я не включаю отладку, он довольно долго зависает при попытке отправить сообщение.

Ответы [ 3 ]

3 голосов
/ 01 июня 2010

Я могу понять ваше разочарование, мне не нравится, когда я пытаюсь использовать модуль CPAN, который имеет соблазнительное имя (то есть выглядит как хорошая царапина для зуда), но в конечном итоге бесполезен. Тем не менее, Net :: Blogger получил свое последнее обновление в 2006 году, поэтому я думаю, что было бы невероятно, если бы он по-прежнему работал так, как задумывалось изначально, учитывая, что блоггер развивался на протяжении многих лет.

По рекомендации daxim, я предпринял быструю попытку установить Atompub на OS X через CPAN.pm, но не получилось из-за жесткой зависимости от Perl :: Critic, которая не будет установлена. Я думаю, я знаю, как это исправить, но мне понадобится более веская причина, чем эта, чтобы приложить усилия.

Я видел это примечание в perldoc Net :: Blogger, которое, если ничто иное не дает подсказку для другого модуля, чтобы попробовать, для любого, кто не хотел избивать Atompub в подчинение:

API Atom

В январе 2004 года Blogger объявил их поддержка API Atom.

На момент написания статьи (версия 0.87) это Пакет не поддерживает API Atom. Если вам нужно что-то делать, Atom-ish, Лучше всего использовать XML :: Atom пакет.

2 голосов
/ 31 мая 2010

Альтернатива, как вы просили: после всех различных API блогов появился стандарт в виде RFC 5023.

Atompub отлично работает.

1 голос
/ 22 февраля 2012

Я немного поработал сегодня с Net :: Logger и сумел опубликовать запись в Blogger, проблема в том, что можно установить только тело (никакой Atom не поддерживается, как сказал virtualsue).

Пожалуйста, ознакомьтесь с моей публикацией Perl в Blogger blues для получения справки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...