リクエストダイアログを使用すると、Facebookは次のような通知を発行します。
私が達成しようとしているのは、ユーザーが上記のリクエストリンクをクリックして、アプリに「ランダムユーザーがあなたを招待しました...」というメッセージを表示することです。
ただし、そのリンクをクリックすると、Facebookは「ランダムユーザー」のIDをアプリに渡さないようです。リンクによってアクセスされるURLは次のようになります。
http://apps.facebook.com/randomcomp/?fb_source=notification&request_ids=350578327437399,350578327437399&ref=notif&app_request_type=user_to_user¬if_t=app_request
これには、リクエストを開始したユーザーへの参照は含まれていません。
アプリ側から見ると、Facebookからこの情報を取得する方法はないようです。もちろん、リクエストのリストを取得することはできますが、そのリストには、関心のあるものに加えて他のユーザーからのリクエストを含む多くのリクエストの情報が含まれている可能性があるため、この場合は役に立ちません。たとえば、データのスナップショットは次のとおりです。
{
"data": [
{
"id": "340083146057323_100003817986566",
"application": {
"name": "Random Competition",
"namespace": "randomcomp",
"id": "350578327437399"
},
"to": {
"name": "Hannah Smith",
"id": "100003817986566"
},
"from": {
"name": "Random User",
"id": "100002286042525"
},
"data": "100002286042525",
"message": "Use the app!",
"created_time": "2012-05-14T13:26:30+0000"
}, {
"id": "358318457550141_100003817986566",
"application": {
"name": "Random Competition",
"namespace": "randomcomp",
"id": "350578327437399"
},
"to": {
"name": "Hannah Smith",
"id": "100003817986566"
},
"from": {
"name": "Jane Young",
"id": "100003771838663"
},
"data": "100002286042525",
"message": "Use the app!",
"created_time": "2012-05-14T10:54:25+0000"
}],
}
}
ご覧のとおり、data
は渡されていますが、上記のリンク(ランダムユーザーの場合)からのクリックをリスト内の正しいリクエストに参加させる方法はまだありません。リンクは、ランダムユーザーのIDだけでなく、両方のリクエストのIDを通過します。リンクには「ランダムユーザー」と記載されていますが、識別子は通過しません。
私は何かが足りないのですか?ドキュメントにないメカニズムで「ランダムユーザー」IDを取得できるので、クリックしたときにアプリで「ランダムユーザーがあなたを招待しました...」というメッセージを表示できますか?
編集:
これは不可能であることが判明しました-私の答えを参照してください。