AcquireTokenByAuthorizationCodeAsync无法完成

时间:2017-07-26 23:39:09

标签: asp.net-mvc azure-active-directory office365api outlook-calendar

这是我的代码。已经过了一个多月我试图在Outlook中添加日历但没有任何工作:(请帮助。函数<div id="example"> <img src="" alt="" /> <input type="button" value="click me"> <h3>Title</h3> <p>Price</p> <p>Description</p> </div>永远不会完成。而AcquireTokenByAuthorizationCodeAsync始终为空

token.Result

1 个答案:

答案 0 :(得分:0)

当我使用AcquireTokenByAuthorizationCodeAsync而不是使用result关键字调用await并且所有这些代码都在MVC中的异步控制器中时,我遇到了此问题。

如果您处于相同的情况,可以通过两种方式解决此问题:

1.始终使用下面的asyncawait代码:

public async System.Threading.Tasks.Task<ActionResult> About()
{
    ...
    var result =await ac.AcquireTokenByAuthorizationCodeAsync(code, new Uri("http://localhost:2694/GetAuthCode/Index/"), clcred, resource: "https://graph.microsoft.com/");
    var accessToken = result.AccessToken;
    ...
}

2.使用同步控制器:

public void About()
{
    ...
    var result =ac.AcquireTokenByAuthorizationCodeAsync(code, new Uri("http://localhost:2694/GetAuthCode/Index/"), clcred, resource: "https://graph.microsoft.com/").Result;
    var accessToken = result.AccessToken;
    ...
}