我有这段代码:
$url = "https://outlook.office365.com/api/v1.0/me/messages"
$date = Get-Date -Format "yyyy-MM-dd"
$messageQuery = "" + $url + "?`$select=Id&`$filter=HasAttachments eq true and DateTimeReceived ge " + $date
$messages = Invoke-RestMethod $messageQuery -Credential $cred
foreach ($message in $messages.value)
{
我尝试从11个不同的电子邮件中下载11个附件......但我只得到10个...... Invoke-RestMethod中是否有限制?是我能找到的唯一原因,因为它最多可以完成10个附件......
答案 0 :(得分:2)
https://outlook.office365.com/api/v1.0/me/messages
的回复是分页。
每页的默认项目数为10。
您可以申请的最高金额为50。
分页时检查"@odata.nextLink"
的响应正文最重要的部分,例如
"@odata.nextLink": "https://outlook.office365.com/api/v1.0/me/messages/?%24top=10&%24skip=10"
如果存在;点击该链接到下一页的结果!
答案 1 :(得分:1)
将Top
参数添加到QueryString(如果没有其他参数):
$url = "https://outlook.office365.com/api/v1.0/me/messages?&top=999"
或:
$messageQuery = "" + $url + "?`$select=Id&`$filter=HasAttachments eq true and DateTimeReceived ge " + $date + '&top=999'