在我的Facebook应用程序中,我正在使用FB.ui {method:'send'...}显示消息窗口。我想捕获收件人列表(存储在'recipitents []'隐藏表单字段中)以及应用程序数据库<中消息文本 /强>
有办法吗?
这是我到目前为止所提出的:
动态在DOM元素中设置onclick属性(对应于Send按钮。到目前为止,我已经能够使用浏览器开发工具(例如IE9中的F12)但不是在代码中;它可能很棘手,因为加载时不存在对话框)。不幸的是,我无法定义一个在适当范围内的Javascript函数(我认为只有一个全局范围)才能找到它的onclick回调。
构建 Facebook发送对话框来自更基本的构建块(例如,朋友选择器,发送方法调用),所以我'拥有'点击事件。< / p>
克隆 FB.ui()代码并修改,以便在调用重定向网址时包含其他参数。
要求用户将我包含在“收件人”列表中(实际上只是最后的手段),或者将“到”字段默认为应用程序的用户ID。
最后,我希望能够通过Javascript调用我的Web服务,在我的应用程序数据库中记录消息详细信息。
答案 0 :(得分:1)
我很确定这不是通过API设计的。 “发送”按钮在iframe中运行,因此浏览器安全性将阻止您通过Javascript访问其内部状态。
其他一些方法(例如使用FB.ui对话框发布到用户的墙上)在回调中提供了帖子ID,你可以在Graph API中检查这一点,但是Send按钮不会返回这样的内容。
对于“发送”按钮,您可以在Javascript SDK中订阅message.send事件,并接收包含已发送的URL的回调,但不会收到发送给谁的回调。 (https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ - 事件本身当前未列在那里,但确实存在)
我无法想到为什么你想要进行这种类型的跟踪,它看起来像是一个很少使用政策的用例。