Facebook 现在是反社交的,还是有希望通过 API 将用户与他们的朋友联系起来?
Posted
技术标签:
【中文标题】Facebook 现在是反社交的,还是有希望通过 API 将用户与他们的朋友联系起来?【英文标题】:Is Facebook now anti-social, or is there hope for connecting users with their friends via API? 【发布时间】:2015-09-10 03:41:13 【问题描述】:我的最新项目要求用户邀请他们的朋友使用他们的在线服务。我发现,显然,截至 2015 年 4 月,使用新的 v2.0+ Facebook Graph API,您实际上无法获得用户的朋友列表,除非这些朋友已经是您应用程序的订阅成员。
场景:
我的应用程序是一种网络服务,可让用户在私人群组中在线协作研究工作。用户需要
-
查看他们的好友列表,
设置他们的朋友在群组中的权限,以及
向他们发送加入服务和特定组的邀请。 (使用与每个收件人绑定的唯一一次性使用链接)
用户将(理想情况下)收到带有特定链接的邀请,让他们不仅成为所述在线应用的订阅者,而且还专门加入他们被邀请加入的群组(即不仅仅是通用的“嘿,看看此应用”类型的邀请)。
期望:
用户不关心他们的朋友是否已经是“MyApp.com”的成员。当他们将手机连接到 Facebook 时,他们希望像现在一样从手机上简单地查找他们的朋友(使所有联系人都可用,无论这些朋友是否分别将他们的 Facebook 连接到他们的手机)。同样,将邀请成员与您的 Google 文档进行比较,例如:查找您的联系人、设置权限、发送邀请 - 如此简单。今天的用户要求这种 UX 简单性,并且不区分或关心他们是否在处理电子邮件、Facebook、Twitter 联系人等。
问题:
社交网络的重点是社交。如果 Graph API 只允许我的应用访问我的应用已经用户的朋友,它完全违背了整个目的 - 它切断了我的用户的膝盖,扼杀了用户体验,不再有实际联系的能力他们自己的朋友。我的理解是 Facebook 做出这一改变是为了防止开发者向用户发送垃圾邮件,我明白这一点,我完全支持这一点。但是,我的公司和我的应用程序并不是为了自己的目的而试图邀请朋友的人,而是用户和他们自己的朋友,他们有权出于他们的目的访问和交谈(或者你会认为)。除了朋友列表之外,即使我有朋友列表,我认为向朋友发布消息,甚至是私人(不是墙)消息也会存在额外的障碍和限制,这也是反社会的。
问题:
我是否正确理解了 Facebook 的限制,如果是,解决方法是什么?在您通过审查以证明您没有向用户发送垃圾邮件之前,我可以锁定这样的 API,但我没有看到这样的选项。
Facebook 应该是prioritizes users over developers,做出这些更改是因为如果用户对隐私不满意(不要向我的朋友发送垃圾邮件),那么他们将不再是用户,这显然会影响开发人员和 Facebook。好的,但他们是否没有意识到,在合法场景中,通过将其锁定在这种极端情况下会扼杀用户的用户体验?就我最初的观点而言,不仅仅是一点点,而是最重要的 - 结果确实是在 2015 年 4 月 30 日,Facebook 变得反社交。当然,这不符合他们的使命。当然有更好的方法。
【问题讨论】:
先邀请用户。当用户加入时,通知邀请他们加入的用户并告诉他设置权限 我如何知道要邀请哪些用户?我的应用程序以及我的登录用户无权访问用户/朋友。 这在developers.facebook.com/docs/apps/faq#friend_invite的常见问题解答中得到了回答 我认为这也是要走的路,但是几天前在研究这个时挖掘文档,我发现:developers.facebook.com/docs/games/invitable-friends/v2.4(“invitable_friends API 仅适用于具有Facebook Canvas 应用程序实施”)。这不是我的情况(外部网站)。 但是如果你不是游戏,我给你的链接会给你其他选择 【参考方案1】:如果您的应用不是游戏(我假设),唯一可行的选择是 Message Dialog,如
所述 https://developers.facebook.com/docs/apps/faq#friend_invite如果您的应用不是游戏并且具有移动或网络存在:
您还可以在 ios 和 android 上使用消息对话框,或在 Web 上使用发送对话框。这些产品让人们可以直接向他们的朋友发送一条消息,其中包含指向您的应用程序的链接。这种类型的消息是与少数人直接交流的绝佳渠道。 Message Dialog 和 Send Dialog 都包含一个预先输入,让人们可以轻松地选择一些朋友来接收邀请。
【讨论】:
嗯,这非常接近,如果 Send 可以仅限于一个朋友(看起来不可能),它可能会起作用。原因是为了实现上述 UX,可以发送(我认为)我的应用程序的唯一 URL,以便当他们登录时,我可以保留与该特定邀请的关联。但是,如果唯一链接发送给多个人,这将不起作用。我还没有尝试过代码,但是文档听起来像是用户(而不是开发人员)决定了多少收件人。 用户决定... 为什么不在 URL 中编码发送用户的 id?这应该工作 好的,谢谢。类似于 WizKid 建议的(上图)。我可以确定邀请他们的用户,但不能确定他们到达时的实际身份。这是与我发布的要求不同的流程和用户体验。流程必须是:1)用户通过发送对话框找到并邀请朋友,2)朋友接受并作为我的应用程序的用户加入,3)用户收到他们的朋友加入的通知,4)用户在他们的团体。没有那么优雅,但无可否认比完全阻塞要好。公平地说,Facebook 并没有“反社交”,而是沦为“乏味社交”。 :) 我有机会创建一个 POC 来在代码中进行尝试。不幸的是,这不是一个可行的解决方案。在我的场景中,我必须知道被邀请的收件人是谁,这样我才能简化流程和用户体验,这是不可能的。如果我向未知收件人发送特殊链接,出于安全原因,我必须将他们视为完全陌生的人(与邀请无关),因为我知道该链接是否被不知情的人使用。意思是,它只不过是“嘿,看看这个应用程序”类型的邀请 - 不可接受。【参考方案2】:您可能还会发现 App Invites 很有用,但我相信它仅适用于 iOS 和 Android 应用,可能不完全适合您的用例:
https://developers.facebook.com/docs/app-invites应用邀请是一种内容丰富的个性化邀请方式 他们的 Facebook 朋友到移动应用程序。
【讨论】:
以上是关于Facebook 现在是反社交的,还是有希望通过 API 将用户与他们的朋友联系起来?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iPhone 中阅读 Facebook 社交插件中的内容?
OAuth2“社交登录”流程(允许通过 Facebook/Twitter 进行 OAuth2 身份验证):是不是有任何示例/文献?