在Facebook墙上张贴图片

时间:2012-07-19 17:31:06

标签: ios facebook

我正试图在我的iPad应用中在Facebook墙上发布图片。但没有任何事情发生,Facebook网站弹出允许它,但图像永远不会发布。这是我的代码:

-(IBAction)facebookButton {
    facebook = [[Facebook alloc] initWithAppId: APP_ID andDelegate:self];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults    objectForKey:@"FBExpirationDateKey"]) {
        facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
        facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
    }

    if (![facebook isSessionValid]) {
        [facebook authorize:nil];
    }

    [facebook authorize:[NSArray arrayWithObjects: @"publish_stream",@"user_photos", nil]];

    UIImage* image = [UIImage imageNamed: @"image.png"];
    NSData* imgData = UIImagePNGRepresentation(image);
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                                             @"Hey", @"message",  //whatever message goes here
                                                             imgData, @"data",   //img is your UIImage
                                                             nil];
    [facebook requestWithGraphPath:@"me/photos"
                                         andParams:params
                                 andHttpMethod:@"POST"
                                     andDelegate:self];
}

1 个答案:

答案 0 :(得分:1)

您已将帖子部分放在fbDidLogin方法中。

此外,这与您的问题完全无关,但是我注意到您发布的代码,您不必将图像转换为NSData,如果您希望可以将UIImage本身放在键下{ {1}}它将被上传。