Office 365图形API不返回收件箱文件夹消息,但正在获取已发送邮件和已删除邮件

时间:2018-08-30 00:24:37

标签: c# office365 office365api

通过C#nuget客户端查询“我/消息”时,我无法使收件箱消息返回,但是我可以从其他文件夹中获取消息。

client.Me.Messages.Request().Filter("createdDateTime gt 2017-08-01T15:50:36.00Z").OrderBy("createdDateTime").Expand("attachments").GetAsync()

由于某些原因,此操作仅返回“已发送邮件”,“已删除邮件”和“对话”文件夹中的消息。但是我没有从“收件箱”文件夹中得到任何东西。

奇怪的是,我可以查询文件夹列表并展开每个文件夹的“邮件”,并且收件箱中出现邮件。

IUserMailFoldersCollectionPage foldersPage = await client.Me.MailFolders.Request().Expand("messages").GetAsync();

那么消息如何显示在收件箱的文件夹对象上,而当我查询“我/消息”时却没有出现?

1 个答案:

答案 0 :(得分:1)

根据您的描述,我想您想通过使用API​​在收件箱文件夹中获取邮件:

state = { isActive: true } toggleMnu = () => { this.setState(prevState => ({ isActive: !prevState.isActive })); }; // Show menu function render(){ return( <button type="button" onClick={this.toggleMnu}>Menu</button> {this.state.isActive ? null : <div className="extended-menu-item"> {menuInfo.map((menuItem ,index)=>{return <ExtendedMenuItem click= {this.hideExtendedNav} {...menuItem} key={index}/> })} // The component which shows menu on click )}

根据我的测试,它将获取登录用户邮箱中的所有消息。根据{{​​3}},此请求的默认页面大小为10条消息。

我们可以从响应中获取GET /users/{Garth-id | Garth-userPrincipalName}/messages,然后可以使用parentFolderId来请求以下API:parentFolderId以获取文件夹名称。

有两个步骤来检查收件箱文件夹中的邮件是否会返回。

1。我们可以增加页面大小以获取更多消息,请遵循以下代码:

GET /users/{Garth-id | Garth-userPrincipalName}/mailFolders/{id}
  1. 我们可以在响应中获取文件夹ID,然后使用var collectionMessagePage = await _serviceClient.Me.Messages.Request().Top(20).GetAsync(); 与收件箱ID进行比较。