MS Graph Explorerを使用して、リストに新しいコンテンツ タイプを追加しようとしました。
リクエスト:
POST https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/contenttypes
本体付き:
{
"description": "MyCustomContentType's description",
"group": "List Content Types",
"hidden": false,
"id": "0x010300B8123BA6FE3D6045BF4F6DF992B6ABE7",
"name": "MyCustomContentType",
"parentId": "0x0103",
"readOnly": false,
"sealed": false
}
応答:
{
"error": {
"code": "itemNotFound",
"message": "The specified site content type was not found",
"innerError": {
"request-id": "1ac12fed-eaf3-4d03-a3c4-b44ddacada72",
"date": "2020-05-16T17:12:11"
}
}
}
また、JavaコードのGraph API SDKでこれを試しました:
IGraphServiceClient graphClient = GraphServiceClient.builder()
.authenticationProvider(authenticationProvider)
.buildClient();
ContentType contentType = new ContentType();
contentType.name = "MyCustomContentType";
contentType.description = "MyCustomContentType's description";
contentType.group = "List Content Types";
contentType.hidden = false;
contentType.parentId = "0x0103";
contentType.id = "0x010300B8123BA6FE3D6045BF4F6DF992B6ABE7";
contentType.readOnly = false;
contentType.sealed = false;
contentType = graphClient.sites(siteId)
.lists(listId)
.contentTypes()
.buildRequest()
.post(contentType);
結果は同じです...
また、 REST APIを使用してコンテンツ タイプをリストに追加しようとしましたが、別の問題に直面しました。コンテンツ タイプは作成されますが、渡された ID が無視され、常にItemコンテンツ タイプから継承されます。ここで説明されている同じ問題: How to create site content type with id using REST API . REST API のバグのようです。
MS Graph または REST API を使用して SharePoint でコンテンツ タイプを作成することはできますか? Javaを使用して作成する別の方法があるかもしれませんか?
ありがとう!