Gmail Feed:从最新的电子邮件中检索正文。电源外壳

时间:2018-02-10 20:52:36

标签: xml powershell gmail

我想使用他们的Feed检索最新gmail的正文。这是我的代码。

我还包括

的结果
$xml.feed.entry | Select *

这是:

title           : 
summary         : Test body
link            : link
modified        : 2018-02-10T21:06:18Z
issued          : 2018-02-10T21:06:18Z
id              : tag:gmail.google.com,2004:1592049563135473902
author          : author
Name            : entry
LocalName       : entry
NamespaceURI    : http://purl.org/atom/ns#
Prefix          : 
NodeType        : Element
ParentNode      : feed
OwnerDocument   : #document
IsEmpty         : False
Attributes      : {}
HasAttributes   : False
SchemaInfo      : System.Xml.XmlName
InnerXml        : <OMITTED>
InnerText       : <OMITTED>
NextSibling     : 
PreviousSibling : modified
Value           : 
ChildNodes      : {title, summary, link, modified...}
FirstChild      : title
LastChild       : author
HasChildNodes   : True
IsReadOnly      : False
OuterXml        : <OMITTED>
BaseURI         : 
PreviousText    :

`

我正在使用dmitrysotnikov.wordpress.com中的函数来测量最新的日期时间值(它可以正常工作)。我只是告诉它选择最新日期的消息正文。

function Measure-Latest {
    begin { $latest = $null }
    process {
            if (($_ -ne $null) -and (($latest -eq $null) -or ($_ -gt 
$latest))) {
                $latest = $_ 
            }
    }
    end { $latest }
}

$webclient = new-object System.Net.WebClient

$webclient.Credentials = new-object System.Net.NetworkCredential 
("TEST123@gmail.com", "PASSWORD")

[xml]$xml= 
$webclient.DownloadString("https://mail.google.com/mail/feed/atom")

$latestmail = $xml.feed.entry.issued | Measure-Latest

1 个答案:

答案 0 :(得分:2)

你快到了!最后一步是指定您希望电子邮件具有$latestmail时间戳作为issued属性,并且您希望该电子邮件的summary属性:< / p>

($xml.feed.entry | Where-Object {$_.issued -eq $latestmail}).summary