**Ìܼ¡ [#u3865089]
 #contents
 
 ** Twitter¤ÈYahoo¡¢³ÚÅ·¤ÎAPI¤ò»È¤¤¥Þ¥Ã¥·¥å¥¢¥Ã¥×¥µ¡¼¥Ó¥¹¤òºî¤ë [#b980b253]
 |¥«¥Æ¥´¥ê¡¼|Tiwitter¤ÈYahoo¡¢³ÚÅ·¤ÎAPI¤ò»È¤¤¥Þ¥Ã¥·¥å¥¢¥Ã¥×¥µ¡¼¥Ó¥¹¤òºî¤ë|
 |Í¥Àè½ç°Ì|»êµÞ|
 |¥¤¥Æ¥ì¡¼¥·¥ç¥ó|[[¥¤¥Æ¥ì¡¼¥·¥ç¥ó1]]|
 |¾õÂÖ|´°Î»|
 |´°Î»Í½ÄêÆü|2007/9/18|
 |¹©¿ô||
 |Âбþ¼Ô|À¶¸¶|
 
 ----
 **Í×·ï [#o554c79d]
 -1. ¥æ¡¼¥¶¡¼¤ÎºÇ¿·¥³¥á¥ó¥È¤ò¸¡ÃÎ(¤³¤ì¤Ïmeddler¤Ë¼ÂÁõºÑ¤ß)
 -2. Yahoo¤Î·ÁÂÖÁDzòÀÏAPI¤Ç¡¢¥³¥á¥ó¥È¤ò·ÁÂÖÁǤËʬ²ò
 http://www.itmedia.co.jp/news/articles/0706/18/news090.html  
 -3. ʸ¾Ï¤ÎÃ椫¤é̾»ì¤ò¤È¤Ã¤Æ¤­¤Æ¡¢³ÚÅ·API¤Ç¸¡º÷¤·¤Æ°ú¤Ã¤«¤«¤Ã¤¿¾¦Éʤ«¤é¥é¥ó¥À¥à¤Ë1¤Ä¤òÁªÂò¤·¤½¤ÎURL¤òmeddlerÍÑ¥¢¥«¥¦¥ó¥È¤Ëȯ¸À¤µ¤»¤ë¡£
 **¥á¥â [#m4f0c1ab]
 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¸¡º÷¤â½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ë
 
 **¥×¥í¥°¥é¥à [#f722906c]
 -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;
      }
  }
  ?>
 
 

¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¥¢¡¼¥¯¥¦¥§¥Ö¤Î¥µ¡¼¥Ó¥¹¤ä¥½¥ê¥å¡¼¥·¥ç¥ó¤Ï¤³¤Á¤é