Для графика api создания онлайн-собраний https://graph.microsoft.com/v1.0/me/onlineMeetings
мы видим, что учебник показывает, что он не поддерживает «Разрешение приложения» для его вызова. Он просто поддерживает «делегированное разрешение», поэтому мы можем просто запросить его по потоку предоставления пароля, но не по потоку учетных данных клиента.
Обновление:
Если вы хотите запросить график API для создания онлайн-собрания, мы можем просто использовать поток предоставления пароля или код авторизации. Здесь предоставьте образец потока предоставления пароля (имя пользователя и пароль) для вашей справки, используйте этот образец, чтобы получить токен и запросить график api по этому токену. Вы также можете найти этот образец в этом руководстве .
static async Task GetATokenForGraph()
{
string authority = "https://login.microsoftonline.com/contoso.com";
string[] scopes = new string[] { "user.read" };
IPublicClientApplication app;
app = PublicClientApplicationBuilder.Create(clientId)
.WithAuthority(authority)
.Build();
var accounts = await app.GetAccountsAsync();
AuthenticationResult result = null;
if (accounts.Any())
{
result = await app.AcquireTokenSilent(scopes, accounts.FirstOrDefault())
.ExecuteAsync();
}
else
{
try
{
var securePassword = new SecureString();
foreach (char c in "dummy") // you should fetch the password
securePassword.AppendChar(c); // keystroke by keystroke
result = await app.AcquireTokenByUsernamePassword(scopes,
"joe@contoso.com",
securePassword)
.ExecuteAsync();
}
catch(MsalException)
{
// See details below
}
}
Console.WriteLine(result.Account.Username);
}