我已经使用C#中的Microsoft Graph API创建了用于创建或获取,删除,更新在线会议的Web应用程序。
根据链接Get access on behalf of a user获取授权码。当HttpClient为AuthCodeGeneration调用api时,它返回一个webview并返回响应,该响应包含浏览器中的Authcode。我必须手动复制它才能使用Microsoft Graph API执行CreateOrGet,删除,更新在线会议。
有什么办法可以通过C#中的代码来做到这一点?
答案 0 :(得分:0)
您不需要自己处理“代码”和“访问令牌”。
安装Microsoft Graph .NET SDK并实施Authorization code provider以获取authProvider
。使用authProvider
生成graphClient
。
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithRedirectUri(redirectUri)
.WithClientSecret(clientSecret)
.Build();
AuthorizationCodeProvider authProvider = new AuthorizationCodeProvider(confidentialClientApplication, scopes);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
var onlineMeeting = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2019-07-12T21:30:34.2444915+00:00"),
EndDateTime = DateTimeOffset.Parse("2019-07-12T22:00:34.2464912+00:00"),
Subject = "User Token Meeting"
};
await graphClient.Me.OnlineMeetings
.Request()
.AddAsync(onlineMeeting);