2010-01-02 5 views
0

사이트에 대한 고유 한 API를 구축 중이므로 다른 웹 사이트 API를 실험 중입니다. bebo.com에는 API 소유자가 앱의 키와 비밀번호를 전달하는 PHP 클라이언트가 있습니다. 당신은 당신이 호출 할 수있는 방법/기능의 무리와 함께 클라이언트 라이브러리를 가지고, 모든 메소드는 다음과 같이 작동 :이 스크립트는 어떤 종류의 API 응답을 생성합니까?

public function score_getHigh($uid='', $name='') { 
    return $this->execute('score.getHigh', array('member_id' => $uid, 'name' => $name)); 
    } 

당신은 그들 모두가 단지 함수의 이름을 전달 볼에 PARAMS를 넣을 수 있습니다 배열을 만들고 실행 (메서드 이름, 메서드 매개 변수) 함수를 통해 전달합니다. 이 기능은 다음, 그 다음 POST를 실행하거나 CURL와 API 페이지에이를 얻을 수있는 모든 기능과 PARAMS의 목록을 만들려면이

//execute function 
    //flatten array 
    foreach ($params as $k => $v) { 
     if (is_array($v)) { 
     $params[$k] = implode(',', $v); 
     } 
    } 

과 같은 코드를 실행하고이 아래 돌아 오는 결과 내 브라우저 나 대신 내가 브라우저에서 게시하는 방법 그냥이 배열을 보여줍니다 웹 브라우저의 페이지 소스를 보려면 다음을 게시 곱슬 곱슬시키기의 브라우저에서 페이지를 그래서 결국

Array 
(
    [error_code] => 102 
    [error_msg] => Session key invalid or no longer valid 
    [request_args] => Array 
     (
      [0] => Array 
       (
        [key] => v 
        [value] => 1.0 
       ) 

      [1] => Array 
       (
        [key] => api_key 
        [value] => Qnw1Moc22Y9m3XY5zUZohbxiwfkURaPJpN3m 
       ) 

      [2] => Array 
       (
        [key] => method 
        [value] => friends.get 
       ) 

      [3] => Array 
       (
        [key] => call_id 
        [value] => 1262417906.33 
       ) 

      [4] => Array 
       (
        [key] => sig 
        [value] => 18b8592f383a5f0abc332745284a0e99 
       ) 

     ) 

) 

질문에 자신을 방문하는 경우 여기, 어떤 종류의 응답 이죠, JSON이 아니며 XML이라고 생각하지 않습니다. CU로이 결과를 얻으려고하는 스크립트와 스크립트는 무엇이라고 생각합니까? RL, 어떻게 처리 할 수 ​​있을까요? 당신의 PHP 스크립트에서

+0

은 저에게 무책임한 var_dump처럼 보입니다. – mauris

답변

1

, 당신은 같은 것을 할 수 있어야한다 :

$foo = $bebo->score_getHigh(...); 
echo $foo['error_code']; // Should output 102 in this case 

당신이 PHP의 serialize 함수의 출력과 같은 외모를 기록한다는 응답. Bebo의 PHP 클라이언트를 사용하여 요청을 한 다음 결과 객체를 인쇄하면이 방법이 유용 할 것입니다. Bebo의 서비스는 실제로 아래 XML 예제를 통해 사용자가 요청할 때 XML을 반환합니다.

$ curl http://apps.bebo.com/restserver.php?\ 
    v=1.0&api_key=Qnw1Moc22Y9m3XY5zUZohbxiwfkURaPJpN3m\ 
    &method=friends.get&call_id=1262417906.33&\ 
    sig=18b8592f383a5f0abc332745284a0e99 

<error_response> 
    <error_code>102</error_code> 
    <error_msg>Session key invalid or no longer valid</error_msg> 
    <request_args list="true"> 
    <arg> 
     <key>v</key> 
     <value>1.0</value> 
    </arg> 
    <arg> 
     <key>api_key</key> 
     <value>Qnw1Moc22Y9m3XY5zUZohbxiwfkURaPJpN3m</value> 
    </arg> 
    <arg> 
     <key>method</key> 
     <value>friends.get</value> 
    </arg> 
    <arg> 
     <key>call_id</key> 
     <value>1262417906.33</value> 
    </arg> 
    <arg> 
     <key>sig</key> 
     <value>18b8592f383a5f0abc332745284a0e99</value> 
    </arg> 
    </request_args> 
</error_response> 
+0

덕분에, 내 자신의 API를 위해 이것을 재현하려고 노력 중입니다. 그래서 서버의 응답이 무엇인지 알고 싶었습니다. JSON을 사용하면 내 생각에 다시 작동합니다. – JasonDavis

+0

클라이언트가 선호하는 응답 유형을 지정할 수 있도록 MIME 형식 뒤에 오는 HTTP'Accept' 헤더. 예를 들어,'Accept : application/xml'은 클라이언트가 XML 응답을 원한다는 것을 알리는 반면,'Accept : application/json'은 클라이언트가 JSON 응답을 원한다는 것을 나타냅니다. 사용하는 언어와 프레임 워크에 따라 그 유형의 것을 쉽게 구현할 수 있습니다. 나는 주로 자바 개발자이기 때문에 어떤 프레임 워크가 PHP에 존재하는지에 대해서는 확신 할 수 없다. 행운을 빕니다! –

관련 문제