1

アプリから Facebook を起動すると、共有ダイアログが表示されるとすぐに FB アプリが閉じてしまうため、ダイアログを投稿できません。

完了ハンドラは呼び出されません。エラーなし。失敗。

   id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];

   action[@"mystory"] = @{
                            @"fbsdk:create_object": @YES,
                            @"type": @"appname:mystory",
                            @"title":@"title",
                            @"url": @"http://www.foo.bar",
                            @"description":@"text"
                            };


    FBAppCall *appCall = [FBDialogs presentShareDialogWithOpenGraphAction:action
                                          actionType:@"appname:myaction"
                                 previewPropertyName:@"mystory"
                                             handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
                                                 if(error) {
                                                     NSLog(@"Error: %@", error.description);
                                                 } else {
                                                     NSLog(@"Success!");
                                                 }
                                             }];

私が間違っていることを誰かが見ていますか?

単純に presentShareDialogWithLink を使用すると、正しく機能します。

編集: URL なしで appcall を渡すと、機能します! なんで?

   action[@"mystory"] = @{
                            @"fbsdk:create_object": @YES,
                            @"type": @"appname:mystory",
                            @"title":@"title",
                            @"description":@"text"
                            };
4

3 に答える 3

1

https://developers.facebook.com/docs/howtos/share-dialogs-ios-sdk/のサンプル コードを使用して非常によく似た問題が発生していました (それは間違いなくコードの共有ダイアログ セクションではなく、 Feed Dialog): 私のアプリはバックグラウンドに入り、Facebook アプリが表示されていましたが、すぐに再び閉じられ、私のアプリに戻りました。

少し検索した後、URL 処理のセットアップに関するいくつかの参照に出くわし、アプリの統合を再確認することにしました。3.2 から 3.5 に移行する際に見逃していたことがいくつかありました。具体的には、plist の FacebookDisplayName エントリ、openURL 関数の変更、共有ダイアログのベータ機能の有効化 です。 facebook.com/docs/tutorial/iossdk/upgrading-from-3.2-to-3.5/

結局、問題はなくなりました。ダイアログが正しく表示され、楽しく共有できます。残念ながら、上記の変更のどれが実際に問題を解決したかはわかりませんが、おそらくすべてを再確認する価値があります.

于 2013-06-07T10:34:19.377 に答える
0

それを確認します:

  • 「appname」は実際のアプリの名前空間です

  • 「mystory」は実際のオブジェクト タイプです。

  • 「myaction」はアクションの名前です

また、ホストする有効な URL が必要です。あなたが提供した " http://www.foo.bar " は、Facebook で廃棄できず、機能しません。

于 2013-06-06T05:03:43.380 に答える
-1

appcall に URL がある場合、Facebook のアプリ構成内の [アプリ ドメイン] ボックスに入力した URL と一致しますか? appcall の URL と Facebook のアプリ構成に入力した URL が異なる場合、呼び出しは失敗し、それが原因である可能性があります。

于 2013-06-13T01:52:23.780 に答える