邀请*所有*您的朋友加入Facebook应用程序

时间:2012-08-02 11:04:53

标签: ruby-on-rails facebook facebook-graph-api facebook-javascript-sdk

目前,使用requests对话框,当我希望用户邀请他们的朋友加入我的应用程序时,我可以得到一个多朋友选择器(就在没有定义“to”参数时) 。在Chrome / Safari上 - 这是一个新窗口,但有没有办法让所有用户朋友都被选中?

否则 - 有没有办法将所有用户朋友的请求/邀请组合在一起?我已经尝试将所有用户的朋友ID的数组添加到“to”参数中,但这会给FB带来错误。

我在Facebook上看到一些应用程序确实让用户可以“全选”或“邀请所有朋友” - http://blog.fbsocialapps.com/2011/10/5-ways-to-tune-your-requests-to-improve-the-virality-of-your-facebook-application/

编辑 - 如评论中所述,我在使用omniauth gem + JS SDK在RoR上执行此操作。我希望有人可能遇到过这个问题,并且可以分享解决方案。我的意图不是垃圾邮件,而是让用户更容易分享应用程序,如果值得分享的话。

1 个答案:

答案 0 :(得分:0)

基本上,您发布的网站上提到的应用是使用custom friend selector(另请参阅:Requests Pro-Tips, Pro-Tip 2: Create a Custom Multi-Friend Selector)。

这非常容易和直接 - 阅读用户朋友的列表,生成您希望他们显示的HTML类型(表格,UL,IMG元素与朋友个人资料图片,复选框)选择朋友,...)。如果您不想使用JS SDK,您可以在RoR应用程序中执行此操作(阅读朋友列表+生成HTML)服务器端。

只有用户可以同时选择所有朋友的部分最好在客户端完成 - 遍历代表列出的朋友的所有HTML元素,并通过脚本选中复选框。如果您使用jQuery或其他东西,那就很容易了。

(当然这个也可以只需要一个标有“向所有朋友发送请求”的复选框来完成,看看是否在服务器端检查了这个,然后向所有朋友发送请求 - 但是这不会提供直接反馈,现在所有朋友都被选中到页面上的用户。)

然后您可以将表单中包含所有/一些朋友的表单发送到您的服务器端应用程序,在那里生成请求对话框的URL并将朋友的ID放入to参数,然后重定向用户的浏览器。