将图像发布到相册中。适用于iOS的Facebook SDK(v4.0.1)

时间:2015-04-07 21:32:44

标签: ios facebook-graph-api

我希望将图片上传到我在Facebook上创建的特定相册。

我有专辑ID。我使用旧的API(https://developers.facebook.com/docs/graph-api/reference/v2.3/album)来做这件事,但我找不到任何方法来使用新API。

我目前正在发布带有

的照片
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
            photo.image = [UIImage imageWithData:attachment.data];
            photo.userGenerated = YES;
            FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
            content.photos = @[photo];
            [FBSDKShareAPI shareWithContent:content delegate:nil];

另外,我想在照片上发布说明。

有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

您必须自己创建FBSDKShareAPI,而不是使用便捷方法。

这对我有用:

FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = [UIImage imageWithData:attachment.data];
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
FBSDKShareAPI *shareObject = [[FBSDKShareAPI alloc] init];
shareObject.shareContent = content;
shareObject.graphNode = [NSString stringWithFormat:@"/%@/photos", FB_ALBUM_ID];
[shareObject share];

其中FB_ALBUM_ID是您要上传的相册的Facebook图表ID。

Swift版本:

let photo = FBSDKSharePhoto()
photo.image = image
photo.isUserGenerated = true

let content = FBSDKSharePhotoContent()
content.photos = [photo]

let shareObject = FBSDKShareAPI()
shareObject.shareContent = content
shareObject.graphNode = String(format:"/%@/photos", facebookAlbumId) 
shareObject.share()

BTW如果您需要委托,可以在shareObject上设置它