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.
Último valor ETag conocido para plannerPlanDetails que se va a actualizar. Obligatorio.
Cuerpo de solicitud
En el cuerpo de la solicitud, proporcione los valores de los campos relevantes que deben actualizarse. Las propiedades existentes que no se incluyen en el cuerpo de la solicitud mantienen sus valores anteriores o se recalculan en función de los cambios realizados en otros valores de propiedad. Para obtener el mejor rendimiento no debe incluir valores existentes que no hayan cambiado.
Conjunto de identificadores de usuario con los que se comparte este plan. Si usa grupos de Microsoft 365, use la API de grupos para administrar la pertenencia a grupos para compartir el plan del grupo . También puede agregar miembros existentes del grupo a esta colección, aunque no es necesario que tengan acceso al plan propiedad del grupo.
Respuesta
Si se ejecuta correctamente, este método devuelve 204 No Content la respuesta y el contenido vacío. Si la solicitud especifica Prefer el encabezado con return=representation preferencia, este método devuelve un 200 OK código de respuesta y un objeto plannerPlanDetails actualizado en el cuerpo de la respuesta.
Este método puede devolver cualquiera de los códigos de estado HTTP. Los errores más comunes que las aplicaciones deben controlar para este método son las respuestas 400, 403, 404, 409 y 412. Para obtener más información sobre estos errores, vea Common Planner error conditions (Condiciones de error habituales de Planner).
// 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://video2.skills-academy.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=\"");
});
// 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=\"");
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.planner.plans.item.details.details_request_builder import DetailsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
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
# To initialize your graph_client, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
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 = RequestConfiguration()
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)