2011-01-06 3 views
0

Bitte siehe dazu weiter unten PHP-Code:Wie holt aus Orten und E-Mail in Freundesliste von facebook api mit

<?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>"; 
} 
?> 

Ich erhalte wie unten setzen:

[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 
       (
       ) 

     ) 
) 

Mein Problem ist, dass ' email 'und' hometown_locations 'ist hier leer.Ich brauche beide Informationen in der Freundesliste.Was muss ich tun ..? Bitte geben Sie keine Unterstützung.

Grüße Deepak

+2

Ihre "appId" und das "Geheimnis" zu maskieren wäre eine gute Idee! – Bartek

Antwort

2

Daten zurückgegeben von Facebook ist json codiert, nicht XML so empfehle ich Ihnen, Ihren Code anzupassen.

Über Ihre Frage - diese Felder sind nicht leer, sie sind SimpleXMLElement Objekte. Lesen Sie diese http://php.net/manual/en/class.simplexmlelement.php, um zu erfahren, was als nächstes zu tun ist.

Verwandte Themen