2010-11-23 19 views
9

के साथ फेसबुक प्रशंसक पृष्ठ पर फोटो पोस्ट करना मैं आईओएस एसडीके और ग्राफ एपीआई का उपयोग कर अपने फेसबुक पेज पर एक फोटो अपलोड करने की कोशिश कर रहा हूं। मैं अपनी दीवार पर फोटो अपलोड करने में सक्षम हूं। मैं अपने प्रशंसक पृष्ठ की दीवार पर एक व्यवस्थापक के रूप में एक संदेश पोस्ट करने और अपने प्रशंसक पृष्ठ पर एक एल्बम पोस्ट करने में सक्षम हूं, इसलिए मुझे लगता है कि मैं सही कॉल कर रहा हूं, लेकिन सफल नहीं हूं।आईओएस एसडीके

यही वह है जो मैं वर्तमान में कर रहा हूं।

मैं

Facebook *fb = [[Facebook alloc] init]; 
self.facebook = fb; 
[fb release]; 
NSArray *permissions = [[NSArray arrayWithObjects:@"read_stream", @"offline_access", @"publish_stream", @"manage_pages", @"user_photos", @"friends_photos",nil] retain]; 
[facebook authorize:FB_APP_ID permissions:permissions delegate:self]; 
[permissions release]; 

का उपयोग करके प्रवेश कर रहा हूँ के बाद मैं में प्रवेश करें, मैं खातों

[facebook requestWithGraphPath:@"/me/accounts" andDelegate:self]; 

खातों प्रत्येक पृष्ठ और एप्लिकेशन मैं खुद के लिए पहुंच टोकन के साथ मेरे लिए वापस आ रहे हैं अनुरोध करते हैं। मैं उस पृष्ठ के लिए आपूर्ति किए गए access_token के अतिरिक्त खातों के माध्यम से विश्लेषण करने के लिए एक साधारण पाश का उपयोग करता हूं, जिसे मैं एक फोटो अपलोड करना चाहता हूं।

फिर मैंने अपने फेसबुक ऑब्जेक्ट की पहुंच एक्सेस को नए access_token पर सेट किया।

facebook.accessToken = new_accessToken; 

और कोशिश करते हैं और

UIImage *uploadImage = [UIImage imageNamed:@"t200.jpg"]; 
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
       uploadImage, @"source", 
      @"test caption", @"message",    
      nil]; 


[facebook requestWithGraphPath:@"/me/photos" andParams:params 
     andHttpMethod:@"POST" andDelegate:self]; 

प्रतिक्रिया मैं प्राप्त है

 
{"error":{"type":"OAuthException","message":"(#1) An unknown error occurred"}} 

इस फेसबुक ग्राफ एपीआई में एक बग है का उपयोग कर एक तस्वीर मेरी प्रशंसक पृष्ठ अपलोड? मैंने मानक एचटीटीपीएस अनुरोधों का उपयोग करके इस कॉल को बनाने का भी प्रयास किया, और एक ही परिणाम प्राप्त किया।

उत्तर

0

इस बारे में निश्चित नहीं है क्योंकि मैं एफबी आईओएस एकीकरण के लिए काफी नया हूं लेकिन मुझे लगता है कि आपको मुझे/फोटो का उपयोग नहीं करना चाहिए, लेकिन xyz/photos जहां xyz उस पृष्ठ की आईडी है जिसे आप पोस्ट करना चाहते हैं।

+0

मैंने इसे पेज आईडी के साथ आजमाया है लेकिन फिर भी यह काम नहीं करता है। मेरा उपयोग करना सही लगता है क्योंकि जब आप एक्सेस टोकन बदलते हैं, तो आप क्या एक्सेस करते हैं। तो मैं आपके प्रशंसक पृष्ठ तक पहुंचता हूं। – leo83

1

पुरानी खबरें लेकिन ... प्रशंसक पृष्ठ भाग के बारे में निश्चित नहीं है लेकिन आपको "/ me/photos" के बाद "? Access_token = ..." जोड़ने की आवश्यकता है या जो भी आप भूतकाल प्राप्त करने के लिए ग्राफ एपीआई के लिए उपयोग कर रहे हैं अज्ञात त्रुटि फेसबुक एसडीके स्वचालित रूप से एक्सेस टोकन नहीं जोड़ता है, इसलिए आपको इसे स्वयं करना होगा।

[फेसबुक अनुरोध विथग्राफपाथ: [एनएसएसटींग स्ट्रिंगविथफॉर्मैट: @ "/ मुझे/फोटो? Access_token =% @", facebook.access टोकन] और पैराम्स: पैराम्स और एचटीपीएम विधि: @ "पोस्ट" और डिलीगेट: स्वयं];

+0

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

4

अटेर सफलतापूर्वक फेसबुक के लिए लॉग इन, आप का अनुरोध करके सूची Fanpage प्राप्त कर सकते हैं @ "/ मुझे/खातों" और आप चाहते हैं प्रशंसक पृष्ठ पर पुनरावृति और @"/FBFanPageID?fields=access_token"

यह accessToken करने के लिए अनुरोध के माध्यम से अपने accessToken का अनुरोध से अलग है आपका facebook.accesstoken।

Fanpage accessToken मिलने के बाद,

[_facebook setAccessToken:_accessTokenForFanPage]; द्वारा फेसबुक accessToken के रूप में सेट // इस एनईसीसी कदम

अब है आप @"/FBFanPageID/albums"

द्वारा @"/FBFanPageID/photos"

अनुरोध Fanpage एलबम द्वारा Fanpage दीवार पर अपलोड कर सकते

@"/AlbumsID/photos"

द्वारा विशेष एल्बम पर अपलोड करें

इन छवियों को अपलोड करने के लिए पैरामबर्ग शब्दकोश का उपयोग किया जाएगा।

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: IMAGE,@"source", IMAGECAPTION,@"message",
nil];

1

मैं बहुत समान कोड है और यह काम करता है, केवल बात यह है कि थोड़ा अलग है मैं AppDelegate में फेसबुक उदाहरण बनाने है ..

QRSMAppDelegate * प्रतिनिधि = (QRSMAppDelegate *) [[ UIAplplication साझा आवेदन] प्रतिनिधि];

if (![[delegate facebook] isSessionValid]) { 
    [[delegate facebook] authorize:permissions]; 

आपकी तरह मैंने शुरुआत में दृश्य नियंत्रक में फेसबुक इंस्टेंस बनाया और मैं बहुत सारी अजीब त्रुटियों के साथ बाहर आया। मुद्दा (मुझे बाद में पता चला) है ... फेसबुक फेसबुक क्लास इंस्टेंस में यूआरएल पास करके और ऐप के एकमात्र एंट्री पॉइंट के बाहर से ऐप प्रतिनिधि है। (फेसबुक एसडीके नमूना ऐप हैकबुक की जांच करें)!

- (bool) आवेदन: (UIApplication *) आवेदन openURL: (NSURL *) यूआरएल sourceApplication: (NSString *) sourceApplication एनोटेशन: (आईडी) एनोटेशन {

BOOL ret = [facebook handleOpenURL:url]; 

.... वापसी (ret); }

मुद्दा निश्चित रूप से यहाँ क्या हुआ अगर मैं सिर्फ अपने एप्लिकेशन और मील की दूरी पर एप्लिकेशन प्रतिनिधि से दूर के एक छोटे से हिस्से में फेसबुक का उपयोग (फेसबुक इन्स्टेन्शियशन प्रतिनिधि घोषित करने के लिए आप की आवश्यकता है!

चेहरे के बजाय समान रूप से यूआरएल को पार करने में जटिल मुद्दे, ऐप प्रतिनिधि में व्यू कंट्रोलर (फेसबुक प्रतिनिधि) को आवंटित करना वास्तव में आसान था और इसे दृश्य पदानुक्रम पास कर दिया गया।

0

आप अपने प्रशंसक पृष्ठ पर एक ईमेल भेज सकते हैं और प्राप्त कर सकते हैं संलग्न तस्वीर को दिखाने के लिए जैसे व्यवस्थापक ने इसे पोस्ट किया।

अपने प्रशंसक पृष्ठ पर, पृष्ठ को संपादित करना चुनें और फिर मोबाइल चुनें। मोबाइल पेज पर फेसबुक आपको एक ईमेल पता दिखाएगा जिसका उपयोग आप अपने प्रशंसक पृष्ठ पर पोस्ट करने के लिए कर सकते हैं।

आईओएस में मैं http://code.google.com/p/skpsmtpmessage/ का उपयोग ईमेल

आप इस का उपयोग करना होगा ...

SVN चेकआउट भेजने के लिए http://skpsmtpmessage.googlecode.com/svn/trunk/ skpsmtpmessage-रीड-ओनली

कोड

डॉन डाउनलोड करने के लिए विषय पंक्ति में कुछ के अलावा ईमेल में कोई भी पाठ शामिल नहीं है। अन्यथा यह पोस्ट नहीं करेगा।

संबंधित मुद्दे