我正在创建一个桌面应用程序,我需要抓取post_id
仅由页面本身发布的状态更新(没有照片,视频和其他故事/类型。)我正在使用type
参数来执行此操作轻松完成任务。
https://graph.facebook.com/{username or ID of page}/posts?fields=object_id,type&limit=250&access_token={my access token}
提供网址返回包含其类型和帖子ID的帖子列表
My Page Updated a Status
{
"type": "status",
"id": "493341197400693_627621933972618",
"created_time": "2014-04-05T18:31:58+0000"
},
它工作正常,但问题是列表中的一些帖子type=status
不是状态更新,它是一个故事,"My Page commented on a photo"
My Page commented on a Photo
{
"type": "status",
"id": "493341197400693_626576670743811",
"created_time": "2014-04-03T11:27:22+0000"
},
如果两个响应的类型都是"Status"
,如何确认状态更新或故事。
我只是想忽略My Page commented on a photo
或My Page Likes a Photo
等,任何建议?
抱歉我的英语不好。
答案 0 :(得分:0)
您可以查找“'消息'领域。状态应该有一条消息'与之相关的领域,而像“我的页面”这样的故事则与照片相关。不应该有一条消息'。这是一些示例PHP代码。
if (array_key_exists("message", $post))
//is a status
修改图形调用以包含消息,如此。
https://graph.facebook.com/ {页面的用户名或ID} /帖子?fields = object_id,type,message& limit = 250& access_token = {my access token}
答案 1 :(得分:0)
看一下流FQL表。您可以使用字段类型将帖子过滤到比使用Graph API更精细的级别:
https://developers.facebook.com/docs/reference/fql/stream/#columns
摘自文档:
The type of this story. Possible values are:
11 - Group created
12 - Event created
46 - Status update
56 - Post on wall from another user
66 - Note created
80 - Link posted
128 -Video posted
247 - Photos posted
237 - App story
257 - Comment created
272 - App story
285 - Checkin to a place
308 - Post in Group