2012-10-28 15 views
5

मैं iPad के लिए iOS ऐप विकसित कर रहा हूं। मैंने InstagramAPI लागू किया है, इसलिए मैं उपयोगकर्ता से फ़ोटो प्राप्त और उपयोग कर सकता हूं। क्या मैं वही कर सकता हूं लेकिन फेसबुक के साथ? क्या उपयोगकर्ताओं की तस्वीरों तक पहुंचने का कोई तरीका है? धन्यवादआईओएस ऐप में फेसबुक से छवियां प्राप्त करें और दिखाएं

उत्तर

8

ग्राफ एपीआई वह जगह है जहां आप देखना चाहते हैं कि आप कौन सी डेटा खोज रहे हैं। उपयोगकर्ता फ़ोटो के लिए, बाहर की जाँच: एलबम्स उपयोगकर्ता बनाया गया है - https://developers.facebook.com/docs/reference/api/photo/

मैं ग्राफ़ एपीआई एक्सप्लोरर का उपयोग कर विभिन्न प्रश्नों प्रयास करने की अनुशंसा - https://developers.facebook.com/docs/reference/api/user/ जानकारी एक तस्वीर के बारे में: https://developers.facebook.com/tools/explorer पहले सुनिश्चित करें कि आप user_photos अनुमति के लिए पूछ कर क्वेरी में मुझे/एल्बम दर्ज करना आपको लॉग इन उपयोगकर्ता के लिए एल्बमों की एक सूची देता है। उस एल्बम की जानकारी देखने के लिए परिणामों में किसी एल्बम की आईडी पर क्लिक करें। उस एल्बम के लिए फोटो देखने के लिए/फोटो दर्ज करें।

एक बार जब आप जानते हैं कि आप क्या चाहते हैं तो आप आईओएस एसडीके को देख सकते हैं जो ग्राफ़ एपीआई और अन्य एपीआई के शीर्ष पर बनाए गए हैं ताकि आप प्रमाणीकृत हो सकें और तस्वीरों को पकड़ने के लिए अपनी रुचि के लिए।

iOS SDK जानकारी के लिए अनुरोध करने पर, देखें: https://developers.facebook.com/docs/reference/ios/3.1/class/FBRequestConnection#startWithGraphPath%3AcompletionHandler%3A

तो अगर आप एक एल्बम के लिए तस्वीरें देखने के लिए कहते हैं, एक album_id दिया चाहते हैं, आप की तरह अनुरोध कोड का प्रयोग करेंगे:

[FBRequestConnection startWithGraphPath:@"<album_id>/photos" 
    completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
     if (!error) { 
      NSLog("Results: %@", result); 
     } 
    } 
]; 

सुनिश्चित करें कि आपने पहले user_photos अनुमतियों के लिए कहा है।

0
- (IBAction)btnFBTap:(id)sender { 
    [FBSDKProfile enableUpdatesOnAccessTokenChange:YES]; 
    if ([FBSDKAccessToken currentAccessToken]) { 
     [self FBLogin]; 
    } else { 

     FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
     [login 
     logInWithReadPermissions: @[@"public_profile", @"user_photos"] 
     fromViewController:self 
     handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
      if (error) { 
       // Process error 
      } else if (result.isCancelled) { 
       // Handle cancellations 
      } else { 
       [self FBLogin]; 
       // If you ask for multiple permissions at once, you 
       // should check if specific permissions missing 
      } 
     }]; 
    } 
} 

- (void)FBLogin { 

    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" 
             parameters:@{@"fields":@"id"}] 
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
     [[MDManager sharedInstance].loadingView hide]; 
     if (!error) { 
      NSLog(@"fetched user:%@", result); 

      // For more complex open graph stories, use `FBSDKShareAPI` 
      // with `FBSDKShareOpenGraphContent` 
      /* make the API call */ 
      FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
              initWithGraphPath:[NSString stringWithFormat:@"/%@/photos", result[@"id"]] 
              parameters:@{@"type":@"uploaded", 
                 @"fields":@"link,height,width"} 
              HTTPMethod:@"GET"]; 
      [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, 
                id result, 
                NSError *error) { 
       NSLog(@"%@",result); // Return uploaded photos 

      }]; 
     } 
    }]; 
} 
संबंधित मुद्दे