创建 synchronizationJob
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
使用默认同步架构创建新的同步作业。 作业处于禁用状态。 调用 "开始" 作业以启动同步。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
Directory.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
Application.ReadWrite.OwnedBy、Directory.ReadWrite.All |
HTTP 请求
POST /servicePrincipals/{id}/synchronization/jobs/
| 名称 |
类型 |
说明 |
| Authorization |
string |
Bearer {token}。必需。 |
请求正文
在请求正文中,提供要创建的 synchronizationJob 对象的 JSON 表示形式。 唯一必需的属性是 templateId 。 templateId属性必须与为此应用程序/服务主体创建的模板之一匹配。 若要查找可用的模板,请使用 列表模板。
响应
如果成功,在 201 Created 响应正文中返回 响应代码和 synchronizationJob 对象。
示例
请求
请求示例如下所示。
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs
Content-type: application/json
{
"templateId": "BoxOutDelta"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var synchronizationJob = new SynchronizationJob
{
TemplateId = "BoxOutDelta"
};
await graphClient.ServicePrincipals["{servicePrincipal-id}"].Synchronization.Jobs
.Request()
.AddAsync(synchronizationJob);
const options = {
authProvider,
};
const client = Client.init(options);
const synchronizationJob = {
templateId: 'BoxOutDelta'
};
await client.api('/servicePrincipals/{id}/synchronization/jobs')
.version('beta')
.post(synchronizationJob);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/servicePrincipals/{id}/synchronization/jobs"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphSynchronizationJob *synchronizationJob = [[MSGraphSynchronizationJob alloc] init];
[synchronizationJob setTemplateId:@"BoxOutDelta"];
NSError *error;
NSData *synchronizationJobData = [synchronizationJob getSerializedDataWithError:&error];
[urlRequest setHTTPBody:synchronizationJobData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
SynchronizationJob synchronizationJob = new SynchronizationJob();
synchronizationJob.templateId = "BoxOutDelta";
graphClient.servicePrincipals("{id}").synchronization().jobs()
.buildRequest()
.post(synchronizationJob);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewSynchronizationJob()
templateId := "BoxOutDelta"
requestBody.SetTemplateId(&templateId)
servicePrincipalId := "servicePrincipal-id"
result, err := graphClient.ServicePrincipalsById(&servicePrincipalId).Synchronization().Jobs().Post(requestBody)
Import-Module Microsoft.Graph.Applications
$params = @{
TemplateId = "BoxOutDelta"
}
New-MgServicePrincipalSynchronizationJob -ServicePrincipalId $servicePrincipalId -BodyParameter $params
响应
响应示例如下所示。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "{jobId}",
"templateId": "BoxOutDelta",
"schedule": {
"expiration": null,
"interval": "P10675199DT2H48M5.4775807S",
"state": "Disabled"
},
"status": {
"countSuccessiveCompleteFailures": 0,
"escrowsPruned": false,
"synchronizedEntryCountByType": [],
"code": "NotConfigured",
"lastExecution": null,
"lastSuccessfulExecution": null,
"lastSuccessfulExecutionWithExports": null,
"steadyStateFirstAchievedTime": "0001-01-01T00:00:00Z",
"steadyStateLastAchievedTime": "0001-01-01T00:00:00Z",
"quarantine": null,
"troubleshootingUrl": null
}
}