将Facebook解码的json转换为PHP数组

时间:2014-01-13 18:24:15

标签: php facebook facebook-graph-api

我有以下PHP代码:

define('TOKEN_FILE', 'fb_page_accestoken.txt'); // dont need to change this
$fb = new Facebook(array( 
                  'appId' => FB_APP_ID,
                  'secret' => FB_APP_SECRET,
                  'cookie' => true,
));

$access_token = file_get_contents('fb_app_token.txt');

$response  = "https://graph.facebook.com/me/accounts?access_token=".$access_token;
$responsez = json_decode(file_get_contents($response ,true)); 
print_r($responsez); 

当我使用上面的代码时,我解码JSON字符串并得到以下内容:

stdClass Object ( [data] => Array ( [0] => stdClass Object ( [category] => Media/news/publishing [name] => PAGE ABC [access_token] => abcdefghijklmnopqrstuvwxyz1234567890 [perms] => Array ( [0] => ADMINISTER [1] => EDIT_PROFILE [2] => CREATE_CONTENT [3] => MODERATE_CONTENT [4] => CREATE_ADS [5] => BASIC_ADMIN ) [id] => 35645645678735 ) [1] => stdClass Object ( [category] => Entertainment website [name] => Page 123 [access_token] => abcdefghijklmnopqrstuvwxyz1234567890 [perms] => Array ( [0] => ADMINISTER [1] => EDIT_PROFILE [2] => CREATE_CONTENT [3] => MODERATE_CONTENT [4] => CREATE_ADS [5] => BASIC_ADMIN ) [id] => 1364564569777454 )

如何将上述内容添加到PHP数组中?例如,为了能够提取页面ID access_token的{​​{1}}。

3 个答案:

答案 0 :(得分:2)

responsez = json_decode(file_get_contents($response), true); 

json_decode 中的第二个参数允许将返回的对象转换为关联数组。

答案 1 :(得分:0)

 $arr = array();
 foreach($responsez->data as $obj){
      $arr[] = array("page_id"=>$obj->id,"access _token"=>$obj->access_token);         
 }
 print_r($arr); 

答案 2 :(得分:0)

我遇到帐户JSON的麻烦,这对我来说效果更好:

Traceback (most recent call last):
  File "C:\Users\Sam\Documents\Python\TWEEPY\Tweepy.py", line 22, in <module>
    api.update_status('Hello')
  File "C:\Python34\lib\site-packages\python_twitter-2.1-py3.4.egg\tweepy\binder.py", line 153, in _call
    raise TweepError(error_msg)
tweepy.error.TweepError: Twitter error response: status code = 403