经过我的研究,我尝试使用以下内容发布Facebook视频:
NSDictionary *params = [ NSDictionary dictionaryWithObjectsAndKeys:
filmData, @"video.mov", // @"source",
@"video/m4v", @"contentType",
@"Figure It!", @"title",
@"Figure It! Film", @"description",
nil
];
/* make the API call */
NSString* graphPath = [ NSString stringWithFormat:@"%@/me/videos", facebook_video_base_url ];
FBRequest *request = [ FBRequest requestWithGraphPath:graphPath
parameters:params
HTTPMethod:@"POST" ];
[ request startWithCompletionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
)
这些是我的观察:
我阅读了Facebook头文件中的文档,它说如果您提供NSData作为参数,它将作为HTTP附件发送,因此它不会作为多部分数据发送。如果我自己组装HTTP主体,则没有API可以使用预先组装的HTTP主体创建FBRequest。
我所做的一切都没有给我一个新上传的视频的ID。如果有人可以提供帮助,那就太好了。谢谢,
答案 0 :(得分:0)
我终于找到了问题所在。
问题是我的会话是在ReadPermissions上打开而不是在PublishPermissions上打开。所以我使用openActiveSessionWithPublishPermissions用@“publish-actions”重新打开了我的FBSession,问题得到了解决。
所以我们可以简单地发布我/视频,而facebook似乎处理得很好。
所以我不需要发布到graph-video.facebook.com,也不需要担心多部分机构。这可能会在以后的某个时候发生变化,因为API要求它,所以那时我必须弄明白。
现在我可以发帖了。