我使用Azure AD为Alexa设置了帐户关联。我正在使用C#编写我的Lambda函数,因为.Net Core包含访问Dynamics 365所需的库。我似乎无法在C#中获得accessToken
。在node.js中,这就像var accessToken = session.user.accessToken
一样简单。我在这里错过了什么吗?我不知道如何获取令牌,因此我可以使用它与Dynamics 365进行通信。我知道OAuth部分很好,因为我已经使用node.js访问了令牌。我只需要在C#中实现它。有没有人有这方面的经验?
答案 0 :(得分:0)
accessToken位于请求正文中。您可以通过以下方式获取accessToken:
using (var sr = new StreamReader(HttpContext.Current.Request.InputStream))
{
var body = sr.ReadToEnd();
var request = se.Deserialize<Alexa.StandardRequest>(body);
var accessToken = request.session.user.accessToken;
}
虽然Alexa.StandardRequest可以通过遵循https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/custom-standard-request-types-reference的Alexa请求规范来声明,但最简单的方法是将请求json数据复制并粘贴到IDE并将其粘贴为类。