当 Facebook 用户在应用程序中发送发送对话框时,应用程序可以跟踪收件人吗?

Posted

技术标签:

【中文标题】当 Facebook 用户在应用程序中发送发送对话框时,应用程序可以跟踪收件人吗?【英文标题】:When a Facebook user sends the Send dialog within an application, can the application track the recipients? 【发布时间】:2012-03-07 01:54:59 【问题描述】:

当用户打开发送对话框(例如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: 行中?

非常感谢!

尼克

【问题讨论】:

【参考方案1】:

没有。 至少目前没有……

如果你查看官方文档:https://developers.facebook.com/docs/reference/dialogs/send/ 那么你可以看到这种类型的对话框不需要回调函数作为参数,并且由于没有回调函数所以你无法知道谁和/或有多少收件人,即使对话框已关闭/取消/发送。

您可以做的,虽然看起来很复杂,但是很头疼,就是在图形 api 中使用 User 对象的发件箱连接 (http://developers.facebook.com/docs/reference/api/user/)。 我以前从未使用过,但我想您可以(如果您要求 read_mailbox 权限)检查对话框前后的用户消息,看看有什么变化。

【讨论】:

虽然这在技术上是正确的,但肯定有办法绕过它。我碰巧注意到约会网站 Coffee Meets Bagel 正在奖励用户向他们的朋友发送邀请信息,并且很好奇他们是如何做到的。经过调查,他们似乎将自己的点击事件附加到 Facebook 对话中的发布按钮,该按钮将单独的 POST 提交到他们的服务器。通过这种方式,您可以检测是否有人使用对话发送了消息。唯一的问题是你不知道他们把它寄给了谁,如果有人的话。 这种方法的问题是您依赖于 FB ui 元素,并且与他们的 API 不同,他们可以随时更改,而无需通知您或其他任何人。在这样的在这种情况下,您的系统中的所有事情都可能会突然停止工作,而您却不知道发生的地点和原因,您可以花很多时间弄清楚 facebook 决定更改他们的 DOM。 @NitzanTomer,你能帮忙吗,它也与这个话题有关***.com/questions/66654709/… @Asking 抱歉,我已经好几年没接触 fb api了

以上是关于当 Facebook 用户在应用程序中发送发送对话框时,应用程序可以跟踪收件人吗?的主要内容,如果未能解决你的问题,请参考以下文章

iOS Facebook api,apprequests发送但没有接收?

对话发送 - 多个朋友

当用户加入我的应用时,Facebook 会向使用该应用的朋友发送通知

向应用程序用户发送通知/请求(Facebook - C#)

从 iOS 而不是 FbAppName 发送的 Facebook 原生共享对话框?

在桌面/移动网站上发送 Facebook 消息