안녕하세요 .생존본능입니다.

 우선 이전에 Facebook 강좌중 잘못된 정보를 제공해드려 죄송합니다.

 테스트 해본결과 JSON.php 에서 제공하는 json_decode 에서 object를 읽을경우

  ' Cannot use object of type stdClass as array in '

 오류가 발생되는것을 확인하였습니다.

 object에 대한 return 값이 아무것도 넘어가지 않고있는데요,

 확인이 늦은점 죄송합니다.

 그래서 다른 방법으로 알려드립니다.

  



 우선 위 파일을 다운받으신후 

 

 
 index.php 파일과 같은 경로에 놓습니다.

 Json_decode.php 파일안에는 Json_decode를 읽는 함수가 들어있습니다.

 이 파일을 index.php 파일에서 호출하여 줍니다.

 

 <?php 


     
require 'Json_decode.php';
 

     $app_id = "YOUR_APP_ID";


     $canvas_page = "YOUR_CANVAS_PAGE_URL";


     $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 

            . $app_id . "&redirect_uri=" . urlencode($canvas_page);


     $signed_request = $_REQUEST["signed_request"];


     list($encoded_sig, $payload) = explode('.', $signed_request, 2); 


     $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);


     if (empty($data["user_id"])) {

            echo("<script> top.location.href='" . $auth_url . "'</script>");

     } else {

            echo ("Hello " . $data["user_id"]);

     } 

 ?>

 
 이렇게 되면 정상적으로 object를 읽어올수있게 됩니다.


 이러면 json_decode 사용하기 완료입니다.^^

 감사합니다~


당신의 속도를 테스트 하라! 킬링타임용 게임으로,

게임의 목적은 단순합니다.

짧은 시간내에 많은 클릭수를 기록하기 입니다.

 

제가 만든 게임이라 한번 올려봤어용.ㅎ

한판 즐겨주세요 굽신굽신.^^


http://apps.facebook.com/clickgameclick/

 

 안녕하세요 생존본능입니다.

 PHP 5.2이하버전에서 어떻게 사용하시는지 질문하셔서, 그 내용 적어드립니다.^^

 우선 PHP 5.2버전에서는 JSON이 기본적으로 제공되나, 하위버전에서는 지원되지 않습니다.

 그렇기 때문에 json 라이브러리를 다운받아서 사용하셔야 하는데요,

 우선 라이브러리를 다운받기위해서는 아래싸이트로 이동합니다.

 http://www.json.org/

 
  



이동하셔서 아래쪽에 보시면 Services_JSON이라는 링크를 클릭하여 다운로드 페이지로 이동합니다.


 

 
이동하셔서 보시면 Links에서 가장 위에있파일을 클릭합니다.

 PEAR package file (.tgz) 클릭하셔서 다운로드 받으신후 압축을 풀어주시면 압축파일중에

JSON.php라는 파일이 저희가 사용할 파일입니다.

 제가 받은 파일도 같이 공유드리겠습니다.

 위 절차가 귀찮으신분은 제가받은 파일을 받아서 사용하셔도 됩니다.

  



 이제 기본적으로 사용할 준비는 끝났습니다.

 그럼이제 소스에서 JSON.php를 추가하주시면 됩니다.

 추가하는 방법은 우선 저는 이전에 있던파일과 같은 경로를 넣겠습니다. 

 

 
그리고 이전에 만들었던 index.php를 수정해주시면 됩니다.



 이전 PHP 5.2 이후버전에서는 json_decode 라고 호출해주면 됬지만

이번에는 라이브러리를 가져온것이기때문에 소스내에서도

require_once를 해주어야 합니다.

 require_once('JSON.php');
 
그리고 실제로 사용하기위해서 new 선언을 해주었습니다.
   $json = new Services_JSON(); 
 
이제 json_decode를 실제로 사용하기 위해서 호출해주셔야되는데

decode는 현재 위치에 있는것이 아니라 방금 선언한

$json에 있는것이고, 명령어는 json_decode가 아니라 decode 입니다.
   $json->decode(타겟, true); 


 아래와 같은 방법으로 사용해주시면 됩니다.
    require_once('JSON.php');
$json = new Services_JSON();
$json->decode(타겟, true);
 
 JSON  사용하는 방법은 여기까지입니다.

 하지만 JSON.php에서는 Object를 읽지 못하게됩니다.

 이럴때는

 

PHP 5.2 이하버전 Object 에 json_decode 사용하기.



 
에서 방법확인하시면 됩니다.





 그럼, 수고하셨습니다.


 ^ㅡ^

+ Recent posts