私の目標は、アプリに友達を招待するアプリリクエスト ボタンを作成することです。
問題は、ログインするように求められることです。これは通常は問題になりませんが、このコンテキストでは、ユーザーはアプリ内で別の機能を実行するために、Facebook にログイン情報を既に入力しています。その機能は、現在利用できない他の誰かによって書かれました。
結局、ユーザーは 2 回ログインする必要があります。相手の機能を使うのに1回、アプリリクエストダイアログを使うのに1回。ユーザーに2回ログインするように求めないように、資格情報/承認/セッションを何らかの方法で共有する必要があります。
試行を事前承認するために、標準のアプリ要求ダイアログ コードで渡されるパラメーターが表示されません。Facebook オブジェクトで何かできることがあると思います。また、私は Objective C に非常に慣れていないため、デリゲートに関する私の理解は非常に弱いです。私はそれを見てきましたが、facebookオブジェクトがデリゲートとしてどのような機能を必要とするのかわかりません。私の理解では、facebook はデリゲートにコールバックでき、本質的に非同期の ack または req などを提供できます。しかし、どのような種類のデリゲートが期待されているかを知るにはどうすればよいでしょうか? どのパラメータが渡されますか? 等..
とにかく、これが私のアプリ リクエストの非常に基本的なコード ブロックです。ログイン ボックスが 2 回ポップアップしないようにするには、ここからどこに行けばよいかわかりません。
Facebook *facebook = [[Facebook alloc] initWithAppId:<#(NSString *)#> andDelegate:<#(id<FBSessionDelegate>)#>];
// I realize I have to fill in my own AppID, which I have but I'm not entirely sure about the delegate
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Come check out my app.", @"message",
nil];
[self.facebook dialog:@"apprequests" andParams:params andDelegate:nil];