2012-05-31 17 views
8
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           photoDescription, @"message", 
           image, @"image", 
           nil]; 


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

फेसबुक पर एक छवि अपलोड करने के लिए मैंने यही किया। छवि को सफलतापूर्वक फेसबुक 'फोटो' पर अपलोड किया गया है। लेकिन मैं छवि को अपने फेसबुक फ़ीड पर पोस्ट करना चाहता हूं। तो मैंने कोशिश की,फेसबुक पर आईफोन पोस्ट छवियां

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

लेकिन यह अभी भी छवियों को 'फोटो' पर पोस्ट किया गया है। यह फ़ीड में यह मौजूद नहीं ...

मैं खोज की है और एक समाधान के लिए विभिन्न तरीकों का इस्तेमाल किया है, लेकिन मैं कुछ भी उपयोगी नहीं मिला ...

उत्तर

1

सुनिश्चित नहीं हैं कि अपने params कैसा दिखता है, लेकिन यह कोशिश ..

UIImage *image = ...// some image. 

NSData *imageData= UIImagePNGRepresentation(image); 

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
          @"some message", @"message", imageData,@"source", nil]; 

[facebook dialog:@"feed" andParams:params andDelegate:self]; 
+0

मेरा मानना ​​है कि इस प्रश्न में समाधान के रूप में एक ही है। दूसरे शब्दों में यह केवल समाचार फ़ीड के लिए उपयोगकर्ताओं की समय रेखा पर पोस्ट करेगा। –

+0

ने फेसबुक के संवाद विधि का उपयोग करने के लिए मेरा जवाब संपादित किया, न कि ग्राफ़ अनुरोध। अभी परीक्षण नहीं कर सकता है, लेकिन उम्मीद है कि यह जवाब – skram

+0

है मैंने अभी आपके समाधान की कोशिश की है, लेकिन इसने छवि को फेसबुक पर बिल्कुल पोस्ट नहीं किया है। मैंने सोचा कि 'फीड' संवाद भी सही होगा। मैंने 'me/feed' भी कोशिश की है जो या तो काम नहीं करता है। –

0
UIImage* image=...; 
if ([FBSession.activeSession.permissions 
     indexOfObject:@"publish_actions"] == NSNotFound) { 

     NSArray *permissions = 
     [NSArray arrayWithObjects:@"publish_actions",@"publish_stream", nil]; 
     [[FBSession activeSession] requestNewPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceFriends 
               completionHandler:^(FBSession *session, NSError *error) {}]; 
    } 
    else 
    { 
    NSMutableDictionary* params = [[NSMutableDictionary alloc] init]; 
    [params setObject:@"Photo post test..." forKey:@"message"]; 
    [params setObject:UIImagePNGRepresentation(image) forKey:@"picture"]; 
    //for not allowing multiple hits 

     [FBRequestConnection startWithGraphPath:@"me/photos" 
           parameters:params 
           HTTPMethod:@"POST" 
          completionHandler:^(FBRequestConnection *connection, 
               id result, 
               NSError *error) 
    { 
     if (error) 
     { 
      //showing an alert for failure 
      UIAlertView *alertView = [[UIAlertView alloc] 
             initWithTitle:@"Post Failed" 
             message:error.localizedDescription 
             delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil]; 
      [alertView show]; 

     } 
     else 
     { 
      //showing an alert for success 
      UIAlertView *alertView = [[UIAlertView alloc] 
             initWithTitle:@"Post success" 
             message:@"Shared the photo successfully" 
             delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil]; 
      [alertView show]; 

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