kyl*_*ewm 10 facebook facebook-graph-api facebook-graph-api-v2.2 indieweb
鉴于公开Facebook帖子的URL,如何在FB Graph API中找到帖子对象?(其次,当通过API访问时,为什么这么多用户提要为空或几乎为空?)
我们希望能够在评论或喜欢通过V2.X图形API后,鉴于这篇文章的网址.这样做需要post的对象ID,我们可以做一些有根据的猜测,但是通过API访问实际对象已被证明是不可靠的(适用于某些帖子但不适用于其他帖子).
API的v2引入了应用范围的用户ID,帖子ID通常似乎是{app-scoped user 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/10153023417510505和/v2.2/10153023417510505都会给出不支持的get请求(代码100)错误.
Evan的全局用户ID是525575504.将其作为前缀附加,/ v1.0/525575504_10153023417510505和/v2.2/525575504_10153023417510505仍然都提供相同的不支持的get请求错误.
使用他的应用程序范围的用户ID代替相同的错误,/ v2.2/10152350676805505_10153023417510505.
好吧让我们试试另一个方向.我们将浏览用户的Feed,直到找到相关帖子.感觉这更像是API 的预期用例......
无论是全球/v2.2/525575504/posts和应用范围的/v2.2/10152350676805505/posts返回任何结果,但/v1.0/525575504/posts返回最近的文章中,这好像和这个职位.不知道为什么只有那两个,尽管最近有很多其他的公开帖子.可以id在两个api版本中通过其字段获取类似内容,即/v1.0/525575504_10153045879215505和/v2.2/10152350676805505_10153045879215505,但是两个API版本在通过其id字段(例如/ v1)获取帖子时返回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/posts只包含一个帖子,类似,而/v2.2/100003502653187/posts为空.
作为参考,这里是我们一直在跟踪这个问题的GitHub问题.
基本上你需要read_stream这个(你的应用程序不会获得授权)。是的,即使该帖子是公开的,您仍然需要read_stream能够读取所有类型的帖子。
您可以在 Graph API Explorer 中轻松地使用它。首先授予您的应用程序read_stream获取提要 \xe2\x80\x93 中项目 id 的权限,这将为您提供 \xe2\x80\x9cform 应用程序范围内的用户 id 下划线帖子 id\xe2\x80\x9d 的 id。然后删除read_stream(通过再次单击 \xe2\x80\x9cGet Access Token\xe2\x80\x9d 并使用 \xe2\x80\x9cClear\xe2\x80\x9d 按钮),并尝试以下几种方法:user_* xe2\x80\x93你会发现,对于你的大多数帖子,甚至是公开的帖子,你仍然只会得到 \xe2\x80\x9cUnsupported get request\xe2\x80\x9d,这仅仅意味着你不被允许读取该对象。
Fe,我有一个公共帖子,其中分享了我时间线上另一个页面的视频帖子, istype和videois status_type,shared_story但既不user_status也不允许user_videos我阅读这篇文章 \xe2\x80\x93 仅当我read_stream再次授予时,我的应用程序可以读取邮政。与另一篇类型status为 status_type mobile_status_update\xe2\x80\x93 的公共帖子相同,可使用 读取read_stream,但不能使用任何user_*权限。
简而言之:使用 API v2 和以下限制不再可能实现您想要实现的目标read_stream仅授予不存在官方 FB 客户端的平台上的应用程序。
| 归档时间: |
|
| 查看次数: |
5119 次 |
| 最近记录: |