使用Graph API v.2.0获取Facebook好友

62

之前我通常这样使用Graph API 来获取我的朋友(使用Graph API Explorer):

/me/friends

一切都很完美,但现在,使用2.0版本后,我发现这种方式不能为没有使用应用程序(通过Facebook登录)发出请求的朋友运作,如果我将Graph API Explorer切换到1.0版本,则可以正常运作。

那么,我如何在2.0版本中做同样的事情呢?


10
无法实现,这些更改的整个目的是为了减少数据曝光并提供给用户更多隐私保护。在/me/friends终端节点返回的好友列表现在将仅限于已授权您的应用程序的好友列表。 - CBroe
11
这是一个坏消息,因为这个错误的好主意会导致更多混乱。多久之后应用程序开始要求用户名和密码来检索他们不能通过OAuth检索的数据?并且其他新的肮脏策略也会出现:一个书签或浏览器附加程序可能会在用户连接到Facebook时吸取内容。Facebook的决定违背了OAuth的目标:提供一种清洁和可控的方式,让应用程序代表用户行事。 - Tony - Currentuser.io
6
好的,我用Graph Explorer v2.0测试了一下,你可以在新闻动态中获取朋友的帖子,但不能获取朋友的时间线。我能理解Facebook想要保护用户数据不被应用程序滥用的想法,但是...我希望他们能找到聪明的方法让开发者向客户展示数据,而不必将其发送到其他服务器。我想知道现在所有Facebook客户端应用程序会发生什么。这太疯狂了。 - user1105951
6
我在Facebook Graph API上开了一个问题 - 请通过订阅和开启相关问题来帮助:http://developers.facebook.com/bugs/1502515636638396 - joshis
3
不,我需要报告一项RFE请求。当前的API对于某些非恶意用例来说过于受限制了。 - joshis
显示剩余11条评论
1个回答

109
在API的v2.0版本中,/me/friends返回已登录应用程序的好友。
在2014年4月30日或之后创建的应用程序必须使用Graph API v2.0;它们无法调用Graph API v1.0。
对于在2014年4月30日之前活动的应用程序,这些应用程序可以调用Graph API v2.0或Graph API v1.0,但Graph API v1.0将于2015年4月30日停用。
请注意,如果用户通过v2.0登录应用程序,并且您调用/v1.0/me/friends,这仍然只会返回使用应用程序的朋友。
如果您想访问非应用程序使用的朋友(例如您想让您的用户在发布到Facebook的故事中标记人),则可以使用/me/taggable_friends API。
在您想邀请人们使用您的应用程序的情况下,游戏可以使用/me/invitable_friends端点来呈现自定义邀请选择器。然后可以在请求对话框中使用此API返回的令牌。请参见https://developers.facebook.com/docs/games/invitable-friends/v2.0https://developers.facebook.com/docs/games/requests/v2.0 对于非游戏应用希望允许人们邀请朋友使用应用程序,您仍然可以使用Web上的发送对话框iOSAndroid上的消息对话框。

61
许多应用将会消亡,这很糟糕,从许多方面来看。 - Foriger
1
对于非游戏类应用想要允许用户邀请朋友使用该应用,你应该在Web上使用发送对话框或在iOS和Android上使用消息对话框。这些对话框允许用户选择他们的任何朋友,包括那些没有使用该应用的朋友。 - Simon Cross
1
太棒了!可惜我在研究了5个小时后才发现这个答案。 - Rotem
@Oscar,这要看情况。你的应用程序必须在2014年4月30日之前处于活动状态。如果你的应用程序在2014年4月30日之前没有进行API调用,它也将被升级为使用v2.0,并且会像任何在2014年4月30日之后创建的应用程序一样运行。对于在2014年4月30日之前处于活动状态的应用程序,你可以调用API v1.0,直到2015年4月30日之后,v1.0将被弃用,适用于所有应用程序。 - Simon Cross
1
这件令人讨厌的事情在于像Pinterest这样的应用程序之所以大受欢迎,是因为它们能够在简洁的用户界面中强制要求你邀请Facebook好友,而它们现在仍然这样做!然而,新的应用程序和从此以后的任何新社交网络或想法都不能做到同样的事情?这是肮脏的,几乎是一种垄断性的举动,以便其他人无法将Facebook用作邀请工具。这是一个可怕的决定。 - Tyler Durden
显示剩余12条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接