Hatena::Groupstudyroom

phaのPHPとか自習室 このページをアンテナに追加 RSSフィード

PHP(CakePHPとか)、JavaScript(AJAXとか)、MySQL、UNIX、Fireworksなんかを身につけたい><
2007 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2009 | 01 | 02 | 03 | 04 |
2010 | 01 | 06 |
2011 | 01 |

2007-03-13

XML-RPCでのやりとりについて

XML-RPCでのやりとりについて - phaのPHPとか自習室 を含むブックマーク はてなブックマーク - XML-RPCでのやりとりについて - phaのPHPとか自習室 XML-RPCでのやりとりについて - phaのPHPとか自習室 のブックマークコメント

外部アプリケーションにおいて、あるテキストに対してキーワード自動リンク処理を行う場合のPerlサンプルスクリプトは以下のようになります。

#!/usr/bin/perl -w
use strict;
use XMLRPC::Lite;
use Jcode;
my $rpc = XMLRPC::Lite->new;
$rpc->proxy('http://d.hatena.ne.jp/xmlrpc');
my $body = 'はてなダイアリーのキーワードをリンクして!';
my $res = $rpc->call(
  'hatena.setKeywordLink',
  {
    body => XMLRPC::Data->type('string',Jcode->new($body,'euc')->utf8),
    score => 20,
    cname => ['book','movie'],
    a_target => '_blank',
    a_class => 'keyword',
  }
);
if (my $fault = $res->fault){
  for (keys %{$fault}){
    warn $_."=>".$fault->{$_};
  }
} else {
  $body = $res->result;
  $body =~ s/</</ig;
  $body =~ s/>/>/ig;
  $body =~ s/"/"/ig;
  print Jcode->new($body,'utf8')->euc;
}

このXML-RPC APIの処理には、PEARのXML_RPCを利用して処理しました。

    require_once 'XML/RPC.php';

    $client = new XML_RPC_client('/xmlrpc', 'd.hatena.ne.jp');

    $params = new XML_RPC_Value(
    array(
    'wordlist' => new XML_RPC_Value($keyword)
    ),
    'struct'
    );

    $message = new XML_RPC_Message('hatena.getSimilarWord', array($params));
    $response = $client->send($message);

後は受信した連想語を処理していけば、連想語を表示することができます。


を比べる

いや、こっちじゃないの。

いや、やっぱあっちか。

帰ってきたのをもっかいXMLパースしてaタグの中のを抜き取る?

自動リンク用に書き換えると、

    require_once 'XML/RPC.php';

    $client = new XML_RPC_client('/xmlrpc', 'd.hatena.ne.jp');

    $params = new XML_RPC_Value(
    array(
    'body' => new XML_RPC_Value($keyword)
    ),
    'struct'
    );

    $message = new XML_RPC_Message('hatena.setKeywordLink', array($params));
    $response = $client->send($message);

PEARのXML_RPC

やったほうがよさそうやな。

何やってるか全然わからん><

ここすごくいいね! あとで印刷して読む。

XML-RPCの組み立て方、XML-RPCからのデータの取り出し方、を覚える必要があり。