- ¥Ð¥Ã¥¯¥¢¥Ã¥×°ìÍ÷
- ¥½¡¼¥¹ ¤òɽ¼¨
- À¶¸¶¸¦½¤/10 ¤Ïºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- 1 (2007-09-05 (¿å) 16:08:49)
- 2 (2007-09-05 (¿å) 18:24:04)
- 3 (2007-09-12 (¿å) 17:35:47)
- 4 (2007-09-18 (²Ð) 14:06:28)
- 5 (2007-09-18 (²Ð) 19:57:57)
Ìܼ¡ †
Twitter¤ÈYahoo¡¢³ÚÅ·¤ÎAPI¤ò»È¤¤¥Þ¥Ã¥·¥å¥¢¥Ã¥×¥µ¡¼¥Ó¥¹¤òºî¤ë †
¥«¥Æ¥´¥ê¡¼ | Tiwitter¤ÈYahoo¡¢³ÚÅ·¤ÎAPI¤ò»È¤¤¥Þ¥Ã¥·¥å¥¢¥Ã¥×¥µ¡¼¥Ó¥¹¤òºî¤ë |
Í¥Àè½ç°Ì | »êµÞ |
¥¤¥Æ¥ì¡¼¥·¥ç¥ó | ¥¤¥Æ¥ì¡¼¥·¥ç¥ó1? |
¾õÂÖ | ´°Î» |
´°Î»Í½ÄêÆü | 2007/9/18 |
¹©¿ô | |
Âбþ¼Ô | À¶¸¶ |
Í×·ï †
- 1. ¥æ¡¼¥¶¡¼¤ÎºÇ¿·¥³¥á¥ó¥È¤ò¸¡ÃÎ(¤³¤ì¤Ïmeddler¤Ë¼ÂÁõºÑ¤ß)
- 2. Yahoo¤Î·ÁÂÖÁDzòÀÏAPI¤Ç¡¢¥³¥á¥ó¥È¤ò·ÁÂÖÁǤËʬ²ò
http://www.itmedia.co.jp/news/articles/0706/18/news090.html - 3. ʸ¾Ï¤ÎÃ椫¤é̾»ì¤ò¤È¤Ã¤Æ¤¤Æ¡¢³ÚÅ·API¤Ç¸¡º÷¤·¤Æ°ú¤Ã¤«¤«¤Ã¤¿¾¦Éʤ«¤é¥é¥ó¥À¥à¤Ë1¤Ä¤òÁªÂò¤·¤½¤ÎURL¤òmeddlerÍÑ¥¢¥«¥¦¥ó¥È¤Ëȯ¸À¤µ¤»¤ë¡£
¥á¥â †
Yahoo!ÆüËܸì·ÁÂÖÁDzòÀÏWeb¥µ¡¼¥Ó¥¹
http://developer.yahoo.co.jp/jlp/MAService/V1/parse.html
- API¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥óID¤¬É¬Í×
http://api.search.yahoo.co.jp/webservices/register_application - ¥ê¥¯¥¨¥¹¥È¤Î¹½ÃÛ
http://developer.yahoo.co.jp/jlp/rest.html - ÆþÎϥѥé¥á¡¼¥¿
- filter=9¤Ç̾»ì¤ò½¦¤¨¤ë
³ÚÅ·¾¦Éʸ¡º÷API
http://webservice.rakuten.co.jp/api/itemsearch/
- ¥Ç¥Ù¥í¥Ã¥Ñ¡¼ID¤ÎÅÐÏ¿¤¬É¬Í×
https://grp02.id.rakuten.co.jp/rms/nid/registfwd
- ÆþÎϥѥé¥á¡¼¥¿¡Ê¥Ç¥Õ¥©¥ë¥È¤«¤éÊѹ¹¤·¤¿¤â¤Î¡Ë
- 1¥Ú¡¼¥¸¤¢¤¿¤ê¤Î¼èÆÀ·ï¿ô hits=3
- ¥½¡¼¥È¡§sort=¤Ç²Á³Ê½ç¤ä¹¹¿·Æü½ç¤ËʤÓÂؤ¨¤ò»ØÄê½ÐÍè¤ë
º£²ó¤Ï¡Ö¥é¥ó¥À¥à¤Ë1¤Ä¤òÁªÂò¡×¤È¸À¤¦¤³¤È¤Ç¤³¤³¤Ç¥é¥ó¥À¥àÁªÂò¤Ë¤·¤¿
sort=random¡§¥é¥ó¥À¥à½ç¡¡
- ¸¡º÷¥Õ¥£¡¼¥ë¥É field=0 ¡Ê0¡§¸¡º÷Âоݤ¬¹¤¤¡ÊƱ¤¸¸¡º÷¥¡¼¥ï¡¼¥É¤Ç¤â¿¤¯¤Î¸¡º÷·ë²Ì¤¬ÆÀ¤é¤ì¤ë¡Ë¡Ë
¾¤Ë¤âorFlag¤Çor¸¡º÷¤â½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ë
¥×¥í¥°¥é¥à †
- meddler2.php
<?php set_include_path(get_include_path() . PATH_SEPARATOR . './lib/'); require_once "Meddler.php"; $meddler = new Meddler(); $result = $meddler->meddler2('kiyohara_training','29d603e9db7f9b9480aed88a8ab218b5'); if(PEAR::isError($result)){ echo ($result->getMessage()); } ?>
- Meddler.php(ÄɲÃʬ)
//¥ê¥¯¥¨¥¹¥ÈURL¤òÌ㤤¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¡¢Ê֤äƤ¤¿¥ì¥¹¥Ý¥ó¥¹¤òÊÖ¤¹ function getResponse($url){ $req = new Http_Request($url); if (!PEAR::isError($req->sendRequest())){ $result = $req->getResponsebody(); return $result; }else{ die('request failed'); } } //³ÆAPI¤«¤é¤Î·ë²ÌXML¤ò¼õ¤±¼è¤êÍ×ÁǤò¼è¤ê½Ð¤·¡¢ÇÛÎó¤ÇÊÖ¤¹ function getXmlAttribute($xml,$parse){ $parse->setInputString($xml); $res = $parse->parse(); if(PEAR::isError($res)){ dir('Parsing failed'.$res->getMassage()); } return $parse->getResultArray(); } //¥¡¼¥ï¡¼¥É¤ò½ÅÊ£¤µ¤»¤º¤Ë¥é¥ó¥À¥à¤Ë$k¸ÄÃê½Ð¤¹¤ë¡£ //¥Ñ¥é¥á¡¼¥¿ array,int function selectKeywordRandom($data,$k=1){ $count = count($data); $use = array(); if($count < $k){ foreach($data as $s){ $keywords = $keywords.$s.' '; } }else{ for($i = 0; $i < $k; $i++){ $value[$i] = mt_rand()%$count; $use = array_unique($value); $i = (count($use)-1); } for($j = 0; $j < $k; $j++){ $keywords = $keywords.$data[$value[$j]].' '; } } return $keywords; } //ͧã¤ÎÍߤ¬¤Ã¤Æ¤¤¤½¤¦¤Êʪ¤ò³ÚÅ·¾¦Éʸ¡º÷¤¹¤ë function meddler2($yappid='',$rappid=''){ $yhoo = 'http://api.jlp.yahoo.co.jp/MAService/V1/parse?appid='.$yappid.'&results=ma&filter=9&sentence='; $raku = 'http://api.rakuten.co.jp/rws/1.7/rest?developerId='.$rappid.'&operation=ItemSearch&version=2007-04-11&hits=1&sort=random&field=1&orFlag=0&keyword='; $timeline = $this->getFriendsTimeline(); $enc_key = urlencode($timeline[0]['text']); //Tiwwiter¤«¤é¼èÆÀ¤·¤¿¥³¥á¥ó¥È¤òYahooAPI¤Ç»È¤¨¤ë¤è¤¦URL¥¨¥ó¥³ $yhoo = $yhoo.$enc_key; //YahooAPI¥ê¥¯¥¨¥¹¥ÈURL $rslt_xml = $this->getResponse($yhoo); //YahooAPI¤Ë¥ê¥¯¥¨¥¹¥È¤··ë²Ì¤ò¼èÆÀ $nouns = $this->getXmlAttribute($rslt_xml,new YahooApiParser()); //¼èÆÀ¤·¤¿XML¤«¤é̾»ì¤Î¤ß¤òÇÛÎó·Á¼°¤Ç¼è¤ê½Ð¤¹ $enc_key = urlencode($this->selectKeywordRandom($nouns['SURFACE'],1)); //¸¡º÷¤Ë»È¤¦¸ì¶ç¤òÂè2°ú¿ô¸ÄʬÃê½Ð¥é¥ó¥À¥à¤Ë¤¹¤ë echo '½¦¤Ã¤¿¥¡¼¥ï¡¼¥É¡§'.urldecode($enc_key); $raku = $raku.$enc_key; $rslt_xml = $this->getResponse($raku); $serch_rslt = $this->getXmlAttribute($rslt_xml,new RakutenApiParser()); $message = '¥ª¥¹¥¹¥á¾¦ÉÊ:'.$serch_rslt['ITEMNAME'].'²Á³Ê:'.$serch_rslt['ITEMPRICE'].'±ß'.'URL:'.$serch_rslt['ITEMURL']; return $this->advise($message); } function advise($message){ $result = $this->_twitter->setUpdate("@{$userName}".$message); $result= $this->_twitterErrorCheck($friends,'Twitter¤Ëȯ¸À¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿'); if(PEAR::isError($result)){ return $result; } }
- RakutenApiParser.php
<?php require_once '../PEAR/Parser.php'; class RakutenApiParser extends XML_Parser { var $word = array(); var $currentTag; function RakutenApiParser() { parent::XML_Parser(); } function startHandler($parser,$name,$attribs){ switch($name){ case 'ITEMNAME': $this->currentTag = $name; break; case 'ITEMPRICE': $this->currentTag = $name; break; case 'ITEMURL': $this->currentTag = $name; break; default: break; } } function endHandler($parser,$name){ $this->currentTag = null; } function cdataHandler($xp, $cdata) { $cdata = trim($cdata); if(empty($cdata)){ return true; } if (($this->currentTag == 'ITEMNAME') || ($this->currentTag == 'ITEMPRICE') || ($this->currentTag == 'ITEMURL')){ $this->word[$this->currentTag] = $cdata; } } function getResultArray(){ return $this->word; } } ?>