2011-11-16 25 views
3

我有这样的情况:如何邀请朋友加入你的应用:请求或消息?

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

  • 爱丽丝和鲍勃是(Facebook)的朋友。

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

  • 爱丽丝想告诉鲍勃约TheSite并鼓励他参加。

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

那么这里什么是正确的?这不是apprequests的意思吗?我应该让爱丽丝给他发一封简单的消息指向他在TheSite吗?还有其他更好的用法吗?谢谢!

+0

您可以使用发送对话框(https://developers.facebook.com/docs/reference/dialogs/send/)让爱丽丝用她的个人信息向Bob发送一个链接到TheSite。除非用户点击“应用和游戏”选项卡,否则它将比当前没有显示请求消息的apprequests更清晰。 至于删除apprequests,如果用户不授权应用程序,这就是它的意思 - 用户将自己删除请求。 –

+0

感谢您的回应,以及我长时间回应的不好之处。无论如何:使用“发送”这个问题有两个问题:(1)我没有在原始笔记中这样说,但我想让Alice向所有(或选择)她的FB朋友发送邀请该网站的成员,apprequests和app_non_users过滤器处理得非常好。 (2)您链接到的“发送”页面上显示“...应用程序在Facebook上应该使用请求......邀请用户使用应用程序或将消息发送给多个人。”还有什么想法? –

+0

@JimMiller,对于脸书3.2或更高版本,此链接适用:http://stackoverflow.com/questions/14157784/can-we-invite-people-to-use-our-app-or-send-friend-request-从最APP-经由面孔/ 16605625#16605625 – NeverHopeless

回答

1

邀请对话链接到您的应用页面,包括在形式& request_ids = request11111网址request_ids,request2222

如果收件人已授权的应用程序,这些都在查询字符串一应俱全。

最棘手的部分来当收件人需要先授权的应用程序,因为建成后它会将用户重定向到您的主应用页面,并失去了request_ids参数。

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