2

我从我的 iOS 应用程序上传视频取得了一些成功。我能够确认 publish_action 权限并处理上传。

ACFacebookPermissionsKey : @[@"email", @"user_videos", @"publish_actions"],
ACFacebookAudienceKey:ACFacebookAudienceEveryone};

成功上传后,我收到来自 Facebook API 的带有 video_id 的响应。由于它是公共视频,因此我将其存储在 dB 中以供以后访问。那么,当我检查返回的 video_ids 时 - 它们看起来不同吗?

通过我的应用上传的视频(登录,公开)的 ID 类似于:4239462546398 通过 Facebook 应用上传的视频(登录,公开)的 ID 类似于:10150495056083275

因此,无论我是否登录 FB,我都可以使用以下 URL 访问 Facebook 应用程序视频上传:http: //www.facebook.com/video/video.php?v=10150495056083275

我无法使用 Facebook 创建的 video_id 访问通过我的 iOS 应用上传的视频:http: //www.facebook.com/video/video.php?v= 4239462546398

我需要知道我在上传视频时做错了什么?即使我将其设置为公开等...我似乎看不到我的视频????

关于我的环境的一些细节:

  • 为 iOS 6 构建

  • 使用 iOS 6 FB 集成

  • 使用 SLRequest 上传视频(成功请求/响应)

如果有帮助(并且有效),这是我的视频帖子代码

- (void) uploadFBVideo2:(NSURL*) filePath
{
      ANVideoMashManager *videoMashManager = [ANVideoMashManager sharedManager];

      NSURL *videourl = [NSURL URLWithString:@"https://graph.facebook.com/me/videos"];
      NSData *videoData = [NSData dataWithContentsOfURL:filePath];

      NSDictionary *params = @{
        @"title": videoMashManager.videoStoryTitle,
        @"description": videoMashManager.videoDescTitle
      };

      SLRequest *uploadRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
                                              requestMethod:SLRequestMethodPOST
                                                        URL:videourl
                                                 parameters:params];
      [uploadRequest addMultipartData:videoData
                       withName:@"video"
                           type:@"video/mov"
                       filename:[filePath absoluteString]];

      uploadRequest.account = facebooAccount;

     [uploadRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
     NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
     if(error){
         NSLog(@"Video Upload ERROR: %@", error.localizedDescription);

     }else{
         NSLog(@"Video Upload SUCCESS: %@", responseString);
         NSDictionary* jsonResponse = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
         NSString *videoId = [jsonResponse objectForKey:@"id"];

     }

     }];
}
4

0 回答 0