2012-02-15 10 views
6

ユーザーが[Send]ダイアログを開くと(例:http://www.facebook.com/dialog/send?app_id=123050457758183&name=People%20Argue%20Just%20to%20Win&link=http://www.nytimes.com/2011/06/15/arts/people-argue-just-to-win-scholars-assert.html&redirect_uri=http://www.example.com/response)、To:行に人を追加または削除できます。ユーザーが実際に[送信]を押した場合は、[宛先:]行に誰がいるのかをアプリケーションが追跡する方法はありますか?Facebookユーザーがアプリケーション内で[Send]ダイアログを送信すると、アプリケーションは受信者を追跡できますか?

ありがとうございました!

ニック

答えて

7

号 少なくとも現在ない...

あなたは公式ドキュメントを見れば:https://developers.facebook.com/docs/reference/dialogs/send/、あなたは、ダイアログのこのタイプは、パラメータとしてコールバック関数を期待していないことがわかりますコールバック機能がないので、受信者が誰であるか、そして/または受信者数がわかっていなくても、ダイアログが閉じられたり、キャンセルされたり送信されたりすることはありません。

グラフのAPI(http://developers.facebook.com/docs/reference/api/user/)のUserオブジェクトの送信トレイ接続を使用することは、非常に複雑でうまくいくように見えますが、できることはあります。 これまで私はそれを使用したことはありませんでしたが、(read_mailbox権限を求める場合は)ダイアログの前後のユーザーメッセージを確認し、変更内容を確認することができます。

+0

これは技術的に正しいものですが、間違いなく回避する方法があります。私は出会い系サイト「コーヒーミーツベーグル」が友だちに招待状を送信してくれていることに気づき、彼らがどのようにしているのか不思議でした。それを調べた後、自分のクリックイベントをFacebookダイアログの公開ボタンに添付して、別のPOSTを自分のサーバーに送信するように見えます。この方法で、誰かがダイアログを使用してメッセージを送信したかどうかを検出できます。問題があるのは、もし誰かがそれを誰に送ったのか分からないだけです。 –

+0

このタイプのアプローチの問題点は、あなたがFB UIの要素に依存していることと、APIとは異なり、あなたや他の誰かに通知することなく、いつでも変更できることです。そのような場合、あなたのシステムでは、どこで、なぜそれが起こったのかを知っている作業をやめることができます。そして、あなたのDOMを変更することを決めたと考えて、多くの時間を費やすことができます。 –

関連する問題