【问题标题】:Microsoft Graph API to fetch Outlook Mails, C# Console ApplicationMicrosoft Graph API 用于获取 Outlook 邮件、C# 控制台应用程序
【发布时间】:2019-03-08 05:22:49
【问题描述】:

如何使用 Microsoft Graph API 获取 Outlook 邮件?

我想创建一个基于 c# 控制台的应用程序,该应用程序将在每 20 分钟后运行一次并获取邮件。

我已经在以下代码的帮助下生成了访问令牌。

static async Task<string> getAccessToken() {
    authContext = new AuthenticationContext("https://login.microsoftonline.com/tenantId");
    result = await authContext.AcquireTokenAsync(resourceUri, clientCredential);
    Console.WriteLine(result.AccessToken);
}

我也想了解/me和/user/{UserID}的区别。

【问题讨论】:

    标签: c# microsoft-graph-api adal


    【解决方案1】:

    您可以使用消息端点获取消息:

    GET /me/messages
    GET /users/{id | userPrincipalName}/messages
    

    您将获得的身份验证令牌放入授权标头中。

    /me - 将请求范围限定为您为其生成令牌的用户。 /users/{id} - 将请求范围限定为您为其指定 id 的用户。

    【讨论】:

    • 当我使用 client_credentials 获取令牌时。那么调用这些 API 中的哪一个呢?我能理解的是 /me 不能在这里工作,因为我没有登录,如果使用 /user/id 他们是谁以及如何获取其凭据。
    • @rishabh 是正确的。如果您使用的是仅限应用程序的令牌(客户端凭据),则应使用 /users/{id}。您也可以使用 /users/foo@bar.com - 其中 foo@bar.com 是他们的 Upn。
    猜你喜欢
    • 2020-05-27
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    相关资源
    最近更新 更多