给定Facebook公开帖子的URL,如何在FB Graph API中找到帖子对象?(其次,为什么通过API访问时,这么多的用户供稿为空或几乎为空?)
我们希望能够发布的留言或喜欢通过V2.X图形API后,鉴于这篇文章的网址。这样做需要帖子的对象ID,我们可以对其进行一些有根据的猜测,但是事实证明,通过API访问实际对象是不可靠的(对于某些帖子有效,而对其他帖子则无效)。
API的v2引入了应用程序作用域的用户ID,并且帖子ID通常看起来是{app-scoped用户ID} _ {unique post id}的形式。以下是一些尝试使用这些ID(全局用户ID,应用范围的用户ID和帖子ID)的各种组合在API中查找帖子的详细信息。
从一个简单的示例开始:https : //www.facebook.com/evan.prodromou/posts/10153023417510505。主要特征是它是公开的,不与其他文章共享,最重要的是它没有照片,为单个照片和照片集添加了额外的ID和URL。埃文(Evan)的个人资料也是公开的,即https://www.facebook.com/evan.prodromou未显示通用内容。此内容目前不可用
尝试从该URL的裸帖ID /v1.0/1015302341751010和/v2.2/10153023417510505都给出了不支持的获取请求(代码100)错误。
Evan的全球用户ID是525575504.附加,作为前缀,/v1.0/525575504_10153023417510505和/v2.2/525575504_10153023417510505仍然都给予同样不支持GET请求错误。
使用他的应用程序作用域用户ID /v2.2/10152350676805505_10153023417510505发生相同的错误。
好,让我们尝试另一个方向。我们将翻阅用户的供稿,直到找到有问题的帖子。感觉这更像是API的预期用例...
无论是全球/v2.2/525575504/posts和应用范围的/v2.2/10152350676805505/posts返回任何结果,但/v1.0/525575504/posts返回最近的文章中,这好像和这个职位。不知道为什么只有这两个,尽管最近有很多其他公开职位。可以通过id
两个API版本(例如/v1.0/525575504_10153045879215505和/v2.2/10152350676805505_10153045879215505)中的类似字段通过其字段来获取,但是当通过其id字段(例如/ v1)来获取帖子时,这两个API版本都会返回Unsupported get request错误。 0 / 525575504_351575675029953和/v2.2/10152350676805505_351575675029953
尝试其他公开帖子,其中带有图片:https : //www.facebook.com/andigalpern/posts/678121182314631。/v1.0/100003502653187_678121182314631,/v2.2/100003502653187_678121182314631和/v2.2/499657186827699_678121182314631所有的错误。
/v1.0/100003502653187/帖子仅包含一个帖子,类似,并且/v2.2/100003502653187/帖子为空。
作为参考,这是我们一直在跟踪此问题的GitHub问题。
基本上,您需要这样做read_stream
(您的应用程序将不会获得批准)。是的,即使该帖子是公开的,您仍然需要read_stream
能够阅读所有帖子。
您可以在Graph API Explorer中轻松地进行操作。首先,请授予您的应用read_stream
权限以获取Feed中的项目ID,这将为您提供“表单应用范围内的用户ID下划线帖子ID”的ID。然后删除read_stream
(再次单击“获取访问令牌”并使用“清除”按钮),并尝试几个user_*
权限-您会发现,对于大多数帖子,甚至是公开帖子,您仍然只会获得“不支持获取请求”,这意味着您不能阅读该对象。
菲,我有一个公开的帖子,在我的时间轴上的另一个页面上共享了一个视频帖子,“type
是”video
和“status_type
是” shared_story
,但既不user_status
也user_videos
不允许我阅读该帖子–只有当我read_stream
再次授予许可后,我的应用才能阅读该帖子。与typestatus
和status_type的另一个公共帖子相同mobile_status_update
-可以读取read_stream
,不具有任何user_*
权限。
简而言之:API v2不再可能实现您想要实现的目标,并且该限制read_stream
仅会授予没有官方FB客户端的平台上的应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句