1

iOS の Facebook ユーザーにパラメータ付きのリクエストをネイティブ iOS アプリから送信させたいと考えています。彼らが受け入れると、ネイティブの iOS アプリが起動し、パラメーターが渡されます。これは可能ですか?

[facebook dialog:@"apprequests" andParams:dict andDelegate:self] を使用してわずかな成功を収めています。Facebook iOS アプリでブックマーク カウンターをインクリメントしていますが、個々のリクエストが表示されません。ブックマークをタップするとアプリが起動しますが、リクエストで渡した「データ」パラメータや request_id を取得する方法がわかりません。

デスクトップでは、「アプリとゲーム」の「リクエスト」セクションの下に個々のメッセージが表示されます。リクエストを受け入れると、request_id が (単純なエコー) キャンバス URL に渡されることがわかります。これを使用して関連データを取得できることを読みました。しかし、これは iOS では役に立ちません。私のアプリは iOS でのみ動作するため、このキャンバス アプリは最終的には「このアプリは iOS でのみ動作する」だけになりますが、リクエストを流す必要があるようです。

どちらも通知を表示していないので、何か基本的な間違いをしている可能性があります。または、Facebook ユーザーにメッセージを渡す別の方法がありますか? URL をクリックして (アプリを起動し、そのパラメーターをフィードするために) クリックできます。

もう1つの奇妙なことは、リクエストを取り除く方法がわかりません。デスクトップクライアントでそれらを「X」すると、アプリからのすべてのリクエストの受信を停止するかどうかを尋ねられ、いいえと言うと、一時的に非表示になるだけです.

4

2 に答える 2

1

Leif さん、こんにちは - 私はあなたが参照したチュートリアルを書いた Facebook のエンジニアです。あなたが言及した問題を確認しました。これは実際にはドキュメントのバグではなく、仕様によるものです。

iOS でのリクエストからの着信 URL は次のようになります。

fb480369938658210://authorize?expires_in=3600&access_token=BAAG05NeN86IBAC31YWMWRHVrNCAYMy0Rv1OtqZCwdH8QDBUAt5KgZCsIbU0EOZAvMms2tZCANV9sZBWSkEzStDtt4i7YnYZA4bPgGx2XaI5s22iBMxIZAneZAv7ADi3Wi20ZD&target_url=http%3A%2F%2Fm.facebook.com%2Fapps%2Ffriendsmashsample%3Ffb_source%3Dnotification%26request_ids%3D364209433669109%252C379616028785376%252C494409170593789%252C489782271042929%252C328564930575784%26ref%3Dnotif%26app_request_type%3Duser_to_user

これは、複数のリクエスト ID を 1 つの URL にまとめて、複数のリクエストをまとめています。

このリクエストに付随する追加データを取得するために、user_id は必要ありません。graph.facebook.com/*request_id* を押すだけで十分です。

これについては、 https ://developers.facebook.com/docs/requests/#deletingの「Request ID Format」という見出しの下のドキュメントで実際に概説されています。

Friendsmash のサンプルとチュートリアルに含まれるコードは正しく動作します - 今確認しました。したがって、OPの質問への良いガイドとして役立つはずです.

ありがとう!

于 2012-10-30T18:50:15.283 に答える
0

私もこれに苦労してきました。

まず、FB iOS SDK リクエストのチュートリアルは良い出発点です。

ただし、期待どおりに動作しないいくつかのバグもあります。

  • 現在、requestIds をネイティブ FB アプリからネイティブ アプリに転送するには、モバイル Web URL を FB アプリ用に設定する必要があるようです。このバグレポートを参照してください。
  • 上記のチュートリアルでは、リクエスト オブジェクトに誤ったグラフ パスを使用しています。「request-id」_「user-id」である「request-id」を使用します。私はその問題に関するドキュメンテーションバグ レポートを提出しました。
于 2012-10-30T16:50:14.717 に答える