当前位置: 首页 > 知识库问答 >
问题:

无法使用 .Net SDK 从 Microsoft Graph 获取邮箱设置

慕健
2023-03-14

我正在尝试使用Ms Graph .Net SDK和应用程序权限从Microsoft Graph v1.0获取用户邮箱设置。

我具有正确的权限(MailboxSettings.Read 和 User.Read.All),并且这些权限已获得管理员同意。

以下是调用的代码:

    var settings = await graphClient.Users[{userId}].Request()
        .Select(e => new
        {
            e.MailboxSettings
        })
        .GetAsync();

当我拨打电话时,我收到错误:

错误访问被拒绝,访问被拒绝。请检查凭据,然后重试。

我的 graphClient 对象(可能)没有任何问题,因为我可以成功调用其他资源,例如:

var events = await graphClient.Users[{userId}].Events.Request()

我尝试向 API 发出 HTTP 请求,然后得到成功的响应。(当我创建 graphClient 和获取 API 调用的身份验证令牌时,我使用相同的 clientId、clientSecret 等)。

这是我调用的endpoint:

https://graph.microsoft.com/v1.0/users/{用户 ID}/邮箱设置

为什么我在使用 SDK 时收到错误?我的html" target="_blank">请求不正确还是 SDK 中存在错误?

共有2个答案

云德辉
2023-03-14

您只能将其用于邮箱设置.read。

async Task GetMailboxSettings(GraphServiceClient client)
{
    var mailboxSettingsUrl = client.Users["adelev@contoso.onmicrosoft.com"].RequestUrl + "/mailboxsettings";
    HttpRequestMessage hrm = new HttpRequestMessage(HttpMethod.Get, mailboxSettingsUrl);

    await client.AuthenticationProvider.AuthenticateRequestAsync(hrm);

    HttpResponseMessage response = await client.HttpProvider.SendAsync(hrm);

    if (response.IsSuccessStatusCode)
    {
        // Deserialize into OneNotePage object.
        var content = await response.Content.ReadAsStringAsync();
        MailboxSettings mailboxSettings = client.HttpProvider.Serializer.DeserializeObject<MailboxSettings>(content);
    }
}
伍玮
2023-03-14

明白了。这是一个错误:https://github.com/microsoftgraph/msgraph-sdk-dotnet/issues/538。您需要读取和写入权限才能读取邮箱设置。

 类似资料:
  • 我已经设置了一个Office365设备邮箱,这样我就可以在outlook中打开它(使用Open->其他用户的邮箱),但是我无法使用C#EWS API访问该邮箱。访问邮箱的代码: 结果出现以下异常:

  • 不,它不是重复的。 如果我输入了错误的用户名和密码,它会显示为“身份验证失败”,但当我输入正确的用户名和密码时,它会显示为“邮箱无法访问”。

  • 本文向大家介绍Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解,包括了Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解的使用技巧和注意事项,需要的朋友参考一下 直接上代码实例:  QQ邮箱设置 更多关于Python使用QQ邮箱发送邮件的实例请查看下面的相关链接

  • 我正在尝试从GitHub获取一个用户的电子邮件地址,我只是在使用Postman测试过程。我有一个令牌,它有user和user:email作用域,点击https://api.github.com/user可以得到用户的信息。私人电子邮件在该endpoint不可见,所以我也点击https://api.github.com/user/emails。电子邮件endpoint给了我一个404。 与404一起

  • 我试图从邮递员这里发送json正文,我有简单的php代码获取json正文 当我从邮递员那里发送json尸体时,它给出了这些东西 注意:未定义的偏移量:第7行D:\Xampp\htdocs\Ass\index.php中的0 数组 那么如何从php文件中获取json值呢?

  • 所以我正在尝试更新我的代码,并将其显示给用户。基本上它是能够做什么我需要做但后执行它我得到这个错误 C:\Users\tester01\u 2\myproject\node\u modules\mongodb core\lib\cursor。js:174投掷错误;^错误:发送邮件后无法设置邮件头。在服务器响应。传出消息。ServerResponse上的setHeader(_http_outgoin

  • 问题内容: 在我的Android应用程序中,我开发了此代码以使用我的帐户登录并获取用户属性,例如名称,位置和电子邮件。问题是我可以获取名称,但无法获取电子邮件和位置。当我不加尝试地尝试代码时,发现应用程序崩溃并且我的登录点位于和。当我使用尝试。该应用程序可以运行,但是没有电子邮件或位置。 问题答案: 问题是您没有要求权限: 但是,您使用的是较旧的Facebook SDK,而最新的SDK是4.0。+

  • 我想看GMail的邮件正文。 我能够获得所有详细信息,例如发件人姓名,电子邮件和主题等,但不能获得电子邮件正文。 我知道有特定的Gmail的API可以做到这一点,但IMAP不应该工作吗? 从PHP的文档中可以看出: 我尝试了<code>$message=imap_fetchbody($inbox,$email_number,“1.2”)和