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 を取得します。しかし、通知でFBのプロフィールを確認すると、次のメッセージが表示され続けます。
ビデオを処理できませんでした。一般的な問題については、ビデオのヘルプ ページにアクセスしてください。
別の AppIds でこれを試しました。FacebookのWebサイトを使用してアップロードすると、ビデオのアップロードは機能します。