はい、クライアント資格情報フローを使用してデーモンサービスアプリを作成して、アプリを認証できます。
string clientId = "";
string clientsecret = "";
string tenant = "";
string resourceURL = "https://graph.microsoft.com";
string authority = "https://login.microsoftonline.com/" + tenant + "/oauth2/token";
string userMail = "[email protected]";
var credential = new ClientCredential(clientId, clientsecret);
AuthenticationContext authContext =new AuthenticationContext(authority);
var authResult = await authContext.AcquireTokenAsync(resourceURL, credential);
var graphserviceClient = new GraphServiceClient(
new DelegateAuthenticationProvider(
(requestMessage) =>
{
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", authResult.AccessToken);
return Task.FromResult(0);
}));
var items = await graphserviceClient.Users[userMail].Messages.Request().OrderBy("receivedDateTime desc").GetAsync();
foreach (var item in items)
{
Console.WriteLine(item.Subject);
}
そして、私たちはアズールADポータル上のアプリを登録して、アプリMail.Read範囲を付与する必要があります。ここでは
は、このフローを使用してMicrosoftグラフSDKを使用してメールを取得するためのコードサンプルです下図のように:
はい、あなたがADALを通して行うことができ、サービスまたはデーモンアプリ
でMicrosoftグラフを呼び出すことについて、詳細はhereを参照してください。 libにUserCredentialワークフローが含まれていますが、何を試したのか、コードに問題があるのかを具体的に説明する必要があります。 –