在iphone的facebook墙上分享图片和文字不起作用?

时间:2012-05-07 10:48:49

标签: iphone objective-c ios facebook

你好,伙计们,我想直接在iphone上分享图片并分享文字。 我已经在按钮点击时实现了以下代码,但它什么也没做......

     NSMutableDictionary *variables = [NSMutableDictionary dictionaryWithCapacity:4];

 [variables setObject:[NSString stringWithFormat:@"Hi... Testing APp"] forKey:@"message"];
 [variables setObject:@"http://icon.png" forKey:@"picture"];       //http://tinyurl.com/45xy4kw
 [variables setObject:@"Create post" forKey:@"name"];
 [variables setObject:@"Write description." forKey:@"description"];

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

我正在使用facebook direct api Facebook API

2 个答案:

答案 0 :(得分:2)

使用此代码可以正常工作

-(IBAction)postMeFeedButtonPressed:(id)sender {

    NSMutableDictionary *variables = [NSMutableDictionary dictionaryWithCapacity:8];


    //create a UIImage (you could use the picture album or camera too)
    UIImage *picture = [UIImage imageNamed:@"Icon@2x.png"];

    //create a FbGraphFile object insance and set the picture we wish to publish on it
    FbGraphFile *graph_file = [[FbGraphFile alloc] initWithImage:picture];

    //finally, set the FbGraphFileobject onto our variables dictionary....
    [variables setObject:graph_file forKey:@"file"];

    NSArray *idarry=[[NSArray alloc]initWithArray:Delegate.IdListArray];
    NSLog(@"Delegate array %@",Delegate.IdListArray);

    //NSString *str=[NSString stringWithFormat:@"100001912715296,100001912715296"];
    NSString *str=[idarry componentsJoinedByString:@","];

    NSLog(@"The string contents are %@",str);

   NSString *idstr=[NSString stringWithFormat:@"100002875785051,100001912715296"];

    [variables setObject:idstr forKey:@"tags"];
    [variables setObject:@"110506962309835" forKey:@"place"];

    [variables setObject:@"Hello All my dear friends,I am using MySafety APP" forKey:@"message"];
    [variables setObject:@"http://techilasolutions.com/product.html" forKey:@"link"];
    [variables setObject:@"My Safety" forKey:@"name"];
    [variables setObject:@"http://techilasolutions.com/images/car_tag.png" forKey:@"picture"];
    [variables setObject:@"This is a must have app for all women whether you are a working lady, a house wife or a school going girl.This app lets you save 6 emergency contacts whom you want to alert in case of emergency.Whenever you feel you are in danger, just press the SOS button and it will send sms to your contacts with your current location and a alarm will go on with flashing lights" forKey:@"description"];

    FbGraphResponse *fb_graph_response = [fbGraph doGraphPost:@"me/feed" withPostVars:variables];
    NSLog(@"postMeFeedButtonPressed:  %@", fb_graph_response.htmlResponse);

    //parse our json
    SBJSON *parser = [[SBJSON alloc] init];
    NSDictionary *facebook_response = [parser objectWithString:fb_graph_response.htmlResponse error:nil];
    [parser release];

    //let's save the 'id' Facebook gives us so we can delete it if the user presses the 'delete /me/feed button'
    self.feedPostId = (NSString *)[facebook_response objectForKey:@"id"];
    NSLog(@"feedPostId, %@", feedPostId);
    NSLog(@"Now log into Facebook and look at your profile...");

}

答案 1 :(得分:0)

您可以使用此代码发布图片尝试此代码一次。

-(IBAction)postPictureButtonPressed:(id)sender 
  {
     NSMutableDictionary *variables = [NSMutableDictionary dictionaryWithCapacity:2];

     UIImage *picture = [UIImage imageNamed:@"75x75.png"];

     FbGraphFile *graph_file = [[FbGraphFile alloc] initWithImage:picture];

     [variables setObject:graph_file forKey:@"file"];

     [variables setObject:@"this is a test message: postPictureButtonPressed" forKey:@"message"];

     FbGraphResponse *fb_graph_response = [fbGraph doGraphPost:@"117795728310/photos" withPostVars:variables];
     NSLog(@"postPictureButtonPressed:  %@", fb_graph_response.htmlResponse);

     NSLog(@"Now log into Facebook and look at your profile & photo albums...");

   }