我正在使用Facebook SDK 3.1.1分享一个视频到Facebook。下面是相关代码:
FBRequestConnection *newConnection = [[FBRequestConnection alloc] init];
// for each fbid in the array, we create a request object to fetch
// the profile, along with a handler to respond to the results of the request
NSString *fbid = @"me";
// create a handler block to handle the results of the request for fbid's profile
FBRequestHandler handler =
^(FBRequestConnection *connection, id result, NSError *error) {
// output the results of the request
[self requestCompleted:connection forFbID:fbid result:result error:error];
};
// create the request object, using the fbid as the graph path
// as an alternative the request* static methods of the FBRequest class could
// be used to fetch common requests, such as /me and /me/friends
NSData *videoData = [NSData dataWithContentsOfFile:path];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
videoData, @"video.mov",
@"video/quicktime", @"contentType",
@"Video", @"title",
@"Video Test Description", @"description",
@"hello",@"subdescription",
nil];
FBRequest *request = [[FBRequest alloc] initWithSession:theDelegate.session graphPath:@"me/videos" parameters:params HTTPMethod:@"POST"];
//:FBSession.activeSession graphPath:@"me/?fields=location"];
// add the request to the connection object, if more than one request is added
// the connection object will compose the requests as a batch request; whether or
// not the request is a batch or a singleton, the handler behavior is the same,
// allowing the application to be dynamic in regards to whether a single or multiple
// requests are occuring
[newConnection addRequest:request completionHandler:handler];
// if there's an outstanding connection, just cancel
[self.requestConnection cancel];
// keep track of our connection, and start it
self.requestConnection = newConnection;
[newConnection start];
之前它运作得很好。每次我启动上传视频请求时,都会在响应中获得共享的视频ID。但是,当我在Facebook个人资料中检查通知时,我一直收到以下消息:
无法处理您的视频。访问视频帮助页面以了解常见问题
我已尝试使用不同的AppIds进行尝试。但是,当我使用Facebook网站上传视频时,上传视频是有效的。