8 Stimmen

Wie erhalte ich Fotos aus einem Facebook-Album im iPhone SDK?

Ich bin die Entwicklung einer iPhone-Anwendung, die Facebook-Album mit dieser URL erhalten https://graph.facebook.com/me/albums?access_token=2227470867|2.ZJr73vaEvFeN4fI_A70RFw__.3600.1297090800-100000566543036|WmgxdwULBgKXl8J7ksGIA1tyGik

Jetzt möchte ich Fotos aus diesem Album abrufen.

Für jede Idee sind wir dankbar.

Vielen Dank im Voraus.

13voto

deanWombourne Punkte 37656

So gibt /me/albums ein Array von Album-Objekte , die jeweils eine id .

Wenn ein Album eine ID von 99394368305 hatte, können Sie zu

https://graph.facebook.com/99394368305/photos

um ein Array von Fotoobjekte .

Jeder von ihnen hat die picture y source Eigenschaften, um die Bilddaten von Facebook zu erhalten.

Sie werden alle einen images Array, wenn Sie vorskalierte Bilder anstelle der Originale wünschen.


Alle Facebook-Abfragen geben JSON zurück - ich gehe davon aus, dass Sie wissen, wie man das parst?

3voto

Engr Irfan Ali Punkte 73

Die folgenden Schritte sind sehr zeitaufwendig;

1) Erhalte die UID eines Freundes mit :

NSString *urlString=[NSString stringWithFormat:@"https://graph.facebook.com/me/friends?access_token=%@&fields=id,picture,name,birthday",fbGraph.accessToken];

2) Geben Sie friends uid ein, um die Album-ID zu erhalten:

NSString *urlString1=[NSString stringWithFormat:@"https://graph.facebook.com/%@/albums?access_token=%@",obj.uid,fbGraph.accessToken];

NSString *album = [[[_response1 objectForKey:@"data"]objectAtIndex:j]objectForKey:@"name"];

if ([album isEqualToString:@"Profile Pictures"]) 
{
      albumid = [[[_response1 objectForKey:@"data"]objectAtIndex:j]objectForKey:@"id"];
}

3) Geben Sie dann die Album-ID ein, um das Bild aus diesem Album zu erhalten:

NSString *albumUrl=[NSString stringWithFormat:@"https://graph.facebook.com/%@/photos?type=album&access_token=%@",albumid,fbGraph.accessToken];

 NSString *picUrl=[[[[[_response2 objectForKey:@"data"]objectAtIndex:0]objectForKey:@"images"]objectAtIndex:0]objectForKey:@"source"];

Nennen Sie mir bitte eine andere Methode, um ein großes Profilbild in einem einzigen Schritt zu erhalten, um Zeit zu sparen.

3voto

Julian Punkte 9109

Der unten stehende Code sollte die richtige Aufgabe für Sie erledigen. Er holt die Alben des angemeldeten Benutzers und fragt dann nach Fotos aus diesen Alben. An der Stelle, wo ein Kommentar steht, haben Sie Zugriff auf alle Fotos. Für weitere Informationen können Sie nachlesen docs :

FBRequest *request = [FBRequest requestForGraphPath:@"me/albums"];
[request startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary <FBGraphUser> *my, NSError *error) {
    if ([my[@"data"]count]) {
        for (FBGraphObject *obj in my[@"data"]) {
            FBRequest *r = [FBRequest requestForGraphPath:[NSString stringWithFormat:@"/%@/photos", obj[@"id"]]];
            [r startWithCompletionHandler:^(FBRequestConnection *c, NSDictionary <FBGraphUser> *m, NSError *err) {
                //here you will get pictures for each album
            }];
        }
    }

}];

0voto

karan Punkte 3279

Facebook-Entwickler neuer Code:

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{user-id}"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Neueste Facebook Graph API-Dokumente

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X