/ me / inbox及其中的线程似乎不包含所有消息。当一直寻呼到最后时,没有超过几个月前的消息。任何解决方法?
(new / me / threads api似乎解决了这个问题,但是对于非开发人员来说,threads-api仍然无法使用。)
答案 0 :(得分:0)
所有消息 实际上都在图表中,您无法看到它们。
通过选择一个thread-id并附加“_messagenumber”,您可以自己查看所有消息仍然存在。 / threadid_000将检索该线程中的第一条消息,即使您无法通过线程分页来检索该消息。
那么为什么我无法正常检索它们?
问题似乎在于分页链接。分页使用“until”和“since”参数来获取下一批消息。线程分页链接的一般形式:
graph.facebook.com/的邮件ID 强> /注释=极限25安培;因为= <强>历元强>&安培; __ paging_token = <强>令牌强>
收件箱中的“下一个”分页链接是什么,它将纪元移动到过去的某个时间。不幸的是,收件箱is broken中的直到(以及自)参数。
所以我该如何解决这个问题?
请勿使用分页链接进行寻呼。使用偏移量。通过将检索到的消息数加一个偏移参数,检索第一页,然后是页面。 在伪代码中:
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=的 0 强>&安培;限制= 25
graph.facebook.com/threadid/comments?offset=的 26 强>&安培;限制= 25
graph.facebook.com/threadid/comments?offset=的 51 强>&安培;限制= 25
graph.facebook.com/threadid/comments?offset=的 76 强>&安培;限制= 25
确保您实际计算响应中的消息数量,并相应地计算偏移量,因为响应有时会减少项目。