3

ユーザーの Facebook ウォールに投稿しようとすると、次のエラーが発生し、ソースが見つからないようです。誰でもこの問題について洞察を持っていますか?

2012-08-29 22:14:38.490 CanP[405:707] Error: HTTP status code: 400
2012-08-29 22:14:38.494 CanP[405:707] FBSDKLog: Response <#1111> <Error>:
The operation couldn’t be completed. (com.facebook.sdk error 5.)

メッセージを Facebook ウォールに投稿するために実行されるメソッドは次のとおりです。

[FBSettings setLoggingBehavior:[NSSet setWithObjects:
                                FBLoggingBehaviorFBRequests,
                                nil]];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"My test app", @"name",
                               @"http://www.google.com", @"link",
                               @"FBTestApp app for iPhone!", @"caption",
                               @"This is a description of my app", @"description",
                               @"Hello!\n\nThis is a test message\nfrom my test iPhone app!", @"message",
                               nil];

// Publish.
// This is the most important method that you call. It does the actual job, the message posting.
[facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self];
4

2 に答える 2

2

C Abernathy によって提案されているように、「エラー行にブレークポイントを配置し、エラー変数を調べてから、はるかに読みやすいエラー メッセージを含む userInfo という名前のディクショナリにドリルダウンする」必要があります。

新しい Facebook 統合をテストしている私たちにとって、最も一般的な問題は、次の図に示されている可能性がありますerror.userInfo "com.facebook.sdk.ParsedJSONResponseKey"

message = "(#506) Duplicate status message";

Facebook 統合のテストに使用するテキストを変更すると、コードが正常に機能することがわかる場合があります。

于 2013-03-09T01:54:36.960 に答える
1

投稿には新しい SDK 3.1 メソッドを使用することをお勧めします。

[FBRequestConnection
 startWithGraphPath:@"me/feed"
 parameters:params
 HTTPMethod:@"POST"
 completionHandler:^(FBRequestConnection *connection,
                     id result,
                     NSError *error) {
     if (error) {
         /* Handle error */
     } else {
         /* Handle success */
     }
 }];

ステップ バイ ステップのチュートリアルについては、https ://developers.facebook.com/docs/howtos/publish-to-feed-ios-sdk/ を参照してください。

また、ウォールに投稿できることを確認するために、最初に publish_action 権限を要求してください。

それでも問題が発生する場合は、エラー行にブレークポイントを配置し、エラー変数を確認してから、はるかに読みやすいエラー メッセージが含まれているはずの userInfo という名前のディクショナリにドリルダウンします。

于 2012-10-03T03:40:50.340 に答える