Facebook 我们不总是需要获得';读流';权限?

Facebook 我们不总是需要获得';读流';权限?,facebook,facebook-graph-api,permissions,Facebook,Facebook Graph Api,Permissions,在使用我的应用程序或Graph API Explorer时,我了解到我可以访问任何人的一些信息。比如说, https://graph.facebook.com/btaylor. 这包括主题'feed'和'posts',它们需要'read\u stream'权限。我可以得到这些信息,即使他没有将我知道的权限扩展到我的应用程序。我的问题是,“阅读流”主题是否具有不需要权限的未记录特殊状态?我将分别回答您的两个问题 首先,读取流权限并不矛盾。您将需要一个访问令牌来读取某人的流,没有例外。您观察到的

在使用我的应用程序或Graph API Explorer时,我了解到我可以访问任何人的一些信息。比如说,

 https://graph.facebook.com/btaylor.

这包括主题
'feed'
'posts'
,它们需要
'read\u stream'
权限。我可以得到这些信息,即使他没有将我知道的权限扩展到我的应用程序。我的问题是,“阅读流”主题是否具有不需要权限的未记录特殊状态?

我将分别回答您的两个问题

首先,读取流权限并不矛盾。您将需要一个访问令牌来读取某人的流,没有例外。您观察到的不一致性可能在于URL中存在访问令牌。比如说

由于URL不包含访问令牌,因此不应向您提供基本详细信息以外的任何信息

将向您显示其他详细信息,因为它确实包含访问令牌。但是,请注意,访问令牌将在某个点过期,因此上面的链接可能无法工作。可在此处找到具有正确访问令牌的此链接:

当查看btaylor的帖子时,会告诉你需要一个访问令牌,但会显示所有帖子

Graph API Explorer可能正在缓存访问令牌,并在您不知情的情况下随您的请求一起发送,但我的情况似乎并非如此。您确定“访问令牌”字段中不存在访问令牌吗


其次,你可以在某人的Facebook个人资料上公开查看数据的原因是他们的Facebook隐私设置。Facebook隐私设置与通过Graph API请求和授予的权限完全不相关。你可以在Facebook个人资料上公开所有信息,但这些信息(除了基本信息)都不能通过API获得。用户在使用API时必须明确允许应用程序访问其信息。至于“为什么”会出现这种情况,可能是因为隐私和垃圾邮件。如果世界上的每个人都可以通过API访问一个人公开提供的所有信息,那么只允许在facebook.com上查看这些信息的垃圾邮件可能会多得多。

我没有“feed”和“post”属性()。你确定你没有在FB文档中单击包含访问令牌作为URL参数的链接吗?我确实请求了read_stream权限。然后在GraphAPI浏览器中请求“/btaylor/posts”,得到一个包含posts数组的对象。我假设许可不是btaylor授予的。当我在我的应用程序中尝试它时,同样的行为也存在。(1) 为什么read_stream权限似乎不一致>,以及(2)为什么我可以在Facebook页面上公开查看大量数据,但只有在获得权限后才能通过编程方式访问它?