2007年04月11日
Twitter 互換「ひとこと更新 API」をリリースしました
いつもlivedoorのソーシャルネットワーキングサービス
『フレパ』をご利用くださいまして、誠にありがとうございます。
本日、フレパに、Twitter ライクな「ひとこと更新 API」を実装し公開致しました。
簡単に言いますと、API Documentation - Twitter Development Talk にある、update の移植です。
URL:
Formats: xml, json. 成功時は、要求された形式でステータスを返します。
Parameters:
Greasemonkey から
念の為、
また、CPAN モジュールの Net::Twitter を利用し、
Net::Twitter を利用してひとことを更新する場合のサンプルは以下の通りです。
今後もご要望に応じて API を追加したいと思いますので、今後とも『フレパ』をよろしくお願い申し上げます。
本日、フレパに、Twitter ライクな「ひとこと更新 API」を実装し公開致しました。
簡単に言いますと、API Documentation - Twitter Development Talk にある、update の移植です。
update
認証されたユーザのひとことを更新します。下記のように、status パラメータを要求します。リクエストは POST メソッドで送られる必要があります。URL:
http://www.frepa.livedoor.com/statuses/update.format?status=messageFormats: xml, json. 成功時は、要求された形式でステータスを返します。
Parameters:
status... 必須。更新したい、ひとことの文字列を渡してください。必要に応じて URL encode を行なってください。また、文字列は UTF-8 および EUC-JP の両方を受け付けることが可能ですが、フレパのキャラクタセットが EUC-JP のため、外国の文字等を正常に表示することは保証出来ません。また、文字列は EUC-JP にした場合に 100 バイト以上あった場合に、自動的に 100 バイト付近でカットされます。
Greasemonkey から
GM_xmlhttpRequest() を利用して POST する等の場合は、一般に公開されている Twitter に POST する Greasemonkey Script の Endpoint だけ修正すれば、POST 可能です。念の為、
GM_xmlhttpRequest() を利用した際の簡単なサンプルは下記の通りです。
GM_xmlhttpRequest({
method: 'POST',
url: 'http://www.frepa.livedoor.com/statuses/update.json',
data: 'status=' + encodeURIComponent('Hello, World!'),
headers: {
'Content-Type' : 'application/x-www-form-urlencoded'
}
});
Basic 認証のダイアログが表示されるケースもありますが、それを避ける場合は、
url: 'http://myuser:mypass@www.frepa.livedoor.com/statuses/update.json',
のように、livedoorID:password@ をホスト名の前に前置することによって、自動的に Basic 認証を通すことも可能です。また、CPAN モジュールの Net::Twitter を利用し、
update() メソッド経由でひとことを更新することも可能です。Net::Twitter を利用してひとことを更新する場合のサンプルは以下の通りです。
#!/usr/bin/perl
use strict;
use Net::Twitter;
my $twit = Net::Twitter->new(
username => "myuser",
password => "mypass",
apirealm => "Frepa API",
apihost => "www.frepa.livedoor.com:80",
apiurl => "http://www.frepa.livedoor.com/statuses"
);
my $result = $twit->update("Hello, World!");
Plagger で publish したいという場合は、例えば Plagger::Plugin::Publish::Twitter を継承した Plagger::Plugin::Publish::Frepa クラスを作り、initialize() メソッドを Net::Twitter のコンストラクタへの引数だけを上記のように変更するような override をすることによって publish が可能です。今後もご要望に応じて API を追加したいと思いますので、今後とも『フレパ』をよろしくお願い申し上げます。

