2011-02-07 9 views
8

私は、このURLのFacebookアルバムを取得するiPhoneアプリケーションを開発中ですhttps://graph.facebook.com/me/albums?access_token=2227470867|2.ZJr73vaEvFeN4fI_A70RFw__.3600.1297090800-100000566543036|WmgxdwULBgKXl8J7ksGIA1tyGikiPhone SDKのFacebookブックアルバムの写真を取得するには?

今、このアルバムから写真を取得したいと思います。

いずれかのアイデアが評価されます。

ありがとうございました。

+0

http://stackoverflow.com/questions/30207465/ios-facebook-album-写真ピッカー/ 31789234#31789234 –

答えて

13

So/me/albumsは、それぞれidを持つAlbum objectsの配列を返します。

アルバムは99394368305のIDを持っていた場合、あなたはphoto objectsの配列を取得するために

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

に行くことができます。

これらはそれぞれ、picturesourceのプロパティを持ち、Facebookから画像データを取得します。

オリジナルだけでなくプレスケール画像を表示する場合は、すべてimagesアレイになります。


すべてのfacebookクエリでJSONが返されます。これを解析する方法はわかっていますか?

+0

ありがとう、それは私を助けます。 – Apekshit

+0

この質問に答えてください。 http://stackoverflow.com/questions/4957260/how-to-comment-or-like-a-photo-in-facebook-through-fbconnect-or-graph-api-in-ipho – Apekshit

+1

@視聴者の回答が見えるスポットすでにon :) – deanWombourne

3

以下の手順で時間がかかります。

1)を使用して、友人のUIDを取得:

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

2)に置くの友人がアルバムIDを取得するためにuidを:

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)そのアルバムから画像を取得するためにアルバムIDを入れて:

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"]; 

時間を節約するために、単一のステップで大きなサイズのプロフィール画像を取得するための他の方法を教えてください。

+0

しかし、私はそれを立てていません。この3つの方法のうち、どこに置くか?私はイオスで初心者です。だからplzは私を適切に導く。 – Raju

3

下記のコードはあなたのために適切な仕事をするはずです。ログインしたユーザーのアルバムを取得し、このアルバムの写真をリクエストします。コメントがある場所では、すべての写真にアクセスできます。詳細情報については、あなたは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 
      }]; 
     } 
    } 

}]; 
+0

これは、ドキュメントのリンクをクリックすると、古くからFacebookの開発者によって非難されています。したがって、私はそれらの下に新しいコードを追加しています。 – karan

0

Facebookの開発者が新しいコード:

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

Latest Facebook Graph API docs

関連する問題