我们如何只捕获gmail API的api响应中的电子邮件地址.该
fields参数设置为payload / headers,它返回的数据比响应中所需的数据多.
我们所需要的只是
JSON响应中一个名称/值对的值;例如
我们现在的完整响应看起来像这样
{
"payload": {
"headers": [
{
"name": "Delivered-To",
"value": "xxxxxxx"
{
"name": "Received",
"value": "xxxxxxxx"
},
{
"name": "Received-SPF",
"value": "----"
},......
{
"name": "To",
"value": "xxxxxxx"
}, ...... E.T.C........E.T.C ......
/*All we want is one name/value pair to be returned e.g. */
{
"payload": {
"headers": [
{
"name": "X-Failed-Recipients",
"value": "............."
}
]
}
一个更好的问题可能是通过gmail API获取退回/返回邮件的更好方法吗?
此外,是否可以请求XML响应而不是JSON.如何为gmail API做到这一点?
谢谢 !!
最佳答案 您可以执行messages.get(format = METADATA,metadataIncludeHeaders = [“To”,“From”,“Subject”]),现在只需要请求您关注的特定标头.请注意,这仅适用于元数据格式(如果您希望所有正文都获得完整的电子邮件,它也不会包含正文.基于标题列表,不应该太难将其转换为地图/密钥的dict => [list,of,values].
关于你的第二个问题,是的,你绝对可以以任何你想要的格式请求回复.这是一个标准的Google API问题.我找不到一个好的参考(肯定会有一些搜索)但通常你可以设置一个“alt = xml”或“alt =”查询参数来获得该格式的响应.不确定这是如何在任何特定客户端库中公开的.