Agregue o sincronice una copia de un tipo de contenido publicado desde el centro de tipos de contenido a un sitio de destino o una lista.
Este método forma parte de los cambios de publicación de tipos de contenido para optimizar la sincronización de tipos de contenido publicados con sitios y listas, cambiando de un enfoque de "inserción en todas partes" a "extraer según sea necesario". El método permite a los usuarios extraer tipos de contenido directamente desde el centro de tipos de contenido a un sitio o lista. Para obtener más información, vea contentType: getCompatibleHubContentTypes y la entrada de blog Syntex Product Novedades – Agosto de 2021.
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)
Sites.Manage.All
Sites.FullControl.All
Delegado (cuenta personal de Microsoft)
No admitida.
No admitida.
Aplicación
Sites.Manage.All
Sites.FullControl.All
Solicitud HTTP
POST /sites/{siteId}/lists/{listId}/contentTypes/addCopyFromContentTypeHub
POST /sites/{siteId}/contentTypes/addCopyFromContentTypeHub
En el cuerpo de la solicitud, proporcione una representación JSON de los parámetros.
En la tabla siguiente se muestra el parámetro que se puede usar con esta acción.
Parámetro
Tipo
Descripción
contentTypeId
Cadena
Identificador del tipo de contenido del centro de tipos de contenido que se agregará a un sitio de destino o a una lista.
Respuesta
Si se ejecuta correctamente, esta acción devuelve un 200 OK código de respuesta y un objeto contentType en el cuerpo de la respuesta si el tipo de contenido se agrega sincrónicamente o un 202 Accepted código de respuesta si el tipo de contenido se sincronizará de forma asincrónica. La respuesta también contendrá un Location encabezado, que contiene la ubicación de richLongRunningOperation que se creó para controlar la operación de copia y sincronización. En caso de una operación asincrónica, puede tardar hasta 70 minutos en sincronizar o agregar un tipo de contenido.
Ejemplos
Ejemplo 1: Extracción sincrónica
En el ejemplo siguiente se agrega o sincroniza un tipo de contenido de forma sincrónica en función de determinadas condiciones de back-end.
Solicitud
A continuación se muestra un ejemplo de una operación sincrónica.
POST https://graph.microsoft.com/v1.0/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub
Content-Type: application/json
Content-length: 33
{
"contentTypeId": "0x0101"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Sites.Item.Lists.Item.ContentTypes.AddCopyFromContentTypeHub;
var requestBody = new AddCopyFromContentTypeHubPostRequestBody
{
ContentTypeId = "0x0101",
};
// To initialize your graphClient, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Sites["{site-id}"].Lists["{list-id}"].ContentTypes.AddCopyFromContentTypeHub.PostAsync(requestBody);
// 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"
graphsites "github.com/microsoftgraph/msgraph-sdk-go/sites"
//other-imports
)
requestBody := graphsites.NewAddCopyFromContentTypeHubPostRequestBody()
contentTypeId := "0x0101"
requestBody.SetContentTypeId(&contentTypeId)
// To initialize your graphClient, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=go
addCopyFromContentTypeHub, err := graphClient.Sites().BySiteId("site-id").Lists().ByListId("list-id").ContentTypes().AddCopyFromContentTypeHub().Post(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.sites.item.lists.item.contenttypes.addcopyfromcontenttypehub.AddCopyFromContentTypeHubPostRequestBody addCopyFromContentTypeHubPostRequestBody = new com.microsoft.graph.sites.item.lists.item.contenttypes.addcopyfromcontenttypehub.AddCopyFromContentTypeHubPostRequestBody();
addCopyFromContentTypeHubPostRequestBody.setContentTypeId("0x0101");
var result = graphClient.sites().bySiteId("{site-id}").lists().byListId("{list-id}").contentTypes().addCopyFromContentTypeHub().post(addCopyFromContentTypeHubPostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Sites\Item\Lists\Item\ContentTypes\AddCopyFromContentTypeHub\AddCopyFromContentTypeHubPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AddCopyFromContentTypeHubPostRequestBody();
$requestBody->setContentTypeId('0x0101');
$result = $graphServiceClient->sites()->bySiteId('site-id')->lists()->byListId('list-id')->contentTypes()->addCopyFromContentTypeHub()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.sites.item.lists.item.contenttypes.add_copy_from_content_type_hub.add_copy_from_content_type_hub_post_request_body import AddCopyFromContentTypeHubPostRequestBody
# To initialize your graph_client, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AddCopyFromContentTypeHubPostRequestBody(
content_type_id = "0x0101",
)
result = await graph_client.sites.by_site_id('site-id').lists.by_list_id('list-id').content_types.add_copy_from_content_type_hub.post(request_body)
En el ejemplo siguiente se agrega o sincroniza un tipo de contenido de forma asincrónica porque no se cumplen las condiciones de back-end para una operación sincrónica.
Solicitud
A continuación se muestra un ejemplo de una operación asincrónica.
POST https://graph.microsoft.com/v1.0/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub
Content-Type: application/json
Content-length: 33
{
"contentTypeId": "0x0101"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Sites.Item.Lists.Item.ContentTypes.AddCopyFromContentTypeHub;
var requestBody = new AddCopyFromContentTypeHubPostRequestBody
{
ContentTypeId = "0x0101",
};
// To initialize your graphClient, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Sites["{site-id}"].Lists["{list-id}"].ContentTypes.AddCopyFromContentTypeHub.PostAsync(requestBody);
// 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"
graphsites "github.com/microsoftgraph/msgraph-sdk-go/sites"
//other-imports
)
requestBody := graphsites.NewAddCopyFromContentTypeHubPostRequestBody()
contentTypeId := "0x0101"
requestBody.SetContentTypeId(&contentTypeId)
// To initialize your graphClient, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=go
addCopyFromContentTypeHub, err := graphClient.Sites().BySiteId("site-id").Lists().ByListId("list-id").ContentTypes().AddCopyFromContentTypeHub().Post(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.sites.item.lists.item.contenttypes.addcopyfromcontenttypehub.AddCopyFromContentTypeHubPostRequestBody addCopyFromContentTypeHubPostRequestBody = new com.microsoft.graph.sites.item.lists.item.contenttypes.addcopyfromcontenttypehub.AddCopyFromContentTypeHubPostRequestBody();
addCopyFromContentTypeHubPostRequestBody.setContentTypeId("0x0101");
var result = graphClient.sites().bySiteId("{site-id}").lists().byListId("{list-id}").contentTypes().addCopyFromContentTypeHub().post(addCopyFromContentTypeHubPostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Sites\Item\Lists\Item\ContentTypes\AddCopyFromContentTypeHub\AddCopyFromContentTypeHubPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AddCopyFromContentTypeHubPostRequestBody();
$requestBody->setContentTypeId('0x0101');
$result = $graphServiceClient->sites()->bySiteId('site-id')->lists()->byListId('list-id')->contentTypes()->addCopyFromContentTypeHub()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.sites.item.lists.item.contenttypes.add_copy_from_content_type_hub.add_copy_from_content_type_hub_post_request_body import AddCopyFromContentTypeHubPostRequestBody
# To initialize your graph_client, see https://zcusa.951200.xyz/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AddCopyFromContentTypeHubPostRequestBody(
content_type_id = "0x0101",
)
result = await graph_client.sites.by_site_id('site-id').lists.by_list_id('list-id').content_types.add_copy_from_content_type_hub.post(request_body)