【发布时间】:2014-12-30 09:56:44
【问题描述】:
根据我所能做的大量研究,我尝试使用以下方法发布 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
)
这些是我的观察:
- 如果我向https://graph-video.facebook.com/me/videos 发帖,它总是会返回具有根对象/me/videos 的ID 的通用答案。 id 始终为 10150481253673034。
- 如果发布给我/视频,则会收到错误消息“(#352) 抱歉,您选择的视频文件格式我们不支持。”
- 我使用了描述而不是消息,并且我还使用了标题。
- 我使用了@"video.mov" 而不是@"source",
- 我使用过@"contentType",虽然有些答案是@"content-Type"。我尝试了这两种选择。
- 然后一些答案将@“ContentType”作为@“multipart/formdata”,而其他答案将其作为@“video/quicktime”。我都试过了,结果没有区别。
我阅读了 Facebook 头文件中的文档,它说如果您提供 NSData 作为参数,它将作为 HTTP 附件发送,因此它不会作为多部分数据发送。如果我自己组装 HTTP 正文,则没有 API 可以使用预先组装的 HTTP 正文生成 FBRequest。
我所做的任何事情都不会让我返回一个新上传视频的 ID。如果有人可以提供帮助,那就太好了。谢谢,
【问题讨论】:
标签: ios facebook facebook-graph-api