【问题标题】:Office 365 API MVC AuthentificationOffice 365 API MVC 身份验证
【发布时间】:2015-03-09 01:30:45
【问题描述】:

我正在使用 MVC Office 365 API 库,我想归档以下内容:登录到我知道用户名/密码的用户帐户,然后获取日历条目。

到目前为止,我所拥有的是进行此重定向并要求用户输入凭据的代码。但是我怎样才能在不询问的情况下为他们登录呢?我们的想法是每隔几分钟自动获取每个用户(比如说 20 个)的日历条目。

public static async Task<IEvent[]> GetCalendarEvents()
{
    var client = await EnsureClientCreated();

    // Obtain calendar event data
    var eventsResults = await (from i in client.Me.Events
                                where i.End >= DateTimeOffset.UtcNow
                                select i).Take(10).ExecuteAsync();

    var events = eventsResults.CurrentPage.OrderBy(e => e.Start).ToArray();

    return events;
}

public static async Task<ExchangeClient> EnsureClientCreated()
{
    var _discoveryContext = await CacheHelper.GetDiscoveryContext();
    var dcr = await _discoveryContext.DiscoverResourceAsync(ServiceResourceId);
    return new ExchangeClient(ServiceEndpointUri, async () =>
    {
        return (await _discoveryContext.AuthenticationContext.AcquireTokenByRefreshTokenAsync(new SessionCache().Read("RefreshToken"),
            new Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential(_discoveryContext.AppIdentity.ClientId, _discoveryContext.AppIdentity.ClientSecret),
            ServiceResourceId))
            .AccessToken;
    });
}

【问题讨论】:

    标签: c# asp.net-mvc oauth office365


    【解决方案1】:

    我知道的迟到的答案。但是,如果您仍在寻找这个或其他任何人,那么这个博客可能就是您要寻找的。​​p>

    http://blogs.msdn.com/b/exchangedev/archive/2015/01/22/building-demon-or-service-apps-with-office-365-mail-calendar-and-contacts-apis-oauth2-client-credential-flow.aspx

    守护程序/服务应用程序将代表用户获取日历事件,证明用户和应用程序在同一个租户/组织下注册。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 2015-04-05
      相关资源
      最近更新 更多