如何通过图表Api按文件夹查询会话?

时间:2017-12-07 01:07:55

标签: facebook rest facebook-graph-api

我的组织最近开始在其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参数,也没有说明如何查询其他文件夹中的邮件。

知道如何访问其他文件夹中的对话吗?我可以逐个查询文件夹或从所有文件夹中查询。

3 个答案:

答案 0 :(得分:8)

文档可能需要一些更新。但是现在,我可以通过以下方式查询“DONE”中的消息:

/{page-id}/conversations?tags=action:archived

答案 1 :(得分:2)

在调查此端点之后,我认为?folders是从文件夹中的消息对话到页面的消息传递之前的一些古老的参数。如果我查询我的页面中的垃圾邮件文件夹,我就永远不会列出邮件,即使我用垃圾邮件标记了一些邮件。虽然他们被标记为垃圾邮件,但我没有在对话查询中获得这些信息(没有文件夹=垃圾邮件)。

我相信,facebook会在会话中将系统更改为tags。你可以这样:[page_id]/conversations?fields=participants,messages{tags,message}&folder=sent

enter image description here

注意:标记为“no sent tag”与应用的文件夹无关(因为它们不起作用)。也许对话的标记是你在[page_id]?fields=threads{participants,messages{tags,message}}

查询线程得到相同结果的原因

enter image description here

所以现在我觉得,必须要在那里过来阅读收件箱。但是我没有从图中获得被标记的垃圾邮件而感到有些遗憾。我稍后会对此进行调查^^

答案 2 :(得分:0)

使用Page Access Token调用folder = page_done来检索Page inbox的Done文件夹中的所有线程/消息。

{page-id}/conversations?folder=page_done

获取页面访问令牌

{page-id}?fields=access_token