0

iOS アプリのスクリーンショットを Facebook で共有しようとすると、次の応答が返されます。

FB エラー: 操作を完了できませんでした。(facebookErrDomain エラー 368。)

写真コードを投稿

NSMutableDictionary *params = [NSMutableDictionary
                               dictionaryWithObjectsAndKeys:fbImage, @"picture", fbContent, @"caption"
                               ,nil];

[_facebook requestWithMethodName:@"photos.upload" andParams:params
                   andHttpMethod:@"POST" andDelegate:self];

を使用してスクリーンショットを撮ります

UIGraphicsBeginImageContext(self.view.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

問題は、まったく同じコードを使用して、他のアプリにスクリーンショットを投稿できることです。ということは、fb サーバーの問題だけが原因ではないということでしょうか? 不足している可能性のあるものはありますか?

編集 私は、同じプロジェクトで FBConnect を使用してテキストを共有しています:

  [_facebook dialog:@"feed" andParams:params andDelegate:self];

パラメータは次のとおりです。

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
                           url, @"link",
                           name, @"name",
                           caption, @"caption",
                           desc, @"description",
                           nil];

そして、それは絶対にうまく機能します。

4

1 に答える 1

1

コメントありがとうございます。エラーの原因がわかりました。エラーのローカライズされた説明のログを印刷した後:

- (void)request:(FBRequest *)request didFailWithError:(NSError *)error 
{
    NSLog(@"FB error: %@", [error localizedDescription]);
}

それは facebookErrDomain エラー 368 に言及し、説明全体を印刷した後:

    NSLog(@"FB error: %@", [error description]);

Facebook はスパム リンクを許可しないと書かれていました。

写真投稿のキャプションにあるリンクのつづりを間違えていたことが判明しました。修正後、スムーズに動作しました。

したがって、facebookErrDomain エラー 368が発生した場合は、Params で送信しているデータを確認してください。まだ作成していないリンクや、スパムと思われるその他のデータが含まれている場合は、削除するかコメントアウトすると、エラーが消えるはずです。

于 2012-09-07T05:35:38.247 に答える