【问题标题】:How to invite friends to your app: Request or Message?如何邀请朋友加入您的应用:请求或消息?
【发布时间】:2011-12-30 13:49:45
【问题描述】:

我遇到了这种情况:

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

  • Alice 和 Bob 是 (Facebook) 朋友。

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

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

我已经设置了最后一点——Alice 邀请 Bob——带有一个请求对话框。它有效(大多数情况下——见后文),但我越来越不确定这是不是正确的做法。 Bob 收到的邀请消息的措辞——“Alice 在 TheSite 中向您发送了一个请求”,听起来 Bob 已经(应该是?)是 TheSite 的成员。此外,我还没有找到在 Bob 接受请求后清除请求的方法,除非他实际上成为 TheSite 的成员——我需要用户 ID 来清除请求,但在 Bob 成为成员之前我无法获取用户 ID .如果 Bob 成为成员,我可以保存请求 ID 并清除它,但如果他不这样做,请求将永远存在,这似乎是错误的。如果查理(TheSite 的另一名成员)也邀请鲍勃沿线某处,可能还会发生什么问题,但我还没有完全考虑过。我在网上找到了一些提供 fbml 技术的页面,这些技术看起来很相关,但鉴于 fbml 正在消失,我试图远离这些技术。

那么这里的正确做法是什么?这不是apprequests的意思吗?我应该让 Alice 向 Bob 发送一条简单的消息,将他指向 TheSite 吗?这里还有其他/更好的用处吗?谢谢!

【问题讨论】:

  • 您可以使用发送对话框 (developers.facebook.com/docs/reference/dialogs/send),让 Alice 向 Bob 发送一个指向 TheSite 的链接,其中包含她的个人信息。除非用户单击“应用程序和游戏”选项卡,否则它将比当前不显示请求消息的应用程序更清楚。至于在用户未授权应用程序的情况下删除应用程序,这就是它的本意——用户将自己删除请求。
  • 感谢您的回复,我很抱歉这么长时间才回复。无论如何:使用“发送”的两个问题:(1)我没有在原始笔记中说这个,但我想让爱丽丝向所有(或部分)她的 FB 朋友发送邀请theSite 的成员,apprequests 和 app_non_users 过滤器处理得很好。 (2) 您链接到的“发送”页面显示“......Facebook 上的应用程序在......邀请人们使用应用程序或向多人发送消息时应使用请求。”还有什么想法吗?
  • @JimMiller,对于 facebook 3.2 或更高版本,此链接适用:stackoverflow.com/questions/14157784/…

标签: facebook-graph-api facebook authorization


【解决方案1】:

邀请对话链接到您的应用页面,包括 URL 中的 request_ids,格式为 &request_ids=request11111,request2222

如果接收者已经授权了应用程序,这些在查询字符串中很容易获得。

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

我首先将查询字符串中的任何 request_id 存储在会话变量中,从而解决了这个问题。然后重定向到身份验证过程(如果需要)。当它完成时,用户被重定向回主应用程序 url(删除了 request_ids),但现在我可以在查询字符串或会话中检查 request_ids,所以这可以优雅地处理这两种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2011-10-21
    相关资源
    最近更新 更多