Пространство имен: microsoft.graph
Создайте новое определение расширения каталога, представленное объектом extensionProperty .
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
| Делегированные (рабочая или учебная учетная запись) |
Application.ReadWrite.All |
Directory.ReadWrite.All |
| Делегированные (личная учетная запись Майкрософт) |
Application.ReadWrite.All |
Недоступно. |
| Приложение |
Application.ReadWrite.OwnedBy |
Application.ReadWrite.All, Directory.ReadWrite.All |
Важно!
Для делегированного доступа с использованием рабочих или учебных учетных записей пользователю, выполнившего вход, необходимо назначить поддерживаемую роль Microsoft Entra или пользовательскую роль, которая предоставляет разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:
- Запись каталогов
- Администратор облачных приложений
- Администратор приложений
HTTP-запрос
POST /applications/{application ObjectId}/extensionProperties
POST /applications(appId='{appId}')/extensionProperties
Текст запроса
В тексте запроса укажите объект extensionProperty со следующими свойствами.
| Свойство |
Тип |
Описание |
| dataType |
String |
Указывает тип данных значения, которое может содержать свойство расширения. Поддерживаются следующие значения. -
Binary — не более 256 байт Boolean-
DateTime — должен быть указан в формате ISO 8601. Данные времени будут храниться в формате UTC. -
Integer — 32-разрядное значение. -
LargeInteger — 64-разрядное значение. -
String — не более 256 символов Значение null не допускается. Для многозначных расширений каталогов эти ограничения применяются к каждому значению в коллекции. |
| name |
String |
Имя свойства расширения. Значение null не допускается. |
| isMultiValued |
Логический |
Определяет расширение каталога как многозначное свойство. При trueзначении свойство расширения каталога может хранить коллекцию объектов dataType, например коллекцию строковых типов, например "extension_b7b1c57b532f40b8b5ed4b7a7ba67401_jobGroupTracker": ["String 1", "String 2"]. Значение по умолчанию — false. |
| targetObjects |
Коллекция строк |
Ресурсы Microsoft Graph, которые могут использовать свойство расширения. Все значения должны находиться в PascalCase. Поддерживаются следующие значения. Значение null не допускается. UserGroupAdministrativeUnitApplicationDeviceOrganization
|
Отклик
В случае успешного выполнения этот метод возвращает код отклика 201 Created и новый объект extensionProperty в теле отклика.
Примеры
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/v1.0/applications/fd918e4b-c821-4efb-b50a-5eddd23afc6f/extensionProperties
Content-type: application/json
{
"name": "jobGroup",
"dataType": "String",
"isMultiValued": true,
"targetObjects": [
"User"
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new ExtensionProperty
{
Name = "jobGroup",
DataType = "String",
IsMultiValued = true,
TargetObjects = new List<string>
{
"User",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Applications["{application-id}"].ExtensionProperties.PostAsync(requestBody);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewExtensionProperty()
name := "jobGroup"
requestBody.SetName(&name)
dataType := "String"
requestBody.SetDataType(&dataType)
isMultiValued := true
requestBody.SetIsMultiValued(&isMultiValued)
targetObjects := []string {
"User",
}
requestBody.SetTargetObjects(targetObjects)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
extensionProperties, err := graphClient.Applications().ByApplicationId("application-id").ExtensionProperties().Post(context.Background(), requestBody, nil)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ExtensionProperty extensionProperty = new ExtensionProperty();
extensionProperty.setName("jobGroup");
extensionProperty.setDataType("String");
extensionProperty.setIsMultiValued(true);
LinkedList<String> targetObjects = new LinkedList<String>();
targetObjects.add("User");
extensionProperty.setTargetObjects(targetObjects);
ExtensionProperty result = graphClient.applications().byApplicationId("{application-id}").extensionProperties().post(extensionProperty);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const extensionProperty = {
name: 'jobGroup',
dataType: 'String',
isMultiValued: true,
targetObjects: [
'User'
]
};
await client.api('/applications/fd918e4b-c821-4efb-b50a-5eddd23afc6f/extensionProperties')
.post(extensionProperty);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\ExtensionProperty;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ExtensionProperty();
$requestBody->setName('jobGroup');
$requestBody->setDataType('String');
$requestBody->setIsMultiValued(true);
$requestBody->setTargetObjects(['User', ]);
$result = $graphServiceClient->applications()->byApplicationId('application-id')->extensionProperties()->post($requestBody)->wait();
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Import-Module Microsoft.Graph.Applications
$params = @{
name = "jobGroup"
dataType = "String"
isMultiValued = $true
targetObjects = @(
"User"
)
}
New-MgApplicationExtensionProperty -ApplicationId $applicationId -BodyParameter $params
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.extension_property import ExtensionProperty
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ExtensionProperty(
name = "jobGroup",
data_type = "String",
is_multi_valued = True,
target_objects = [
"User",
],
)
result = await graph_client.applications.by_application_id('application-id').extension_properties.post(request_body)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Отклик
В случае успешного выполнения этот метод возвращает 201 Created код отклика и объект extensionProperty в тексте отклика.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('fd918e4b-c821-4efb-b50a-5eddd23afc6f')/extensionProperties/$entity",
"id": "da38c7b1-133e-4a79-abcd-e2fd586ce621",
"deletedDateTime": null,
"appDisplayName": "b2c-extensions-app. Do not modify. Used by AADB2C for storing user data.",
"dataType": "String",
"isMultiValued": true,
"isSyncedFromOnPremises": false,
"name": "extension_25883231668a43a780b25685c3f874bc_jobGroup",
"targetObjects": [
"User"
]
}