2011-01-06 3 views
0

は、PHPコードの下に、これを参照してください。FacebookのAPIを使用してfriendlist内の位置やメールを取得するためにどのように

<?php 
require '../src/facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'xxxxxxxxxxxxxxxxx', 
    'secret' => 'xxxxxxxxxxxxxxxxx', 
    'cookie' => true, // enable optional cookie support 
)); 

try { 
$me = $facebook->api('/me'); 
} catch (FacebookApiException $e) { 
    error_log($e); 
} 

if ($facebook->getSession()) {  
    $friendsLists = $facebook->api('/me/friends?fields=id,name,picture,locale,email'); 
    $session = $facebook->getSession(); 

$query = "SELECT uid, name,locale,email,hometown_location FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"; 

$params = array( 

    'access_token' => $session['access_token'], 
    'secret' => $session['secret'], 
    'sig' => $session['sig'], 
    'query' =>$query 

); 



    $url = "https://api.facebook.com/method/fql.query?" . http_build_query($params); 
    $data = simplexml_load_file($url); 

//echo $me; 

pr($data); 
pr($friendsLists); 

    echo '<a href="' . $facebook->getLogoutUrl() . '">Logout</a>'; 
} else { 
    echo '<a href="' . $facebook->getLoginUrl() . '">Login</a>'; 
} 

function pr($atr){ 
    echo "<pre>"; 
    print_r($atr); 
    echo "</pre>"; 
} 
?> 

を、私は以下のように入れて取得しています:

[user] => Array 
(
    [0] => SimpleXMLElement Object 
     (
      [uid] => xxxxxxxxxxxxx 
      [name] => Deepak Rathi 
      [locale] => en_US 
      [email] => SimpleXMLElement Object 
       (
       ) 

      [hometown_location] => SimpleXMLElement Object 
       (
       ) 

     ) 

    [1] => SimpleXMLElement Object 
     (
      [uid] => xxxxxxxxxxxx 
      [name] => Aakriti Rovin Ranu 
      [locale] => en_GB 
      [email] => SimpleXMLElement Object 
       (
       ) 

      [hometown_location] => SimpleXMLElement Object 
       (
       ) 

     ) 
) 

私の問題は "ということですメールと 'hometown_locations'は空です。友人リストに両方の情報が必要です。そこで何をする必要がありますか?何かサポートしてください。 Facebookから返さ

よろしく ディーパック

+2

あなたの 'appId'と' secret'をマスキングすることは良い考えです! – Bartek

答えて

2

データはXML、私はあなたのコードを調整示唆JSONエンコードではありません。

質問について - これらのフィールドは空ではなく、SimpleXMLElementオブジェクトです。次の作業を知るには、http://php.net/manual/en/class.simplexmlelement.phpをお読みください。

関連する問題