当前位置: 首页 > 知识库问答 >
问题:

如何从控制台应用程序C#调用Microsoft Graph

柳墨一
2023-03-14

我需要调用微软图形API在Azure广告中创建用户

首先,我需要测试从控制台应用程序,然后需要实现在Azure函数。

https://developer.microsoft.com/en-us/graph/graph-explorer

string resourceId = "https://graph.microsoft.com";
string tenantId = "<tenantID>";
string authString = "https://login.microsoftonline.com/" + tenantId;
string upn = String.Empty;
string clientId = "<ClientID>";
string clientSecret = "<clientSecret>";
//string clientSecret = ConfigurationManager.AppSettings["clientSecret"];


log.Verbose("ClientSecret=" + clientSecret);
log.Verbose("authString=" + authString);

var authenticationContext = new AuthenticationContext(authString, false);

// Config for OAuth client credentials 
ClientCredential clientCred = new ClientCredential(clientId, clientSecret);
AuthenticationResult authenticationResult = await authenticationContext.AcquireTokenAsync(resourceId,clientCred);
string token = authenticationResult.AccessToken;
log.Verbose("token=" + token);

 <package id="Microsoft.Identity.Client" version="1.1.0-preview" targetFramework="net46" />

共有1个答案

孔征
2023-03-14

为了从控制台应用程序连接,您需要首先获得一个有效的令牌。由于缺少UI,您将希望在没有用户的情况下获得访问权限。请注意,这种类型的“仅应用程序”令牌需要获得行政许可才能使用。

为了支持Create User场景,您需要确保您的权限范围包括User.ReadWrite.All。

有了一个有效的令牌之后,就可以调用Graph API了。Graph是一个REST API,因此所有调用都是通过HTTP进行的,并在授权头中传递令牌。

 类似资料: