synchronizationSchema: parseExpression
命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
将给定的字符串表达式分析为 attributeMappingSource 对象。
有关表达式的详细信息,请参阅在 Microsoft Entra ID 中编写属性映射的表达式。
此 API 可用于以下国家级云部署。
全局服务 | 美国政府 L4 | 美国政府 L5 (DOD) | 由世纪互联运营的中国 |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 | 最低特权权限 | 更高特权权限 |
---|---|---|
委派(工作或学校帐户) | Synchronization.ReadWrite.All | 不可用。 |
委派(个人 Microsoft 帐户) | 不支持。 | 不支持。 |
应用程序 | Application.ReadWrite.OwnedBy | Synchronization.ReadWrite.All |
重要
在具有工作或学校帐户的委托方案中,登录用户必须是组的所有者或成员,或者分配有受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。 此操作支持以下最低特权角色。
- 应用程序管理员
- 云 应用程序管理员
- 混合标识管理员 - 配置Microsoft Entra云同步
HTTP 请求
POST /servicePrincipals/{id}/synchronization/jobs/{id}/schema/parseExpression
POST /servicePrincipals/{id}/synchronization/templates/{id}/schema/parseExpression
请求标头
名称 | 说明 |
---|---|
Authorization | 持有者 {token}。 必填。 详细了解 身份验证和授权。 |
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
参数 | 类型 | 说明 |
---|---|---|
表达式 | String | 要分析的表达式。 |
testInputObject | expressionInputObject | 要对其计算表达式的测试数据对象。 可选。 |
targetAttributeDefinition | attributeDefinition | 将映射到此表达式的属性的定义。 可选。 |
响应
如果成功,此方法在 200 OK
响应正文中返回响应代码和 parseExpressionResponse 对象。
示例
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{id}/schema/parseExpression
Content-type: application/json
{
"expression":"Replace([preferredLanguage], \"-\", , , \"_\", , )",
"targetAttributeDefinition":null,
"testInputObject": {
definition: null,
properties:[
{ key: "objectId", value : "66E4A8CC-1B7B-435E-95F8-F06CEA133828" },
{ key: "IsSoftDeleted", value: "false"},
{ key: "accountEnabled", value: "true"},
{ key: "streetAddress", value: "1 Redmond Way"},
{ key: "city", value: "Redmond"},
{ key: "state", value: "WA"},
{ key: "postalCode", value: "98052"},
{ key: "country", value: "USA"},
{ key: "department", value: "Sales"},
{ key: "displayName", value: "John Smith"},
{ key: "extensionAttribute1", value: "Sample 1"},
{ key: "extensionAttribute2", value: "Sample 2"},
{ key: "extensionAttribute3", value: "Sample 3"},
{ key: "extensionAttribute4", value: "Sample 4"},
{ key: "extensionAttribute5", value: "Sample 5"},
{ key: "extensionAttribute6", value: "Sample 6"},
{ key: "extensionAttribute7", value: "Sample 1"},
{ key: "extensionAttribute8", value: "Sample 1"},
{ key: "extensionAttribute9", value: "Sample 1"},
{ key: "extensionAttribute10", value: "Sample 1"},
{ key: "extensionAttribute11", value: "Sample 1"},
{ key: "extensionAttribute12", value: "Sample 1"},
{ key: "extensionAttribute13", value: "Sample 1"},
{ key: "extensionAttribute14", value: "Sample 1"},
{ key: "extensionAttribute15", value: "Sample 1"},
{ key: "givenName", value: "John"},
{ key: "jobTitle", value: "Finance manager"},
{ key: "mail", value: "johns@contoso.com"},
{ key: "mailNickname", value: "johns"},
{ key: "manager", value: "maxs@contoso.com"},
{ key: "mobile", value: "425-555-0010"},
{ key: "onPremisesSecurityIdentifier", value: "66E4A8CC-1B7B-435E-95F8-F06CEA133828"},
{ key: "passwordProfile.password", value: ""},
{ key: "physicalDeliveryOfficeName", value: "Main Office"},
{ key: "preferredLanguage", value: "EN-US"},
{ key: "proxyAddresses", value: ""},
{ key: "surname", value: "Smith"},
{ key: "telephoneNumber", value: "425-555-0011"},
{ key: "userPrincipalName", value: "johns@contoso.com"},
{ key: "appRoleAssignments", "value@odata.type":"#Collection(String)", value: ["Default Assignment"] }
]
}
}
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"error": null,
"evaluationSucceeded": true,
"evaluationResult": [
"EN_US"
],
"parsedExpression": {
"expression": "Replace([preferredLanguage], \"-\", , , \"_\", , )",
"name": "Replace",
"parameters": [
{
"key": "source",
"value": {
"expression": "[preferredLanguage]",
"name": "preferredLanguage",
"parameters": [],
"type": "Attribute"
}
},
{
"key": "Find",
"value": {
"expression": "\"-\"",
"name": "-",
"parameters": [],
"type": "Constant"
}
},
{
"key": "Replacement",
"value": {
"expression": "\"_\"",
"name": "_",
"parameters": [],
"type": "Constant"
}
}
],
"type": "Function"
},
"parsingSucceeded": true
}