如何邀请朋友加入您的应用:请求或消息?

时间:2011-11-16 15:57:58

标签: facebook-graph-api facebook authorization

我遇到了这种情况:

  • TheSite是一个使用Facebook Connect进行授权的网站;其成员的FB朋友关系也用于确定网站上的权限(内容访问等)。因此,会员必须授权使用该网站的Facebook应用程序。

  • Alice和Bob是(Facebook)的朋友。

  • Alice是TheSite的成员并已授权该应用;鲍勃是/没有。

  • Alice想告诉Bob关于TheSite并鼓励他加入。

我已经设置了最后一点 - 爱丽丝邀请鲍勃 - 带有apprequest对话框。它起作用(大多数 - 见后面),但我不确定这是正确的。 Bob收到的邀请消息的措辞 - “Alice在TheSite中发送了一个请求”,这听起来好像Bob(应该是?)已经是TheSite的成员了。此外,我没有找到一种方法来清除请求后鲍勃接受它,除非他真的成为TheSite的成员 - 我需要用户的ID来清除请求,但我不能得到用户ID,直到鲍勃是一个成员。如果Bob成为会员,我可以保存请求ID并清除它,但是,如果他不这样做,请求将永远挂起,这似乎是错误的。如果Charlie(TheSite的另一名成员)也邀请Bob出现在某个地方,可能会出现一些问题,但我还没有完全想到。我在网上发现了几页提供看似相关的fbml技术,但我试图远离那些,因为fbml正在消失。

那么这里有什么问题?这不是apprequests的意思吗?我应该让Alice向Bob发送一条简单的信息,指向他在TheSite吗?还有其他/更好的在这里使用?谢谢!

1 个答案:

答案 0 :(得分:1)

邀请对话框链接到您的应用页面,其中包含表格中的request_ids格式& request_ids = request11111,request2222

如果收件人已经授权该应用程序,则可以在查询字符串中随时使用这些应用程序。

当收件人需要首先授权应用程序时,会出现棘手的部分,因为完成后会将用户重定向到主应用程序页面并丢失request_ids参数。

我通过首先在会话变量中存储查询字符串中找到的任何request_id来解决这个问题。然后重定向到auth进程(如果需要)。完成后,用户被重定向回主应用程序URL(删除了request_ids),但现在我可以在查询字符串或会话中检查request_ids,这样就可以优雅地处理这两种情况。