2016-01-20 85 views

回答

1

不幸的是,使用Gmail API不支持这些类型的复杂查询。

东西沿着这些路线会得到它,虽然做:直到在响应没有nextPageToken

  1. List messages与你的搜索字符串作为q -parameter(那么你将已经得到的查询结果,每)。

  2. Get all matching messages,只询问From -header,并自己查找所有唯一发件人(batch requests对此用例很有用)。

列表消息ID

q = feel the bern 
fields = messages(id),nextPageToken 

GET https://www.googleapis.com/gmail/v1/users/me/messages?q=feel+the+bern&fields=messages(id)%2CnextPageToken&access_token={YOUR_API_KEY} 

响应

{ 
"messages": [ 
    { 
    "id": "151c1de994ad5e43" 
    }, 
    { 
    "id": "1514f614e6c07c3f" 
    }, ... 
] 
} 

得到的所有消息(批次)

format = metadata 
metadataHeaders = from 
fields = id,payload/headers 

GET https://www.googleapis.com/gmail/v1/users/me/messages/151c1de994ad5e43?format=metadata&metadataHeaders=from&fields=id%2Cpayload%2Fheaders&access_token={YOUR_API_KEY} 

响应

{ 
"id": "151c1de994ad5e43", 
"payload": { 
    "headers": [ 
    { 
    "name": "From", 
    "value": "Official Bernie Store <[email protected]>" 
    } 
    ] 
} 
}, 
{ 
"id": "151c1de994ad3e22", 
"payload": { 
    "headers": [ 
    { 
    "name": "From", 
    "value": "Emil Tholin <[email protected]>" 
    } 
    ] 
} 
}, ... 

然后,你可以过滤消息了电子邮件地址,然后拿到那剩下的那些的整个邮件。

相关问题