Archiv

Archiv für März 2010

WordPress Blogpost per Perl-Script erzeugen

Vor kurzem habe ich an einem Projekt gearbeitet, bei dem es u. a. darum ging, automatisiert Beiträge aus der Datenbank eines CMS in ein WordPress-Blog zu übertragen. Aus diversen Gründen wurde dies in Perl realisiert und wegen einiger Anfragen hier die Grundidee: eigentlich ganz einfach via XML-RPC (mit dem Modul XMLRPC::Lite) über die MetaWeblog API, die von WordPress unterstützt wird (und diversen anderen Blogsystemen; deshalb dürfte folgendes Script nicht nur bei WP funktionieren):

#!/usr/bin/perl -w
use strict;
use XMLRPC::Lite;

my $wpusername = “mustermann”;
my $wppassword = “meinpasswort”;
my $wpblogid = “meinblog”;
my $blogurl = “http://maxmustermann.wordpress.com/xmlrpc.php”;

# Neuer Blogbeitrag
my $articeltext =”Hallo Blog, wie geht’s. Hier steht viel Text!”;
my $articeltitle =”Mein erster Blogbeitrag”;
my $articeldatum =”20100220T12:34:56″;
my $articelkeywords =”Hund, Katze, Maus”;

my $rpcall = XMLRPC::Lite
->proxy($blogurl)
->call(‘metaWeblog.newPost’, $wpblogid, $wpusername, $wppassword,
{ description => $articeltext, title => $articeltitle, dateCreated => $articeldatum, mt_keywords => $articelkeywords}, 1)
->result;

if (defined ($rpcall)) {
  print “Erfolgreich – Artikel-ID: $rpcall \n\n”;
} else {
  print “Fehler: $!”;
}
print “\n\n”;

Bei WordPress ist wichtig ist, auf die korrekte Form des Datums zu achten. Probleme hatte ich, bereits an dieser Stelle eine Kategorie für den Artikel festzulegen – mehr dazu in Kürze.

Follow

Get every new post delivered to your Inbox.