2016-01-20 42 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]>" 
    } 
    ] 
} 
}, ... 

然後,你可以過濾消息了電子郵件地址,然後拿到那剩下的那些的整個郵件。

相關問題