将视频上传到Facebook并不适用于SLRequest

时间:2014-04-17 06:09:27

标签: ios objective-c facebook facebook-graph-api

我尝试使用以下代码将视频上传到Facebook:

- (void)facebok
{
    self.accountStore = [[ACAccountStore alloc]init];
    ACAccountType *FBaccountType= [self.accountStore accountTypeWithAccountTypeIdentifier:@"com.apple.facebook"];

    NSDictionary *options = @{
                              ACFacebookAppIdKey: @"appid",
                              ACFacebookPermissionsKey: @[@"publish_stream"],
                              ACFacebookAudienceKey: ACFacebookAudienceFriends
                              };

    [self.accountStore requestAccessToAccountsWithType:FBaccountType options:options completion:
     ^(BOOL granted, NSError *e) {
         if (granted) {
             NSArray *accounts = [self.accountStore accountsWithAccountType:FBaccountType];
             //it will always be the last object with single sign on
             self.facebookAccount = [accounts lastObject];
             NSLog(@"facebook account =%@",self.facebookAccount);
             [self post];
         } else {
             //Fail gracefully...
             NSLog(@"error getting permission %@",e);

         }
     }];
  }

- (void)post
{
    NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me/videos"];
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mov"];
    NSURL *pathURL = [[NSURL alloc]initFileURLWithPath:filePath isDirectory:NO];
    NSData *videoData = [NSData dataWithContentsOfFile:filePath];
    NSString *status = @"One step closer.";
    NSDictionary *params = @{@"title":status, @"description":status};

    SLRequest *uploadRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
                                                  requestMethod:SLRequestMethodPOST
                                                            URL:url
                                                     parameters:params];

    [uploadRequest addMultipartData:videoData
                           withName:@"source"
                               type:@"video/quicktime"
                           filename:[pathURL absoluteString]];
    uploadRequest.account = self.facebookAccount;

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

要求获得发布视频的许可。这很好,但几秒钟后它就给我这个错误:

{"error":{"message":"You recently posted something that violates Facebook policies, so you're temporarily blocked from using this feature. For more information, visit the Help Center.\n\nTo keep from getting blocked again, please make sure you've read and understand Facebook's Community Standards.","type":"OAuthException","code":368}}

我在Facebook上发布视频有什么问题吗?

0 个答案:

没有答案