更新 plannerplandetails
本文内容
命名空间:microsoft.graph
更新 plannerplandetails 对象的属性。
此 API 可用于以下国家级云部署 。
全局服务
美国政府 L4
美国政府 L5 (DOD)
由世纪互联运营的中国
✅
✅
✅
❌
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时 ,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型 。 要了解有关这些权限的详细信息,请参阅 权限参考 。
权限类型
最低特权权限
更高特权权限
委派(工作或学校帐户)
Tasks.ReadWrite
Group.ReadWrite.All
委派(个人 Microsoft 帐户)
不支持。
不支持。
应用程序
Tasks.ReadWrite.All
不可用。
HTTP 请求
PATCH /planner/plans/{id}/details
名称
说明
Authorization
持有者 {token}。 必填。 详细了解 身份验证和授权 。
Content-Type
application/json. 必需。
If-Match
要更新 plannerPlanDetails 的最后已知 ETag 值。 必填。
请求正文
在请求正文中,提供应更新的相关字段的值。 请求正文中未包含的现有属性会保留其以前的值,或者根据对其他属性值的更改重新计算。 为了实现最佳性能,不得添加未变化的现有值。
响应
如果成功,此方法返回 204 No Content
响应和空内容。 如果请求使用首选项指定 Prefer
标头 return=representation
,则此方法在响应正文中返回响应 200 OK
代码和更新的 plannerPlanDetails 对象。
此方法可以返回任何 HTTP 状态代码 。 应用应为此方法处理的最常见错误是 400、403、404、409 和 412 响应。 有关这些错误的详细信息,请参阅常见Planner错误条件 。
示例
请求
以下示例显示了一个请求。
PATCH https://graph.microsoft.com/v1.0/planner/plans/{plan-id}/details
Content-type: application/json
Prefer: return=representation
If-Match: W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="
{
"sharedWith": {
"6463a5ce-2119-4198-9f2a-628761df4a62" : true,
"d95e6152-f683-4d78-9ff5-67ad180fea4a" : false,
},
"categoryDescriptions": {
"category1": "Indoors",
"category3": null,
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new PlannerPlanDetails
{
SharedWith = new PlannerUserIds
{
AdditionalData = new Dictionary<string, object>
{
{
"6463a5ce-2119-4198-9f2a-628761df4a62" , true
},
{
"d95e6152-f683-4d78-9ff5-67ad180fea4a" , false
},
},
},
CategoryDescriptions = new PlannerCategoryDescriptions
{
Category1 = "Indoors",
Category3 = null,
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Planner.Plans["{plannerPlan-id}"].Details.PatchAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Prefer", "return=representation");
requestConfiguration.Headers.Add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"");
});
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc planner plans details patch --planner-plan-id {plannerPlan-id} --if-match "W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="" --body '{\
"sharedWith": {\
"6463a5ce-2119-4198-9f2a-628761df4a62" : true,\
"d95e6152-f683-4d78-9ff5-67ad180fea4a" : false,\
},\
"categoryDescriptions": {\
"category1": "Indoors",\
"category3": null,\
}\
}\
'
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
graphplanner "github.com/microsoftgraph/msgraph-sdk-go/planner"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
headers := abstractions.NewRequestHeaders()
headers.Add("Prefer", "return=representation")
headers.Add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"")
configuration := &graphplanner.PlannerPlanItemDetailsRequestBuilderPatchRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewPlannerPlanDetails()
sharedWith := graphmodels.NewPlannerUserIds()
additionalData := map[string]interface{}{
"6463a5ce-2119-4198-9f2a-628761df4a62" := true
sharedWith.Set"6463a5ce-2119-4198-9f2a-628761df4a62"(&"6463a5ce-2119-4198-9f2a-628761df4a62")
"d95e6152-f683-4d78-9ff5-67ad180fea4a" := false
sharedWith.Set"d95e6152-f683-4d78-9ff5-67ad180fea4a"(&"d95e6152-f683-4d78-9ff5-67ad180fea4a")
}
sharedWith.SetAdditionalData(additionalData)
requestBody.SetSharedWith(sharedWith)
categoryDescriptions := graphmodels.NewPlannerCategoryDescriptions()
category1 := "Indoors"
categoryDescriptions.SetCategory1(&category1)
category3 := null
categoryDescriptions.SetCategory3(&category3)
requestBody.SetCategoryDescriptions(categoryDescriptions)
details, err := graphClient.Planner().Plans().ByPlannerPlanId("plannerPlan-id").Details().Patch(context.Background(), requestBody, configuration)
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
PlannerPlanDetails plannerPlanDetails = new PlannerPlanDetails();
PlannerUserIds sharedWith = new PlannerUserIds();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("6463a5ce-2119-4198-9f2a-628761df4a62", true);
additionalData.put("d95e6152-f683-4d78-9ff5-67ad180fea4a", false);
sharedWith.setAdditionalData(additionalData);
plannerPlanDetails.setSharedWith(sharedWith);
PlannerCategoryDescriptions categoryDescriptions = new PlannerCategoryDescriptions();
categoryDescriptions.setCategory1("Indoors");
categoryDescriptions.setCategory3(null);
plannerPlanDetails.setCategoryDescriptions(categoryDescriptions);
PlannerPlanDetails result = graphClient.planner().plans().byPlannerPlanId("{plannerPlan-id}").details().patch(plannerPlanDetails, requestConfiguration -> {
requestConfiguration.headers.add("Prefer", "return=representation");
requestConfiguration.headers.add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"");
});
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
const options = {
authProvider,
};
const client = Client.init(options);
const plannerPlanDetails = {
sharedWith: {
'6463a5ce-2119-4198-9f2a-628761df4a62': true,
'd95e6152-f683-4d78-9ff5-67ad180fea4a': false,
},
categoryDescriptions: {
category1: 'Indoors',
category3: null,
}
};
await client.api('/planner/plans/{plan-id}/details')
.update(plannerPlanDetails);
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Planner\Plans\Item\Details\DetailsRequestBuilderPatchRequestConfiguration;
use Microsoft\Graph\Generated\Models\PlannerPlanDetails;
use Microsoft\Graph\Generated\Models\PlannerUserIds;
use Microsoft\Graph\Generated\Models\PlannerCategoryDescriptions;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new PlannerPlanDetails();
$sharedWith = new PlannerUserIds();
$additionalData = [
'6463a5ce-2119-4198-9f2a-628761df4a62' => true,
'd95e6152-f683-4d78-9ff5-67ad180fea4a' => false,
];
$sharedWith->setAdditionalData($additionalData);
$requestBody->setSharedWith($sharedWith);
$categoryDescriptions = new PlannerCategoryDescriptions();
$categoryDescriptions->setCategory1('Indoors');
$categoryDescriptions->setCategory3(null);
$requestBody->setCategoryDescriptions($categoryDescriptions);
$requestConfiguration = new DetailsRequestBuilderPatchRequestConfiguration();
$headers = [
'Prefer' => 'return=representation',
'If-Match' => 'W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->planner()->plans()->byPlannerPlanId('plannerPlan-id')->details()->patch($requestBody, $requestConfiguration)->wait();
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
Import-Module Microsoft.Graph.Planner
$params = @{
sharedWith = @{
"6463a5ce-2119-4198-9f2a-628761df4a62" = $true
"d95e6152-f683-4d78-9ff5-67ad180fea4a" = $false
}
categoryDescriptions = @{
category1 = "Indoors"
category3 = $null
}
}
Update-MgPlannerPlanDetail -PlannerPlanId $plannerPlanId -BodyParameter $params -IfMatch W/'"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="'
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
from msgraph import GraphServiceClient
from msgraph.generated.planner.plans.item.details.details_request_builder import DetailsRequestBuilder
from msgraph.generated.models.planner_plan_details import PlannerPlanDetails
from msgraph.generated.models.planner_user_ids import PlannerUserIds
from msgraph.generated.models.planner_category_descriptions import PlannerCategoryDescriptions
graph_client = GraphServiceClient(credentials, scopes)
request_body = PlannerPlanDetails(
shared_with = PlannerUserIds(
additional_data = {
"6463a5ce-2119-4198-9f2a-628761df4a62" : True,
"d95e6152-f683-4d78-9ff5-67ad180fea4a" : False,
}
),
category_descriptions = PlannerCategoryDescriptions(
category1 = "Indoors",
category3 = None,
),
)
request_configuration = DetailsRequestBuilder.DetailsRequestBuilderPatchRequestConfiguration()
request_configuration.headers.add("Prefer", "return=representation")
request_configuration.headers.add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"")
result = await graph_client.planner.plans.by_planner_plan_id('plannerPlan-id').details.patch(request_body, request_configuration = request_configuration)
有关如何将 SDK 添加 到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档 。
响应
以下示例显示了相应的响应。 注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"sharedWith": {
"aaa27244-1db4-476a-a5cb-004607466324" : true,
"6463a5ce-2119-4198-9f2a-628761df4a62" : true
},
"categoryDescriptions": {
"category1": "Indoors",
"category2": "Outdoors",
"category3": null,
"category4": null,
"category5": "Needs materials",
"category6": "Needs equipment",
"category7": "Description of category 7",
"category8": "Description of category 8",
"category9": "Description of category 9",
"category10": "Description of category 10",
"category11": "Description of category 11",
"category12": "Description of category 12",
"category13": "Description of category 13",
"category14": "Description of category 14",
"category15": "Description of category 15",
"category16": "Description of category 16",
"category17": "Description of category 17",
"category18": "Description of category 18",
"category19": "Description of category 19",
"category20": "Description of category 20",
"category21": "Description of category 21",
"category22": "Description of category 22",
"category23": "Description of category 23",
"category24": "Description of category 24",
"category25": "Description of category 25"
},
"id": "xqQg5FS2LkCp935s-FIFm2QAFkHM"
}