2011-01-31 1 views
0

Codeigniter를 사용하여 last.fm에서 정보를 얻으려고합니다.lastfm에서 codeigniter 및 xmlrpc로 사용자 최근 트랙 요청

$this->load->library("xmlrpc"); 
$this->xmlrpc->server("http://ws.audioscrobbler.com/2.0/", 80); 
$this->xmlrpc->method("user.getrecenttracks"); 
$request = array("rj", "b25b959554ed76058ac220b7b2e0a026"); 
$this->xmlrpc->request($request); 
if(!$this->xmlrpc->send_request()) 
{ 
    echo $this->xmlrpc->display_error(); 
} 

난 항상 얻을 수있는 유일한 응답은 다음과 같습니다 잘못된 매개 변수 - 요청 그것은 요청 배열에 약간의 변화를 시도

필수 매개 변수가 없습니다, 그러나 그것은 단순히 방법을 작동하지 않습니다 I 그것을 처리하십시오 ...

+1

http://codeigniter.com/forums/viewthread/99116/ 요청에 API 키를 포함해야 할 수도 있습니다. –

+0

예. 나는 대본에서 그렇게한다. 하지만 나는 여기에 게시하고 싶지 않았다.) –

답변

2

당신은 다되었습니다. $request 실제로 다음과 같이 기록한다 :

$request = array(
       array(
         array(
          'user'=>'rj', 
          'api_key'=>'b25b959554ed76058ac220b7b2e0a026' 
          ), 
         'struct' 
        ) 
       ); 

CodeIgniter의의 XML-RPC 클래스 구조는 다음과 같이 표시됩니다 것을 실제 요청 : 당신은 예를 들어 Last.fm XML-RPC 요청을 볼 수 있습니다

<?xml version="1.0"?> 
<methodCall> 
    <methodName>user.getrecenttracks</methodName> 
    <params> 
     <param> 
      <value> 
       <struct> 
        <member> 
         <name>user</name> 
         <value> 
          <string>rj</string> 
         </value> 
        </member> 
        <member> 
         <name>api_key</name> 
         <value> 
          <string>b25b959554ed76058ac220b7b2e0a026</string> 
         </value> 
        </member> 
       </struct> 
      </value> 
     </param> 
    </params> 
</methodCall> 

here. 첫 번째 매개 변수 노드의 struct를 사용하여 명명 된 인수로 매개 변수를 보내야합니다. 염두에 유지의 CodeIgniter docs 상태 : 여러 다른 데이터 유형이있는 경우

당신이 문자열이 아닌 다른 데이터 유형을 사용하는 경우, 또는, 당신은 데이터 자체 배열로 를 각 매개 변수를 배치합니다 두 번째 위치에 입력하십시오.

희망이 있습니다.