Aug 18, 2006

XML-Atom-GDataClient

Tatsuhiko Miyagawa / XML-Atom-0.22 - search.cpan.orgのXML::Atom::ClientをGoogle Data API対応にするモジュールを作ってみた。

ogawa - Revision 642: /trunk/XML-Atom-GDataClient

私はPerlモジュールの命名規則や標準的なコーディング規則を知らないので、問題があったらコメントください。

以下は簡単な使用例。

#!/usr/bin/perl
use strict;
use XML::Atom::GDataClient;
use XML::Atom::Entry;
use XML::Atom::Person;
 
my $api = XML::Atom::GDataClient->new;
$api->username('username@gmail.com');
$api->password('password');
$api->service('blogger'); # using Blogger service
 
my $entry = XML::Atom::Entry->new(Version => 1);
$entry->title('Hello');
$entry->content('Hello, World!');
my $author = XML::Atom::Person->new(Version => 1);
$author->name('Foo Bar');
$author->email('foo@gmail.com');
$entry->author($author);
 
my $postURI = 'http://beta.blogger.com/feeds/###################/posts/full';
my $editURI = $api->createEntry($postURI, $entry);

実はcreateEntryしか動作確認していません。現状でupdateEntryやdeleteEntryに失敗するのは、Blogger Data API側の問題のようなので、修正されたらもう少し突っ込んで調べてみるつもりです。

追記: このモジュールを使ってOgawa::Buzz: Blogger Data APIでちょっと触れた、comment用のpostURIに対してcreateEntryできるかどうかというのを確認してみました。

結果は"400 Bad Request"が返ってくるが、entryとしては保存されるというものでした。しかし、親entryのページのレンダリングに失敗するようになってしまいます。おそらくcommentにはcomment用の拡張schemaがあるのでしょう。ともかく、こうなってしまうと該当commentだけを削除する手段はないので、親entryごと削除するしかありません。

…実験はほどほどに。

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com