contentType:addCopyFromContentTypeHub
命名空间:microsoft.graph
将已发布内容类型的副本从内容类型中心添加或同步到目标 网站 或 列表。
此方法是内容类型发布更改的一部分,旨在优化已发布内容类型与网站和列表的同步,从而有效地从“随处推送”切换为“根据需要拉取”。 该方法允许用户直接从内容类型中心将内容类型拉取到网站或列表。 有关详细信息,请参阅 contentType:getCompatibleHubContentTypes 和博客文章 Syntex Product 更新 – 2021 年 8 月。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
Sites.Manage.All、Sites.FullControl.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
Sites.Manage.All、Sites.FullControl.All |
HTTP 请求
POST /sites/{siteId}/lists/{listId}/contentTypes/addCopyFromContentTypeHub
POST /sites/{siteId}/contentTypes/addCopyFromContentTypeHub
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供参数的 JSON 表示形式。
下表显示了可用于此操作的参数。
| 参数 |
类型 |
说明 |
| contentTypeId |
String |
将添加到目标网站或列表的内容类型中心中的内容类型的 ID。 |
响应
如果成功,如果内容类型同步202 Accepted添加,则此操作在响应正文中返回200 OK响应代码和 contentType 对象;如果将异步同步内容类型,则返回响应代码或响应代码。 响应还将包含一个 Location 标头,其中包含为处理复制/同步操作而创建的 richLongRunningOperation 的位置。 对于异步操作,最多可能需要 70 分钟才能同步或添加内容类型。
示例
示例 1:同步拉取
以下示例根据某些后端条件同步添加或同步内容类型。
请求
下面是同步操作的示例。
POST https://graph.microsoft.com/v1.0/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub
Content-Type: application/json
Content-length: 33
{
"contentTypeId": "0x0101"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var contentTypeId = "0x0101";
await graphClient.Sites["{site-id}"].Lists["{list-id}"].ContentTypes
.AddCopyFromContentTypeHub(contentTypeId)
.Request()
.PostAsync();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const contentType = {
contentTypeId: '0x0101'
};
await client.api('/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub')
.post(contentType);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *contentTypeId = @"0x0101";
payloadDictionary[@"contentTypeId"] = contentTypeId;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
String contentTypeId = "0x0101";
graphClient.sites("root").lists("Documents").contentTypes()
.addCopyFromContentTypeHub(ContentTypeAddCopyFromContentTypeHubParameterSet
.newBuilder()
.withContentTypeId(contentTypeId)
.build())
.buildRequest()
.post();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewContentTypeIdRequestBody()
contentTypeId := "0x0101"
requestBody.SetContentTypeId(&contentTypeId)
siteId := "site-id"
listId := "list-id"
result, err := graphClient.SitesById(&siteId).ListsById(&listId).ContentTypes().AddCopyFromContentTypeHub(site-id, list-id).Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Sites
$params = @{
ContentTypeId = "0x0101"
}
Add-MgSiteListContentTypeCopyFromContentTypeHub -SiteId $siteId -ListId $listId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.contentType",
"id": "0x0101",
"description": "Document content type",
"group": "Document Content Types",
"hidden": false,
"isBuiltIn": true,
"name": "Document"
}
示例 2:异步拉取
以下示例异步添加或同步内容类型,因为未满足同步操作的后端条件。
请求
下面是异步操作的示例。
POST https://graph.microsoft.com/v1.0/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub
Content-Type: application/json
Content-length: 33
{
"contentTypeId": "0x0101"
}
响应
下面展示了示例响应。
HTTP/1.1 202 Accepted
location: https://graph.microsoft.com/v1.0/sites/root/lists/Documents/operations/contentTypeCopy,0x0101