Espacio de nombres: microsoft.graph.externalConnectors
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Cree un nuevo externalItem.
Esta API se puede usar para crear un elemento personalizado. El objeto que contiene externalConnection debe tener un esquema registrado del tipo correspondiente.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
ExternalItem.ReadWrite.OwnedBy |
ExternalItem.ReadWrite.All |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
ExternalItem.ReadWrite.OwnedBy |
ExternalItem.ReadWrite.All |
Solicitud HTTP
PUT /external/connections/{connection-id}/items/{item-id}
Parámetros de ruta de acceso
| Parameter |
Tipo |
Descripción |
| connection-id |
string |
Propiedad id de la clase que contiene externalConnection |
| item-id |
string |
Propiedad proporcionada por id el desarrollador de externalItem. Si ya no existe ningún elemento con este id, se crea un nuevo elemento. Si ya existe un elemento con este id, el objeto enviado en el cuerpo lo sobrescribe. |
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione una representación JSON de un objeto externalItem . La carga está limitada a 4 MB.
Creación de un objeto externalItem
Al crear un externalItem, se requieren los siguientes campos: acl, y properties. El properties objeto debe contener al menos una propiedad.
Todas las DateTime propiedades de tipo deben estar en formato ISO 8601.
Las propiedades de un externalItem elemento deben usar especificadores de tipo en la carga en los escenarios siguientes:
Para String las propiedades de tipo, si el valor contiene caracteres que no son ASCII.
"description@odata.type": "String",
"description": "Kandierte Äpfel"
Para todos los tipos de colección.
"categories@odata.type": "Collection(String)"
"categories": [
"red",
"blue"
]
Importante
Al incluir una propiedad de tipo Collection(DateTime), debe usar el especificador Collection(DateTimeOffset)de tipo .
Respuesta
Si se ejecuta correctamente, este método devuelve el código de respuesta 200 OK.
Ejemplos
Ejemplo: Creación de un elemento personalizado
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PUT https://graph.microsoft.com/beta/external/connections/contosohr/items/TSP228082938
Content-type: application/json
{
"acl": [
{
"type": "user",
"value": "e811976d-83df-4cbd-8b9b-5215b18aa874",
"accessType": "grant",
"identitySource": "azureActiveDirectory"
},
{
"type": "group",
"value": "14m1b9c38qe647f6a",
"accessType": "deny",
"identitySource": "external"
}
],
"properties": {
"title": "Error in the payment gateway",
"priority": 1,
"assignee": "john@contoso.com"
},
"content": {
"value": "Error in payment gateway...",
"type": "text"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.ExternalConnectors;
var requestBody = new ExternalItem
{
Acl = new List<Acl>
{
new Acl
{
Type = AclType.User,
Value = "e811976d-83df-4cbd-8b9b-5215b18aa874",
AccessType = AccessType.Grant,
IdentitySource = IdentitySourceType.AzureActiveDirectory,
},
new Acl
{
Type = AclType.Group,
Value = "14m1b9c38qe647f6a",
AccessType = AccessType.Deny,
IdentitySource = IdentitySourceType.External,
},
},
Properties = new Properties
{
AdditionalData = new Dictionary<string, object>
{
{
"title" , "Error in the payment gateway"
},
{
"priority" , 1
},
{
"assignee" , "john@contoso.com"
},
},
},
Content = new ExternalItemContent
{
Value = "Error in payment gateway...",
Type = ExternalItemContentType.Text,
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.External.Connections["{externalConnection-id}"].Items["{externalItem-id}"].PutAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodelsexternalconnectors "github.com/microsoftgraph/msgraph-beta-sdk-go/models/externalconnectors"
//other-imports
)
requestBody := graphmodelsexternalconnectors.NewExternalItem()
acl := graphmodelsexternalconnectors.NewAcl()
type := graphmodels.USER_ACLTYPE
acl.SetType(&type)
value := "e811976d-83df-4cbd-8b9b-5215b18aa874"
acl.SetValue(&value)
accessType := graphmodels.GRANT_ACCESSTYPE
acl.SetAccessType(&accessType)
identitySource := graphmodels.AZUREACTIVEDIRECTORY_IDENTITYSOURCETYPE
acl.SetIdentitySource(&identitySource)
acl1 := graphmodelsexternalconnectors.NewAcl()
type := graphmodels.GROUP_ACLTYPE
acl1.SetType(&type)
value := "14m1b9c38qe647f6a"
acl1.SetValue(&value)
accessType := graphmodels.DENY_ACCESSTYPE
acl1.SetAccessType(&accessType)
identitySource := graphmodels.EXTERNAL_IDENTITYSOURCETYPE
acl1.SetIdentitySource(&identitySource)
acl := []graphmodelsexternalconnectors.Aclable {
acl,
acl1,
}
requestBody.SetAcl(acl)
properties := graphmodelsexternalconnectors.NewProperties()
additionalData := map[string]interface{}{
"title" : "Error in the payment gateway",
"priority" : int32(1) ,
"assignee" : "john@contoso.com",
}
properties.SetAdditionalData(additionalData)
requestBody.SetProperties(properties)
content := graphmodelsexternalconnectors.NewExternalItemContent()
value := "Error in payment gateway..."
content.SetValue(&value)
type := graphmodels.TEXT_EXTERNALITEMCONTENTTYPE
content.SetType(&type)
requestBody.SetContent(content)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
items, err := graphClient.External().Connections().ByExternalConnectionId("externalConnection-id").Items().ByExternalItemId("externalItem-id").Put(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.models.externalconnectors.ExternalItem externalItem = new com.microsoft.graph.beta.models.externalconnectors.ExternalItem();
LinkedList<com.microsoft.graph.beta.models.externalconnectors.Acl> acl = new LinkedList<com.microsoft.graph.beta.models.externalconnectors.Acl>();
com.microsoft.graph.beta.models.externalconnectors.Acl acl1 = new com.microsoft.graph.beta.models.externalconnectors.Acl();
acl1.setType(com.microsoft.graph.beta.models.externalconnectors.AclType.User);
acl1.setValue("e811976d-83df-4cbd-8b9b-5215b18aa874");
acl1.setAccessType(com.microsoft.graph.beta.models.externalconnectors.AccessType.Grant);
acl1.setIdentitySource(com.microsoft.graph.beta.models.externalconnectors.IdentitySourceType.AzureActiveDirectory);
acl.add(acl1);
com.microsoft.graph.beta.models.externalconnectors.Acl acl2 = new com.microsoft.graph.beta.models.externalconnectors.Acl();
acl2.setType(com.microsoft.graph.beta.models.externalconnectors.AclType.Group);
acl2.setValue("14m1b9c38qe647f6a");
acl2.setAccessType(com.microsoft.graph.beta.models.externalconnectors.AccessType.Deny);
acl2.setIdentitySource(com.microsoft.graph.beta.models.externalconnectors.IdentitySourceType.External);
acl.add(acl2);
externalItem.setAcl(acl);
com.microsoft.graph.beta.models.externalconnectors.Properties properties = new com.microsoft.graph.beta.models.externalconnectors.Properties();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("title", "Error in the payment gateway");
additionalData.put("priority", 1);
additionalData.put("assignee", "john@contoso.com");
properties.setAdditionalData(additionalData);
externalItem.setProperties(properties);
com.microsoft.graph.beta.models.externalconnectors.ExternalItemContent content = new com.microsoft.graph.beta.models.externalconnectors.ExternalItemContent();
content.setValue("Error in payment gateway...");
content.setType(com.microsoft.graph.beta.models.externalconnectors.ExternalItemContentType.Text);
externalItem.setContent(content);
com.microsoft.graph.models.externalconnectors.ExternalItem result = graphClient.external().connections().byExternalConnectionId("{externalConnection-id}").items().byExternalItemId("{externalItem-id}").put(externalItem);
const options = {
authProvider,
};
const client = Client.init(options);
const externalItem = {
acl: [
{
type: 'user',
value: 'e811976d-83df-4cbd-8b9b-5215b18aa874',
accessType: 'grant',
identitySource: 'azureActiveDirectory'
},
{
type: 'group',
value: '14m1b9c38qe647f6a',
accessType: 'deny',
identitySource: 'external'
}
],
properties: {
title: 'Error in the payment gateway',
priority: 1,
assignee: 'john@contoso.com'
},
content: {
value: 'Error in payment gateway...',
type: 'text'
}
};
await client.api('/external/connections/contosohr/items/TSP228082938')
.version('beta')
.put(externalItem);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\ExternalItem;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\Acl;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\AclType;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\AccessType;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\IdentitySourceType;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\Properties;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\ExternalItemContent;
use Microsoft\Graph\Beta\Generated\Models\ExternalConnectors\ExternalItemContentType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ExternalItem();
$aclAcl1 = new Acl();
$aclAcl1->setType(new AclType('user'));
$aclAcl1->setValue('e811976d-83df-4cbd-8b9b-5215b18aa874');
$aclAcl1->setAccessType(new AccessType('grant'));
$aclAcl1->setIdentitySource(new IdentitySourceType('azureActiveDirectory'));
$aclArray []= $aclAcl1;
$aclAcl2 = new Acl();
$aclAcl2->setType(new AclType('group'));
$aclAcl2->setValue('14m1b9c38qe647f6a');
$aclAcl2->setAccessType(new AccessType('deny'));
$aclAcl2->setIdentitySource(new IdentitySourceType('external'));
$aclArray []= $aclAcl2;
$requestBody->setAcl($aclArray);
$properties = new Properties();
$additionalData = [
'title' => 'Error in the payment gateway',
'priority' => 1,
'assignee' => 'john@contoso.com',
];
$properties->setAdditionalData($additionalData);
$requestBody->setProperties($properties);
$content = new ExternalItemContent();
$content->setValue('Error in payment gateway...');
$content->setType(new ExternalItemContentType('text'));
$requestBody->setContent($content);
$result = $graphServiceClient->external()->connections()->byExternalConnectionId('externalConnection-id')->items()->byExternalItemId('externalItem-id')->put($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Search
$params = @{
acl = @(
@{
type = "user"
value = "e811976d-83df-4cbd-8b9b-5215b18aa874"
accessType = "grant"
identitySource = "azureActiveDirectory"
}
@{
type = "group"
value = "14m1b9c38qe647f6a"
accessType = "deny"
identitySource = "external"
}
)
properties = @{
title = "Error in the payment gateway"
priority =
assignee = "john@contoso.com"
}
content = @{
value = "Error in payment gateway..."
type = "text"
}
}
Set-MgBetaExternalConnectionItem -ExternalConnectionId $externalConnectionId -ExternalItemId $externalItemId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.external_connectors.external_item import ExternalItem
from msgraph_beta.generated.models.external_connectors.acl import Acl
from msgraph_beta.generated.models.acl_type import AclType
from msgraph_beta.generated.models.access_type import AccessType
from msgraph_beta.generated.models.identity_source_type import IdentitySourceType
from msgraph_beta.generated.models.external_connectors.properties import Properties
from msgraph_beta.generated.models.external_connectors.external_item_content import ExternalItemContent
from msgraph_beta.generated.models.external_item_content_type import ExternalItemContentType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ExternalItem(
acl = [
Acl(
type = AclType.User,
value = "e811976d-83df-4cbd-8b9b-5215b18aa874",
access_type = AccessType.Grant,
identity_source = IdentitySourceType.AzureActiveDirectory,
),
Acl(
type = AclType.Group,
value = "14m1b9c38qe647f6a",
access_type = AccessType.Deny,
identity_source = IdentitySourceType.External,
),
],
properties = Properties(
additional_data = {
"title" : "Error in the payment gateway",
"priority" : 1,
"assignee" : "john@contoso.com",
}
),
content = ExternalItemContent(
value = "Error in payment gateway...",
type = ExternalItemContentType.Text,
),
)
result = await graph_client.external.connections.by_external_connection_id('externalConnection-id').items.by_external_item_id('externalItem-id').put(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK