Wie bekomme ich alle Freunde Name, ID, Geburtstag, Ort, etc .. von Facebook API in Android?

Mögliche Duplikat:
Wie bekomme ich die Geburtstagskarte des Freundes mit facebook api?

Ich möchte die Liste anzeigen, die Informationen wie Name, ID, Geburtstag, Standort von Facebook in Android-Anwendung enthält.

  • Verstecken von Gegenständen in der Listenansicht
  • Java-Klasse, Arraylist mit mehreren Typen
  • Wie ändere ich die Farbe des Textes in TextView auf hover wie in css?
  • Wie implementiere ich eine SQLite-Datenbank in Phonegap?
  • Verarbeiten mehr als eine Taste klicken Sie auf Android Widget
  • Wie kann ich verhindern, dass ein EditText sich selbst verändert, wenn der Benutzer eintippt?
  • Ich bin erfolgreich in der Arbeit, obwohl der folgende Code, den ich den Namen des Freundes und die ID bekommen habe

    Bundle parameters = new Bundle(); mAccessToken = facebook.getAccessToken(); try { parameters.putString("format", "json"); parameters.putString(TOKEN, mAccessToken); String url = "https://graph.facebook.com/me/friends"; String response = Util.openUrl(url, "GET", parameters); JSONObject obj = Util.parseJson(response); Log.i("json Response", obj.toString()); JSONArray array = obj.optJSONArray("data"); if (array != null) { for (int i = 0; i < array.length(); i++) { String name = array.getJSONObject(i).getString("name"); String id = array.getJSONObject(i).getString("id"); Log.i(name,id); } } ............ ............ 

    Aber nicht Geburtstag, Ort, etc Felder in json Antwort. Was ist Fehler?

  • Unterschied zwischen SparseArray vs ArrayList?
  • Programmieren Sie den Android API Level eines Gerätes programmgesteuert?
  • Wie kann ich alle Ansichten im Layout deaktivieren?
  • So importiere ich ein Java-Paket in Android Studio
  • Android Studio 2.2. Vorschau 1 Fehler: "Bitte JDK 8 oder neuer verwenden"
  • Espresso - Einstellen eines TextViews mit asynchron geladenen Daten
  • 5 Solutions collect form web for “Wie bekomme ich alle Freunde Name, ID, Geburtstag, Ort, etc .. von Facebook API in Android?”

    Verwenden Sie die FQL-Sprache, um sehr schnell alle Informationen zu erhalten, die Sie wollen:

     $this->api->api(array('method'=>'fql.query','query'=>"SELECT uid,name,first_name,middle_name,last_name,pic_square,hometown_location,current_location,profile_url,email,website FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())")); 

    Für eine Liste aller Tabellen mit ihren entsprechenden Spaltennamen verweise ich auf: Facebook FQL Referenz

    Als ich eine Liste meiner Freunde bekommen wollte und nur auf ihren Namen und ihre Website zu filtern, funktionierte das für mich: https://graph.facebook.com/me/friends?fields=name,website&access_token=someCrazyLongRandomlyGeneratedString

    Scheint, wie du das machen solltest, und du würdest einfach 'name, website' mit 'name, id, birthday, location' ersetzen oder was auch immer du in die Antwort aus der Liste der im User-Objekt enthaltenen Felder bekommen möchtest: http://developers.facebook.com/docs/reference/api/user/ . Ich glaube, id ist automatisch mit der Antwort enthalten, also musst du es nicht wirklich in die Anfrage aufnehmen.

    Die Facebook-API sagt, dass FriendList nur eine id und einen name für jeden Freund enthält.

    Ich habe die Facebook-API nicht benutzt, aber ich denke , dass du dann für jeden Benutzer https://graph.facebook.com/[id] abfragen musst, indem du seine ID wie nötig einsetzt, um alle verfügbaren Informationen zurückzugeben und dann zu analysieren Jeder Benutzer JSON Antwort separat ( ihre Dokumente sind nicht besonders klar).

    Das Abrufen von Namen, ID, Geburtstag und Ort der Freunde eines Benutzers kann mit diesem FQL-Aufruf durchgeführt werden:

     SELECT uid,name, birthday_date, hometown_location FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 

    Auf Android, mit dem Facebook Android SDK, kann dies implementiert werden als:

     String query = "SELECT uid,name,birthday_date, hometown_location FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) (SELECT uid2 FROM friend WHERE uid1=me())" Bundle params = new Bundle(); params.putString("method", "fql.query"); params.putString("query", query); mAsyncFacebookRunner.request(null, params, new FQLRequestListener()) 

    Wo FQLRequestListener RequestListener erweitert hat.

    Sie benötigen diese Berechtigungen:

     friends_birthday friends_hometown 

    Ihr ganz in der Nähe, verwenden Sie diese in der URL, sicher sein, dass Sie die Erlaubnis für friends_birthday und friends_location haben

     String url = "https://graph.facebook.com/me/friends?fields=id,name,birthday,location"; 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.