如何在Facebook PHP SDK

时间:2015-06-28 14:30:13

标签: php facebook facebook-graph-api facebook-php-sdk

$app_id = 'my_app_id';
$app_sec = 'my_app_secret';

session_start();

require_once 'fb_sdk/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
FacebookSession::setDefaultApplication( $app_id , $app_sec );


$graph_url = "https://graph.facebook.com/search?&type=user&locale=en_US&q=randy+orton&limit=2&access_token=my_access_token";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $graph_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);

$data = json_decode($result, true);

echo "<pre>";
var_dump($data);
echo "</pre>";

运行后获取数据:

array(2) {
  ["data"]=>
  array(2) {
    [0]=>
    array(2) {
      ["name"]=>
      string(11) "Randy Orton"
      ["id"]=>
      string(15) "504099376411440"
    }
    [1]=>
    array(2) {
      ["name"]=>
      string(11) "Randy Orton"
      ["id"]=>
      string(16) "1458654707784850"
    }
  }

但是我无法提取数组元素。我尝试了不同的组合,希望只从返回的数据中获取名称,但这似乎不起作用。

var_dump($data);
var_dump($data['name']);
var_dump($data['data']['name']);
var_dump($result['name']);
var_dump($result['data']['name']);

如何仅从Facebook ???中返回的数据打印名称

1 个答案:

答案 0 :(得分:0)

$ data ['data']是一个数组。所以你必须像下面那样打电话

var_dump($data['data'][0]['name']);

打印所有名称,以循环数据

for($i=0; $i<count($data['data']); $i++) {
    var_dump($data['data'][$i]['name']); 
}