0

我們的ios應用程序出現問題。事情是,通過ios上傳似乎並不像預期的那樣工作。這裏真正的問題是,我們可以從某些帳戶上傳,而我們無法從其他人上傳(儘管我們可以在之前這樣做)。錯誤再現步驟如下: - 用戶啓動我們的應用程序; - 用戶登錄Facebook併爲應用程序提供必要的權限; - 用戶將視頻上傳到Facebook; - facebook響應上傳成功; - 然後消息出現在Facebook上,該視頻無法處理。使用Social.framework和FB SDK從iPhone上傳Facebook視頻

該視頻已成功從其他帳戶上傳。

最奇怪的是,我們已經成功上傳的視頻在一段時間後從facebook頁面消失。

因此,我們基本上想到的是,FB對移動設備用戶有一些垃圾郵件保護限制。

那麼,我問的是,如果有人也有這樣的問題?

P.S.代碼發送東西FB是非常基本的:

- (void)uploadVideoToFacebookFromFileURL:(NSURL *)url parameters:(NSDictionary *)parameters { 
SLRequest *uploadRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook 
               requestMethod:SLRequestMethodPOST 
                 URL:[NSURL URLWithString:kFBVideoURLString] 
               parameters:parameters]; 

NSData *videoData = [NSData dataWithContentsOfURL:url options:NSDataReadingMappedAlways error:NULL]; 

[uploadRequest addMultipartData:videoData 
         withName:@"source" 
          type:@"video/x-m4v" 
         filename:[url absoluteString]]; 

uploadRequest.account = self.socialAccount; 

IDPLoadingView *loadingView = [IDPLoadingView loadingViewInView:self.view]; 
[uploadRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { 
    dispatch_async(dispatch_get_main_queue(), ^{[loadingView removeFromSuperview];}); 
    NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease]; 
    if(error){ 
     NSLog(@"Error %@", error.localizedDescription); 
     dispatch_async(dispatch_get_main_queue(), ^{[self showErrorSending];}); 
    } else { 
     NSLog(@"%@", responseString); 
     dispatch_async(dispatch_get_main_queue(), ^{[self showResult];}); 
    } 
}]; 

}

回答

0

你必須讓2級不同的要求。首先是閱讀權限和崗位權限首先使用後記錄到Facebook用戶

NSArray * p = [NSArray arrayWithObjects:@"email", nil]; 

NSDictionary * dict=[NSDictionary dictionaryWithObjectsAndKeys:@"fb_app_id",ACFacebookAppIdKey,p,ACFacebookPermissionsKey,ACFacebookAudienceEveryone,ACFacebookAudienceKey, nil]; 



    NSDictionary *options = @{ 
           ACFacebookAppIdKey: @"fb_app_id", 
           ACFacebookPermissionsKey: @[@"publish_actions", ], 
           @"ACFacebookAudienceKey": ACFacebookAudienceFriends, 
           }; 
    ACAccountType *facebookAccountType = [accountStore 
              accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; 

    [accountStore requestAccessToAccountsWithType:facebookAccountType options:dict completion:^(BOOL granted, NSError *error) { 
     NSLog(@"blablalba"); 
     //do nothing here. 

    }]; 

    [accountStore requestAccessToAccountsWithType:facebookAccountType options:options completion:^(BOOL granted, NSError *error) { 
//code for upload here 
}]; 

希望它有幫助。

相關問題