#!/usr/bin/perl use strict; use warnings; use XMLRPC::Lite; my $uri = "http://localhost/xmlrpc.cgi"; my $content; my @args = (); my $method = "metaWeblog.newPost"; $content->{title} = 'Title'; $content->{description} = 'Description'; $content->{mt_excerpt} = 'Mt_Excerpt'; $content->{mt_keywords} = 'Mt_Keywords'; @args = ('Blog ID', 'User ID', 'Password', $content, 1); my $res = call($uri, $method, @args); print "\n$method:\n"; print "res:$res\n"; $method = "metaWeblog.editPost"; @args = ('Post ID', 'User ID', 'Password', $content, 1); $res = call($uri, $method, @args); print "\n$method:\n"; print "res:$res\n"; $method = "metaWeblog.getPost"; @args = ('Post ID', 'User ID', 'Password'); $res = call($uri, $method, @args); print "\n$method:\n"; print "userid:$res->{userid}\n"; print "dateCreated:$res->{dateCreated}\n"; print "postid:$res->{postid}\n"; print "description:$res->{description}\n"; print "title:$res->{title}\n"; print "link:$res->{link}\n"; print "permaLink:$res->{permaLink}\n"; print "mt_excerpt:$res->{mt_excerpt}\n"; print "mt_keywords:$res->{mt_keywords}\n"; $method = "metaWeblog.getRecentPosts"; @args = ('Blog ID', 'User ID', 'Password', 10); $res = call($uri, $method, @args); print "\n$method:\n"; foreach my $item (@$res) { print "dateCreated:$item->{dateCreated}\n"; print "userid:$item->{userid}\n"; print "postid:$item->{postid}\n"; print "description:$item->{description}\n"; print "title:$item->{title}\n"; print "link:$item->{link}\n"; print "permaLink:$item->{permaLink}\n"; print "mt_excerpt:$item->{mt_excerpt}\n"; print "mt_keywords:$item->{mt_keywords}\n"; } $method = "blogger.getUsersBlogs"; @args = ('AppKey', 'User ID', 'Password'); $res = call($uri, $method, @args); print "\n$method:\n"; foreach my $item (@$res) { print "url:$item->{url}\n"; print "blogid:$item->{blogid}\n"; print "blogName:$item->{blogName}\n"; } $method = "blogger.getUserInfo"; @args = ('AppKey', 'User ID', 'Password'); $res = call($uri, $method, @args); print "\n$method:\n"; foreach my $item (@$res) { print "userid:$item->{userid}\n"; print "firstname:$item->{firstname}\n"; print "lastname:$item->{lastname}\n"; print "nickname:$item->{nickname}\n"; print "email:$item->{email}\n"; print "url:$item->{url}\n"; } $method = "blogger.deletePost"; @args = ('AppKey', 'Post ID', 'User ID', 'Password', 1); $res = call($uri, $method, @args); print "\n$method:\n"; print "res:$res\n"; sub call { my ($uri, $method, @args) = @_; my $res = XMLRPC::Lite->proxy($uri)->call($method, @args)->result; return $res; }