0

iOS アプリに問題があります。問題は、ios を介したアップロードが期待どおりに機能しないように見えることです。ここでの本当の問題は、一部のアカウントからはアップロードできますが、他のアカウントからはアップロードできないことです (ただし、以前はアップロードできました)。バグの再現手順は次のとおりです。 - ユーザーがアプリを起動します。- ユーザーが Facebook にログインし、アプリが動作するために必要な権限を付与します。- ユーザーがビデオを Facebook にアップロードします。- Facebook がアップロードの成功を返します。-その後、Facebookにメッセージが表示され、ビデオを処理できませんでした。

この同じ動画が他のアカウントから正常にアップロードされました。

最も奇妙なことは、アップロードに成功したビデオがしばらくすると Facebook ページから消えてしまうことです。

つまり、私たちが基本的に考えているのは、FB にはモバイル デバイスからのユーザーに対するスパム保護の制限があるということです。

それで、私が尋ねているのは、誰かにもそのような問題があったかどうかです。

FB に送信するための PS コードは非常に基本的なものです。

- (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];});
    }
}];

}

4

1 に答える 1