Eze*_*iel 8 video sdk facebook facebook-graph-api ios
我有一个应用程序,使用Facebook SDK for iOS将本机(MOV文件)视频发布到Facebook.它几个星期前一直没有问题,它开始失败,出现以下错误:
error = {
code = 352;
message = "(#352) Sorry, the video file you selected is in a format that we don't support.";
type = OAuthException;
};
Run Code Online (Sandbox Code Playgroud)
完整的错误字符串是:
Error Domain = com.facebook.sdk Code = 5"无法完成操作.(com.facebook.sdk error 5.)"UserInfo = 0x1ea42880 {com.facebook.sdk:HTTPStatusCode = 400,com.facebook.sdk :ParsedJSONResponseKey = {body = {error = {code = 352; message ="(#352)抱歉,您选择的视频文件采用我们不支持的格式."; type = OAuthException; }; }; 代码= 400; headers =({name ="Access-Control-Allow-Origin"; value ="*";},{name ="Cache-Control"; value ="no-store";},{name = Connection; value = close;},{name =" Content-Type"; value ="text/javascript; charset = UTF-8";},{name = Expires; value ="Sat,01 Jan 2000 00:00:00 GMT";},{name = Pragma; value ="no-cache";},{name = "WWW-Authenticate"; value ="OAuth \"Facebook平台\"\"invalid_request \"\"(#352)抱歉,您选择的视频文件采用我们不支持的格式.\"";} ,{name ="x-fb-loadmon"; value ="0,30,70";});},com.facebook.sdk:ErrorSessionKey =,expirationDate:4001-01-01 00:00:00 +0000 ,refreshDate:2013-10-15 17:19:33 +0000,attemptsRefreshDate:
我用来发布的代码与此类似:
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
videoData,@"video.mov",
@"video/quicktime", @"contentType",
title, @"title",
status, @"description",
nil];
FBRequest* request = [FBRequest requestWithGraphPath:[NSString stringWithFormat:@"%@/videos",@"me"]
parameters:params
HTTPMethod:@"POST"];
[request setSession:session];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0ul);
dispatch_async(queue, ^{
dispatch_async(dispatch_get_main_queue(), ^(void) {
[request startWithCompletionHandler:^(FBRequestConnection* conn, id data, NSError* error){
SSLog(@"DONE!");
[self processResponseWithData:data requestIdentifier:requestIdentifier andError:error];
}];
});
});
Run Code Online (Sandbox Code Playgroud)
我已更新到最新的SDK版本(3.9),但错误仍然存在.任何机构都遇到这个错误?
我正在使用iOS6和iOS7进行测试,因此问题与操作系统版本无关.使用内置iOS-Facebook功能的同一视频上传.
非常感谢!
就在FBRequest
添加一行打开之前FBRequestConnection 为我工作.
[FBRequestConnection startWithGraphPath:@"me/videos"
completionHandler:^(FBRequestConnection *connection,
id result, NSError *error)
{
FBRequest *uploadRequest =
[FBRequest requestWithGraphPath:@"me/videos"
parameters:params HTTPMethod:@"POST"];
}];
Run Code Online (Sandbox Code Playgroud)
我不使用关键的contentTypeint 参数。它与 Facebook SDK 3.10(最新)配合良好
NSData *videoData = [NSData dataWithContentsOfFile:filePath];
NSString* videoName = [filePath lastPathComponent];
NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
[params setObject:caption forKey:@"description"];
[params setObject:videoData forKey:videoName];
FBRequestConnection *requestConnection = [FBRequestConnection startWithGraphPath:@"me/videos"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
{
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2363 次 |
| 最近记录: |