it-swarm.com.de

Liste der Facebook-Freunde mit der neuesten API abrufen

Ich verwende die aktuellste Version des Facebook SDK (die eine Verbindung zu einer sogenannten "Diagramm-API" ermöglicht, obwohl ich nicht sicher bin). Ich habe den Beispielcode von Facebook angepasst, damit ich eine Verbindung zu Facebook herstellen kann. Das funktioniert ... aber ich kann keine Liste meiner Freunde erhalten.

$friends = $facebook->api('friends.get');

Die folgende Fehlermeldung wird angezeigt: "Schwerwiegender Fehler: Nicht erfasste OAuthException: (# 803) Einige der angeforderten Aliase sind nicht vorhanden: friends.get in /mycode/facebook.php in Zeile 543"

Keine Ahnung, warum das so ist oder was das bedeutet. Kann mir jemand die richtige Syntax mitteilen (für die neueste Facebook-API), um eine Liste von Freunden zu erhalten? (Ich habe versucht, "$ friends = $ facebook-> api-> friends_get ();" und bekomme einen anderen Fehler.) Zeile 129 ".)

Ich kann bestätigen, dass VOR diesem Punkt in meinem Code die Dinge in Ordnung sind: Ich bin mit einer gültigen Sitzung mit Facebook verbunden, und ich kann meine Informationen abrufen und sie einfach auf den Bildschirm laden ... dh dieser Code wird vor den ausgefallenen Freunden einwandfrei ausgeführt get Aufruf:

$session = $facebook->getSession();
if ($session) {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
}
print_r($me);
25
Eric

Ich denke, das ist es was du willst:

$friends = $facebook->api('/me/friends');
58
nfvs

Dies ist eine Live-Version von PHP Code, um Ihre Freunde von Facebook zu erhalten

<?php
    $user = $facebook->getUser();


    if ($user) {
        $user_profile = $facebook->api('/me');
        $friends = $facebook->api('/me/friends');

        echo '<ul>';
        foreach ($friends["data"] as $value) {
            echo '<li>';
            echo '<div class="pic">';
            echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture"/>';
            echo '</div>';
            echo '<div class="picName">'.$value["name"].'</div>'; 
            echo '</li>';
        }
        echo '</ul>';
    }
?>
23
Yash Kumar

Freunde wie @nfvs zu beschreiben ist ein guter Weg. Es gibt ein multidimensionales Array mit allen Freunden mit den Attributen id und name (geordnet nach id) aus. Sie können die Freundfotos so sehen:

foreach ($friends as $key=>$value) {
    echo count($value) . ' Friends';
    echo '<hr />';
    echo '<ul id="friends">';
    foreach ($value as $fkey=>$fvalue) {
        echo '<li><img src="https://graph.facebook.com/' . $fvalue->id . '/picture" title="' . $fvalue->name . '"/></li>';
    }
    echo '</ul>';
}
12
geoffa

Nur ein Katzensprung für alle, die diese Frage mit Version 2.0 der Graph-API stolpern: Dies wird nicht mehr funktionieren. In Version 2.0 gibt der Aufruf von/me/friends nur eine Liste der Freunde der Person zurück, die auch die App verwenden :

  • Ein Benutzerzugriffstoken mit der Berechtigung user_friends ist erforderlich, um die Freunde der aktuellen Person anzuzeigen.
  • Dies gibt nur Freunde zurück, die (über Facebook Login) die App verwendet haben, die die Anfrage gestellt hat.
  • Wenn ein Freund der Person die Berechtigung user_friends ablehnt, wird dieser Freund nicht in der Freundesliste dieser Person angezeigt.
7

Wenn Sie den Endpunkt REST verwenden möchten,

$friends = $facebook->api(array('method' => 'friends.get'));

wenn Sie die Graph-API verwenden, verwenden Sie

$friends = $facebook->api('/me/friends');
3
rampr

in der aktuellen Version von Facebook SDK hat Facebook die Funktion deaktiviert, mit der Sie aus Sicherheitsgründen auf eine Freundesliste zugreifen können. Weitere Informationen finden Sie in der Dokumentation.

3
user2244112

Verwenden Sie stattdessen FQL, es ist wie SQL, aber für die Datentabellen von Facebook und deckt problemlos die Datenabfrage ab, die Sie erstellen möchten .. Sie müssen nicht alle diese Aufrufe/xx/xxx/xx verwenden und Spalten, in denen Sie interesettiert sind.

$myQuery = "SELECT uid2 FROM friend WHERE uid1=me()";
$facebook->api( "/fql?q=" . urlencode($myQuery) )

Große interaktive Beispiele unter http://developers.facebook.com/docs/reference/fql/

2
Michael Vain

Verwenden von CodeIgniter OAuth2/0.4.0-Funken

in Auth.php-Datei,

$user = $provider->get_user_info($token);

$friends = $provider->get_friends_list($token);
print_r($friends);

und fügen Sie in der Datei "Facebook.php" unter "Provider" die folgende Funktion hinzu:

    public function get_friends_list(OAuth2_Token_Access $token)
    {
            $url = 'https://graph.facebook.com/me/friends?'.http_build_query(array(
                    'access_token' => $token->access_token,
            ));
            $friends = json_decode(file_get_contents($url),TRUE);

            return $friends;
    }

prints the facebenter code hereook friends.
0
ShivarajRH
friends.get

Funktion, um eine Liste von Freunden zu erhalten

Und das ist am besten 

    $friends = $facebook->api('/me/friends');

    echo '<ul>';
    foreach ($friends["data"] as $value) {
        echo '<li>';
        echo '<div class="pic">';
        echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture"/>';
        echo '</div>';
        echo '<div class="picName">'.$value["name"].'</div>'; 
        echo '</li>';
    }
    echo '</ul>';
0
Deepak Kumar