acquireAccessToken
本文内容
命名空间:microsoft.graph
获取 OAuth 访问令牌,以授权Azure AD预配服务以将用户预配到应用程序中。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限 。
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
Directory.ReadWrite.All
委派(个人 Microsoft 帐户)
不支持。
应用程序
Application.ReadWrite.OwnedBy、Directory.ReadWrite.All
HTTP 请求
POST /applications/{applicationsId}/synchronization/acquireAccessToken
POST /servicePrincipals/{servicePrincipalsId}/synchronization/acquireAccessToken
名称
说明
Authorization
Bearer {token}。必需。
Content-Type
application/json. Required.
请求正文
在请求正文中,提供参数的 JSON 表示形式。
下表显示了可用于此操作的参数。
响应
如果成功,此操作返回 204 No Content 响应代码。
示例
请求
POST https://graph.microsoft.com/beta/applications/{applicationsId}/synchronization/acquireAccessToken
Content-Type: application/json
{
"credentials": [
{
"@odata.type": "microsoft.graph.synchronizationSecretKeyStringValuePair"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var credentials = new List<SynchronizationSecretKeyStringValuePair>()
{
new SynchronizationSecretKeyStringValuePair
{
}
};
await graphClient.Applications["{application-id}"].Synchronization
.AcquireAccessToken(credentials)
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
const acquireAccessToken = {
credentials: [
{
'@odata.type': 'microsoft.graph.synchronizationSecretKeyStringValuePair'
}
]
};
await client.api('/applications/{applicationsId}/synchronization/acquireAccessToken')
.version('beta')
.post(acquireAccessToken);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/applications/{applicationsId}/synchronization/acquireAccessToken"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSMutableArray *credentialsList = [[NSMutableArray alloc] init];
MSGraphSynchronizationSecretKeyStringValuePair *credentials = [[MSGraphSynchronizationSecretKeyStringValuePair alloc] init];
[credentialsList addObject: credentials];
payloadDictionary[@"credentials"] = credentialsList;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<SynchronizationSecretKeyStringValuePair> credentialsList = new LinkedList<SynchronizationSecretKeyStringValuePair>();
SynchronizationSecretKeyStringValuePair credentials = new SynchronizationSecretKeyStringValuePair();
credentialsList.add(credentials);
graphClient.applications("{applicationsId}").synchronization()
.acquireAccessToken(SynchronizationAcquireAccessTokenParameterSet
.newBuilder()
.withCredentials(credentialsList)
.build())
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewCredentialsRequestBody()
requestBody.SetCredentials( []SynchronizationSecretKeyStringValuePair {
msgraphsdk.NewSynchronizationSecretKeyStringValuePair(),
SetAdditionalData(map[string]interface{}{
"@odata.type": "microsoft.graph.synchronizationSecretKeyStringValuePair",
}
}
applicationId := "application-id"
graphClient.ApplicationsById(&applicationId).Synchronization().AcquireAccessToken(application-id).Post(requestBody)
Import-Module Microsoft.Graph.Applications
$params = @{
Credentials = @(
@{
"@odata.type" = "microsoft.graph.synchronizationSecretKeyStringValuePair"
}
)
}
Get-MgApplicationSynchronizationAccessToken -ApplicationId $applicationId -BodyParameter $params
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 204 No Content