Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Actualice las propiedades del objeto plannerplandetails .
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissions
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) |
Tasks.ReadWrite |
Group.ReadWrite.All |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
Tasks.ReadWrite.All |
No disponible. |
Solicitud HTTP
PATCH /planner/plans/{id}/details
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| If-Match |
Ú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.
| Propiedad |
Tipo |
Descripción |
| categoryDescriptions |
plannerCategoryDescriptions |
Objeto que especifica las descripciones de las seis categorías que se pueden asociar a las tareas del plan |
| sharedWith |
plannerUserIds |
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).
Ejemplo
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PATCH https://graph.microsoft.com/beta/planner/plans/xqQg5FS2LkCp935s-FIFm2QAFkHM/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.Beta.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=\"");
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
graphplanner "github.com/microsoftgraph/msgraph-beta-sdk-go/planner"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Prefer", "return=representation")
headers.Add("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"")
configuration := &graphplanner.PlansItemDetailsRequestBuilderPatchRequestConfiguration{
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)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
details, err := graphClient.Planner().Plans().ByPlannerPlanId("plannerPlan-id").Details().Patch(context.Background(), requestBody, configuration)
// 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=\"");
});
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/xqQg5FS2LkCp935s-FIFm2QAFkHM/details')
.version('beta')
.update(plannerPlanDetails);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Planner\Plans\Item\Details\DetailsRequestBuilderPatchRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Models\PlannerPlanDetails;
use Microsoft\Graph\Beta\Generated\Models\PlannerUserIds;
use Microsoft\Graph\Beta\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();
Import-Module Microsoft.Graph.Beta.Planner
$params = @{
sharedWith = @{
"6463a5ce-2119-4198-9f2a-628761df4a62" = $true
"d95e6152-f683-4d78-9ff5-67ad180fea4a" = $false
}
categoryDescriptions = @{
category1 = "Indoors"
category3 = $null
}
}
Update-MgBetaPlannerPlanDetail -PlannerPlanId $plannerPlanId -BodyParameter $params -IfMatch W/'"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc="'
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.planner.plans.item.details.details_request_builder import DetailsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.models.planner_plan_details import PlannerPlanDetails
from msgraph_beta.generated.models.planner_user_ids import PlannerUserIds
from msgraph_beta.generated.models.planner_category_descriptions import PlannerCategoryDescriptions
# To initialize your graph_client, see https://learn.microsoft.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)
Respuesta
En el ejemplo siguiente se muestra la respuesta. Nota: el objeto de respuesta que se muestra aquí puede haberse acortado para mejorar la legibilidad.
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"
}