| |||||||
Das Thema "Wie rufe ich Facebook Legacy API von Android" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) | ||
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
| Ich habe Facebook SDK auf Android installiert und auch schon ein paar Userdaten vom Graph API gesammelt. Nun möchte ich die Methode friends.getMutualFriends des Legacy API's (Link) verwenden, um die gemeinsamen Freunde zweier FB-User zu bestimmen. Dazu habe ich mir das Android-Tutorial auf FB Docs (Link) angeschaut. Dort steht Folgendes: Zitat:
Code: public static final APP_ID = "asdfasdf";
mFacebook = new Facebook(APP_ID);
mAsyncRunner = new AsyncFacebookRunner(mFacebook);
mAsyncRunner.request("me", new IDRequestListener()); Code: //call the Legacy REST API method friends.getMutualFriends
Bundle parameters = new Bundle();
parameters.putString("friends.getMutualFriends", "auth.expireSession");
String response = request(parameters); Zitat:
Ausserdem: Wie kann ich für die friends.getMutualFriends-Methode Parameter wie targetid und sourceid angeben? | ||
| | |
| | #2 (permalink) |
| Ehren-Mitglied | https://developers.facebook.com/docs/reference/rest/ Lies dir mal ganz oben den ersten Absatz durch.
__________________ CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One Kein Support via PN und E-Mail. Bitte das Forum nutzen. "Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder |
| | |
| | #3 (permalink) | ||
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
| Zitat:
Zitat:
Jah - vielleicht ist's nicht so sinnvoll, aber meine App wird später (von einer anderen Person) auch updated. Sie soll aber mit den jetzt vorhandenen Mitteln (Legacy API) funktionieren können. | ||
| | |
| | #4 (permalink) | |
| Ehren-Mitglied |
Nein, den darunter. (OK, dann ist das halt der zweite Absatz.) Zitat:
__________________ CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One Kein Support via PN und E-Mail. Bitte das Forum nutzen. "Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder | |
| | |
| | #5 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Ok, das habe ich vorhin gelesen. Aber ich habe keine Ahnung wie das in Android realisierbar ist. HTTP requests? Wie baue ich mein access_token im HTTP Request hinein?? |
| | |
| | #6 (permalink) |
| Ehren-Mitglied |
__________________ CyanogenMod 7 Nightly - AmonRa Recovery 2.0 - Nexus One Kein Support via PN und E-Mail. Bitte das Forum nutzen. "Es ist Mode geworden, die Freiheitsrechte des Bürgers in den Mittelpunkt zu stellen." - Siegfried Kauder |
| | |
| Folgender Benutzer bedankt sich bei Kranki für diesen Beitrag: | sem_thesis (14.05.2011) |
| | #7 (permalink) | ||
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
| Zitat: Danke! Jetzt habe ich mal deinen Tutorial befolgt. Damit will ich nun (für den Moment) das Resultat der GET-Abfrage anzeigen lassen. Der Code für die Webservice-Bearbeitung sieht nun folgendermassen aus: Code: public class WebService {
//Bezeichnung der Klasse
private final String TAG = "WebService";
// globale Variable
HttpClient httpClient;
public void getJSONObject(String url) {
httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse response;
try {
response = httpClient.execute(httpGet);
// TODO: HTTP-Status (z.B. 404) in eigener Anwendung verarbeiten.
Log.i(TAG,response.getStatusLine().toString());
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "n");
}
String result=sb.toString();
Log.i(TAG,result);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
} finally {
httpGet.abort();
}
}
public void postJSONObject(String url, JSONObject data, String objectName) {
HttpPost postMethod = new HttpPost(url);
try {
HttpParams params = new BasicHttpParams();
params.setParameter(objectName, data.toString());
postMethod.setParams(params);
httpClient.execute(postMethod);
Log.i(TAG, "Post request, data: " + params.toString());
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
postMethod.abort();
}
}
} Jetzt kommt der Aufruf in der Hauptklasse: Code: WebService s = new WebService();
s.getJSONObject("https://api.facebook.com/method/friends.getMutualFriends?target_uid=504184526&access_token=oauth_access_token"); Ich habe eine beliebige ID aus meiner Freundesliste genommen mit dem ich 2 gemeinsame Freunde habe. Nun wird, wie gewollt, die result variable geloggt. Sie hat folgenden Output: Zitat:
Ist mein Funktionsaufruf falsch geraten??? | ||
| | |
| | #8 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Ich habe mir gerade das Facebook Framework für das Graph API angeschaut. Das Framework macht schon alles (token-bearbeitung, request, etc.). Man muss nur die AsyncFacebookRunner-Klasse aufrufen und ein request("url") mit der richtigen URL schicken. Kann ich dieses Framework nicht direkt auch für das Legacy API nutzen? |
| | |
| | #9 (permalink) |
| Android-Hilfe.de Mitglied Modell: Nexus One Registriert seit: 06.03.2011
Beiträge: 111
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Es kann ja wohl nicht so schwer sein die alte Facebook API zu benutzen. Das Framework com_facebook_android macht das ja schon für die neue Graph API. Muss ich nun also a) ein neues HTTP-Request + HTTP-Get + Tokenverarbeitung Framework erstellen oder b) kann ich einfach meine HTTP-Requests insr alte Framework einbauen oder c) brauche ich gar kein Framework und kann einfach 2-3 Zeilen HTTP-Request-Code einbauen? Ich steh' da echt auf dem Schlauch. Was soll das ganze Facebook-Zeug? Es isch so schlecht dokumentiert... |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Wie kann ich mich bei Facebook ausloggen? | HelloKitty85 | Kommunikation | 8 | 24.06.2011 08:21 |
| [APP] Wie benutze ich die Standard Galerie und Musik App von Android?? | marcel-usedom | Root / Hacking / Modding für Sony Ericsson Xperia X10 | 31 | 22.01.2011 23:41 |
| Wie nutze ich das TTS Feature von Android? | PazzeRo | HTC Wildfire Forum | 4 | 23.11.2010 09:45 |
| Wie update ich die vorinstallierte Facebook App? | mattes_01 | Motorola Milestone Forum | 2 | 29.08.2010 14:04 |
| Project Build Target = API 8 | Auch für API <8 User nutzbar? | koelly | Android App Entwicklung | 2 | 27.05.2010 19:36 |