2011-02-07 2 views
8

이 URL로 페이스 북 앨범을 가져 오는 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- photos picker/31789234 # 31789234 –

답변

13

So/me/albums는 각각 idAlbum objects의 배열을 반환합니다. 앨범은 99,394,368,305의 ID를 가지고 있다면

, 당신은 photo objects의 배열을 얻을 수

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

에 갈 수 있습니다.

각 이미지는 Facebook에서 이미지 데이터를 가져 오는 데 picturesource 속성을 갖습니다.

원본 대신 미리 크기 조정 된 이미지를 원한다면 모두 images 배열이됩니다.


페이 스북 쿼리를 통해 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 가지 방법은 내가 어디에 넣는 지.? 나는 ios에 초보자입니다. 그래서 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

docs 링크를 클릭하면 Facebook 개발자가 구식/비추천입니다. 그러므로 나는 아래에 그것들에 의해 새로운 코드를 추가하고있다. – karan

0

페이스 북 개발자 새로운 코드 :

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

관련 문제