2010-08-02 17 views
5

मैं अपने आईफोन ऐप पर फेसबुक कनेक्ट को कार्यान्वित करने में कामयाब रहा और उपयोगकर्ता को ऐप के माध्यम से स्टेटस अपडेट अपलोड करने की इजाजत दी। अब मैं कैप्शन या स्टेटस अपडेट के साथ फोटो अपलोड करने की अनुमति देने के लिए एक सुविधा शामिल करना चाहता हूं। क्या किसी के लिए प्रासंगिक कोड पता है?आईफोन ऐप पर फेसबुक पर कैप्शन या स्टेटस के साथ फोटो अपलोड करना

मुझे लगता है कि मुझे फोटो का उपयोग करना होगा। एफबी में अपलोड एपीआई लेकिन मुझे यकीन नहीं है कि कैसे। फेसबुक प्रलेखन सभी आईफोन विकास के लिए कोई विशिष्ट कोड के साथ बहुत सामान्य लगता है। किसी भी सहायता या नमूना कोड की सराहना की जाएगी।

उत्तर

10

यह निम्नलिखित स्निपेट facebook-ios-sdk से लिया गया है। अपने वर्ग पहले से ही एक फेसबुक वस्तु मानते हुए है, इस विधि किसी URL से एक तस्वीर अपलोड करेंगे (आवश्यकतानुसार परिवर्तन):

-(IBAction) uploadPhoto: (id)sender { 
    NSString *path = @"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg"; 
    NSURL *url = [NSURL URLWithString:path]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 
    UIImage *img = [[UIImage alloc] initWithData:data]; 

    NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            img, @"picture", 
            nil]; 
    [facebook requestWithMethodName: @"photos.upload" 
         andParams: params 
        andHttpMethod: @"POST" 
         andDelegate: self]; 
    [img release]; 
} 

आदेश में आप बाद "संदेश" पैरामीटर कुंजी जोड़ना होगा तस्वीर के साथ एक शीर्षक भेजने के लिए कैप्शन टेक्स्ट द्वारा। नीचे की तरह params बदलने इस लक्ष्य को हासिल करना चाहिए:

NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           img, @"picture", 
       @"my photo's caption text here.", @"message" 
           nil]; 
+0

मैं फेसबुक से नमूना कोड का उपयोग करने में कठिनाइयों का हो रहा है। मुझे लगातार एक त्रुटि कोड मिलता है ऑपरेशन पूरा नहीं हो सका। (FacebookErrDomain त्रुटि 101.) "UserInfo = 0x4b46da0 {request_args = ( { कुंजी = विधि; value =" photos.upload "; }, { कुंजी = एसडीके; मूल्य = ios; } { key = "sdk_version"; मूल्य = 2; }, { कुंजी = प्रारूप; मूल्य = json;? } ), ERROR_MSG = अमान्य API कुंजी, error_code त्रुटि = 101} किसी को भी कुछ प्रकाश डाला सकता है – Anthony

+1

मेरा पहला विचार यह सुनिश्चित करना है कि जब लॉगिन होता है, तो वह @ "publ_stream "अनुरोधित अनुमतियों में से एक है जो आपको उपयोगकर्ता को प्रकाशित करने की इजाजत देता है। दुर्भाग्य से केवल github उदाहरण में है: _permissions = [[NSArray arrayWithObjects: @ "read_stream", @ "offline_access", nil] बनाए रखें]; @ "Publ_stream" जोड़ें और इसे काम करना चाहिए। – dredful

+0

कोड साझा करने के लिए बहुत बहुत धन्यवाद। यह वास्तव में मुझे बहुत मदद करता है ... मुझे सामना करने वाली एकमात्र समस्या यह है कि मेरा कैप्शन अपलोड नहीं किया जा रहा है। मैं आपके द्वारा उल्लेखित वही कोड का उपयोग कर रहा हूं लेकिन कैप्शन फ़ील्ड में अपलोड नहीं किया जा रहा है। – Tobias

0

आप इस प्रकार आईओएस फेसबुक एसडीके का उपयोग करके फोटो अपलोड कर सकते हैं:

FBSDKSharePhoto *photo=[[FBSDKSharePhoto alloc]init]; 
    photo.image=slideImage; 

    FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init]; 
    content.photos = @[photo]; 

    [FBSDKShareDialog showFromViewController:self withContent:content delegate:self]; 

This works only if you configure iPhone Facebook settings. 
संबंधित मुद्दे