0

我希望能够获取租户中特定名称的未读电子邮件数量。

像:https : //graph.microsoft.com/v1.0/me /mailFolders/Inbox/messages?$filter=isRead ne false&$count=true]

但能够为特定用户更改,以上适用于我的签名用户的图形资源管理器。

我在这里试过这个例子。这给我带来了一个用户列表,并试图修改它但没有成功。

该应用程序具有 microsoft graph 的 api 权限,可以读取所有邮箱中的邮件。

4

3 回答 3

1

访问登录用户以外的用户邮箱。您将需要使用应用程序(仅限应用程序)令牌调用 api。这将需要为 Mail.Read 请求应用程序权限(而不是委托权限)。

有关在没有用户上下文的情况下获取访问权限的更多信息,请访问https://docs.microsoft.com/en-us/graph/auth-v2-service?context=graph%2Fapi%2F1.0&view=graph-rest-1.0

请求将是 GET https://graph.microsoft.com/v1.0/users/ {id | userPrincipalName}/messages

您可以通过调用 GET https://graph.microsoft.com/v1.0/users使用 id

或者在大多数情况下使用您可能已经拥有的他们的电子邮件地址 upn。

此处提供更多文档https://docs.microsoft.com/en-us/graph/api/user-list-messages?view=graph-rest-1.0&tabs=http

您实际上可以在我们的 Postman 集合中测试这些请求调用。Graph Explorer 纯粹用于代表流请求调用。设置说明在这里https://docs.microsoft.com/en-us/graph/use-postman

于 2019-07-03T23:03:20.753 回答
0

只需在 GET API 中传递 UserID

{{UserId}} - username/mailid/principalName
    
 https://graph.microsoft.com/v1.0/users/{{UserId}}/mailFolders/Inbox/messages?$filter=isRead ne true&$count=true
于 2020-08-25T11:25:13.800 回答
0

我可能误解了您的问题,但我认为您的问题是您在 URI 中用用户标识符替换了我。如果这是正确的,您需要将其替换为用户/用户标识符

这将使查询:

https://graph.microsoft.com/v1.0/user/ /mailFolders/Inbox/messages?$filter=isRead ne false&$count=true

于 2019-07-03T21:18:29.187 回答