我的组织最近开始在其Facebook页面上使用文件夹。然后,会话可以分为收件箱,未读,跟进,完成和垃圾邮件。
我经常通过Graph API下载消息,当他们将所有会话保留在收件箱中时,一切正常。但是最近他们对会话进行了分类,因此收件箱目前只有7个元素,未读和跟进中有0个元素,Done和Spam文件夹中有无数个元素。
我之前使用过以下查询:
me/conversations?fields=updated_time,messages.limit(100){message,from,created_time}&limit=100
现在它只返回收件箱中的元素。
Graph API reference含糊地描述了文件夹和标签等参数。我尝试使用文件夹参数,如:
me/conversations?folder=done
me/conversations?folder=unread
me/conversations?folder=randomstring
它一直从收件箱返回相同的7个元素。
但是,如果我查询me/conversations?folder=spam
,它会返回10个不同的元素,这些元素与实际的" Spam"文件夹并包含标记为"完成"的元素。 (它们是非常可疑的对话,所以它们可能被标记为垃圾邮件,可能有两种不同的垃圾邮件定义,标记为垃圾邮件或在垃圾邮件文件夹中,我不知道。)
API参考未指定如何实际使用文件夹和tags参数,也没有说明如何查询其他文件夹中的邮件。
知道如何访问其他文件夹中的对话吗?我可以逐个查询文件夹或从所有文件夹中查询。
答案 0 :(得分:8)
文档可能需要一些更新。但是现在,我可以通过以下方式查询“DONE”中的消息:
/{page-id}/conversations?tags=action:archived
答案 1 :(得分:2)
在调查此端点之后,我认为?folders
是从文件夹中的消息到对话到页面的消息传递之前的一些古老的参数。如果我查询我的页面中的垃圾邮件文件夹,我就永远不会列出邮件,即使我用垃圾邮件标记了一些邮件。虽然他们被标记为垃圾邮件,但我没有在对话查询中获得这些信息(没有文件夹=垃圾邮件)。
我相信,facebook会在会话中将系统更改为tags
。你可以这样:[page_id]/conversations?fields=participants,messages{tags,message}&folder=sent
。
注意:标记为“no sent tag”与应用的文件夹无关(因为它们不起作用)。也许对话的标记是你在[page_id]?fields=threads{participants,messages{tags,message}}
所以现在我觉得,必须要在那里过来阅读收件箱。但是我没有从图中获得被标记的垃圾邮件而感到有些遗憾。我稍后会对此进行调查^^
答案 2 :(得分:0)
使用Page Access Token调用folder = page_done来检索Page inbox的Done文件夹中的所有线程/消息。
{page-id}/conversations?folder=page_done
获取页面访问令牌
{page-id}?fields=access_token