/me/收件箱,以及里面的线程,似乎并不包含所有的宅院。当一直寻呼到结束时,没有几个月前的消息。有什么解决办法吗?
(新的/me/developers似乎解决了这个问题,但线程- api对非开发人员仍然不可用)。
发布于 2014-02-23 03:38:40
所有消息实际上在图中都是,您只是看不到它们。
通过选择一个线程id并在其中添加"_messagenumber“,您可以自己看到所有的消息仍然在那里。/threadid_000将检索该线程中的第一条消息,即使您无法通过分页访问该线程来检索该消息。
,那么为什么我不能正常地取回它们?
问题似乎在于分页链路。分页使用“直到”和“自”参数来获取下一批消息。线程分页的一般形式-链接:
graph.facebook.com/messageid/comments?limit=25&since=epoch&__paging_token=token
收件箱中的“下一步”分页链接所做的是,它将纪元移动到过去的一个更远的时间。不幸的是,收件箱中的直到(和自)参数断了。
,那么我怎么解决这个问题呢?
不要使用分页链接页面。使用偏移量。检索第一页,然后通过向偏移量参数中添加所检索的消息数量加上一条消息来检索页面。伪码:
offset=0
do
{
response=make_api_call('{$threadid}?offset={$offset}&limit=25')
offset+=length(response)+1
while length(response)>0
}
假设一个线程包含100条消息。这些API调用将用于检索所有消息,从最新消息到最旧消息:
graph.facebook.com/threadid/comments?offset=&limit=25 graph.facebook.com/threadid/comments?offset=26&limit=25 graph.facebook.com/threadid/comments?offset=51&limit=25 graph.facebook.com/threadid/comments?offset=76&limit=25
请确保实际计算响应中的消息数量,并相应地计算偏移量,因为响应有时有较少的项。
https://stackoverflow.com/questions/21967700
复制