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 de un objeto plannerUser . Puede usar esta operación para agregar o quitar planes de la lista de planes favoritos de un usuario e indicar qué planes ha visto recientemente el usuario.
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 |
No admitida. |
No admitida. |
Solicitud HTTP
PATCH /me/planner
| Nombre |
Descripción |
| Autorización |
{code} del portador. Necesario. |
| If-Match |
Último valor ETag conocido para plannerUser 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 incluya valores existentes que no hayan cambiado.
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 plannerUser 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. Esta solicitud agrega el plan "Next Release Discussion" con el identificador "jd8S5gOaFk2S8aWCIAJz42QAAxtD" como favorito para el usuario y quita el plan con el identificador "7oTB5aMIAE2rVo-1N-L7RmQAGX2q" de la lista de planes favoritos.
También actualiza la hora de la última vista del plan "jd8S5gOaFk2S8aWCIAJz42QAAxtD".
PATCH https://graph.microsoft.com/beta/me/planner
Content-type: application/json
Prefer: return=representation
If-Match: W/"JzEtVXNlckRldGFpbHMgQEBAQEBAQEBAQEBAQEBIWCc="
{
"favoritePlanReferences": {
"jd8S5gOaFk2S8aWCIAJz42QAAxtD": {
"@odata.type": "#microsoft.graph.plannerFavoritePlanReference",
"orderHint": " !",
"planTitle": "Next Release Discussion"
},
"7oTB5aMIAE2rVo-1N-L7RmQAGX2q": null
},
"recentPlanReferences": {
"jd8S5gOaFk2S8aWCIAJz42QAAxtD": {
"@odata.type": "#microsoft.graph.plannerRecentPlanReference",
"lastAccessedDateTime": "2018-01-02T22:49:46.155Z",
"planTitle": "Next Release Discussion"
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new PlannerUser
{
FavoritePlanReferences = new PlannerFavoritePlanReferenceCollection
{
AdditionalData = new Dictionary<string, object>
{
{
"jd8S5gOaFk2S8aWCIAJz42QAAxtD" , new PlannerFavoritePlanReference
{
OdataType = "#microsoft.graph.plannerFavoritePlanReference",
OrderHint = " !",
PlanTitle = "Next Release Discussion",
}
},
{
"7oTB5aMIAE2rVo-1N-L7RmQAGX2q" , null
},
},
},
RecentPlanReferences = new PlannerRecentPlanReferenceCollection
{
AdditionalData = new Dictionary<string, object>
{
{
"jd8S5gOaFk2S8aWCIAJz42QAAxtD" , new PlannerRecentPlanReference
{
OdataType = "#microsoft.graph.plannerRecentPlanReference",
LastAccessedDateTime = DateTimeOffset.Parse("2018-01-02T22:49:46.155Z"),
PlanTitle = "Next Release Discussion",
}
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Planner.PatchAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Prefer", "return=representation");
requestConfiguration.Headers.Add("If-Match", "W/\"JzEtVXNlckRldGFpbHMgQEBAQEBAQEBAQEBAQEBIWCc=\"");
});
// 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"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Prefer", "return=representation")
headers.Add("If-Match", "W/\"JzEtVXNlckRldGFpbHMgQEBAQEBAQEBAQEBAQEBIWCc=\"")
configuration := &graphusers.ItemPlannerRequestBuilderPatchRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewPlannerUser()
favoritePlanReferences := graphmodels.NewPlannerFavoritePlanReferenceCollection()
additionalData := map[string]interface{}{
jd8S5gOaFk2S8aWCIAJz42QAAxtD := graphmodels.NewPlannerFavoritePlanReference()
orderHint := " !"
jd8S5gOaFk2S8aWCIAJz42QAAxtD.SetOrderHint(&orderHint)
planTitle := "Next Release Discussion"
jd8S5gOaFk2S8aWCIAJz42QAAxtD.SetPlanTitle(&planTitle)
favoritePlanReferences.SetJd8S5gOaFk2S8aWCIAJz42QAAxtD(jd8S5gOaFk2S8aWCIAJz42QAAxtD)
"7oTB5aMIAE2rVo-1N-L7RmQAGX2q" := null
favoritePlanReferences.Set"7oTB5aMIAE2rVo-1N-L7RmQAGX2q"(&"7oTB5aMIAE2rVo-1N-L7RmQAGX2q")
}
favoritePlanReferences.SetAdditionalData(additionalData)
requestBody.SetFavoritePlanReferences(favoritePlanReferences)
recentPlanReferences := graphmodels.NewPlannerRecentPlanReferenceCollection()
additionalData := map[string]interface{}{
jd8S5gOaFk2S8aWCIAJz42QAAxtD := graphmodels.NewPlannerRecentPlanReference()
lastAccessedDateTime , err := time.Parse(time.RFC3339, "2018-01-02T22:49:46.155Z")
jd8S5gOaFk2S8aWCIAJz42QAAxtD.SetLastAccessedDateTime(&lastAccessedDateTime)
planTitle := "Next Release Discussion"
jd8S5gOaFk2S8aWCIAJz42QAAxtD.SetPlanTitle(&planTitle)
recentPlanReferences.SetJd8S5gOaFk2S8aWCIAJz42QAAxtD(jd8S5gOaFk2S8aWCIAJz42QAAxtD)
}
recentPlanReferences.SetAdditionalData(additionalData)
requestBody.SetRecentPlanReferences(recentPlanReferences)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
planner, err := graphClient.Me().Planner().Patch(context.Background(), requestBody, configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
PlannerUser plannerUser = new PlannerUser();
PlannerFavoritePlanReferenceCollection favoritePlanReferences = new PlannerFavoritePlanReferenceCollection();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
PlannerFavoritePlanReference jd8S5gOaFk2S8aWCIAJz42QAAxtD = new PlannerFavoritePlanReference();
jd8S5gOaFk2S8aWCIAJz42QAAxtD.setOdataType("#microsoft.graph.plannerFavoritePlanReference");
jd8S5gOaFk2S8aWCIAJz42QAAxtD.setOrderHint(" !");
jd8S5gOaFk2S8aWCIAJz42QAAxtD.setPlanTitle("Next Release Discussion");
additionalData.put("jd8S5gOaFk2S8aWCIAJz42QAAxtD", jd8S5gOaFk2S8aWCIAJz42QAAxtD);
additionalData.put("7oTB5aMIAE2rVo-1N-L7RmQAGX2q", null);
favoritePlanReferences.setAdditionalData(additionalData);
plannerUser.setFavoritePlanReferences(favoritePlanReferences);
PlannerRecentPlanReferenceCollection recentPlanReferences = new PlannerRecentPlanReferenceCollection();
HashMap<String, Object> additionalData1 = new HashMap<String, Object>();
PlannerRecentPlanReference jd8S5gOaFk2S8aWCIAJz42QAAxtD1 = new PlannerRecentPlanReference();
jd8S5gOaFk2S8aWCIAJz42QAAxtD1.setOdataType("#microsoft.graph.plannerRecentPlanReference");
OffsetDateTime lastAccessedDateTime = OffsetDateTime.parse("2018-01-02T22:49:46.155Z");
jd8S5gOaFk2S8aWCIAJz42QAAxtD1.setLastAccessedDateTime(lastAccessedDateTime);
jd8S5gOaFk2S8aWCIAJz42QAAxtD1.setPlanTitle("Next Release Discussion");
additionalData1.put("jd8S5gOaFk2S8aWCIAJz42QAAxtD", jd8S5gOaFk2S8aWCIAJz42QAAxtD1);
recentPlanReferences.setAdditionalData(additionalData1);
plannerUser.setRecentPlanReferences(recentPlanReferences);
PlannerUser result = graphClient.me().planner().patch(plannerUser, requestConfiguration -> {
requestConfiguration.headers.add("Prefer", "return=representation");
requestConfiguration.headers.add("If-Match", "W/\"JzEtVXNlckRldGFpbHMgQEBAQEBAQEBAQEBAQEBIWCc=\"");
});
const options = {
authProvider,
};
const client = Client.init(options);
const plannerUser = {
favoritePlanReferences: {
jd8S5gOaFk2S8aWCIAJz42QAAxtD: {
'@odata.type': '#microsoft.graph.plannerFavoritePlanReference',
orderHint: ' !',
planTitle: 'Next Release Discussion'
},
'7oTB5aMIAE2rVo-1N-L7RmQAGX2q': null
},
recentPlanReferences: {
jd8S5gOaFk2S8aWCIAJz42QAAxtD: {
'@odata.type': '#microsoft.graph.plannerRecentPlanReference',
lastAccessedDateTime: '2018-01-02T22:49:46.155Z',
planTitle: 'Next Release Discussion'
}
}
};
await client.api('/me/planner')
.version('beta')
.update(plannerUser);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\Planner\PlannerRequestBuilderPatchRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Models\PlannerUser;
use Microsoft\Graph\Beta\Generated\Models\PlannerFavoritePlanReferenceCollection;
use Microsoft\Graph\Beta\Generated\Models\PlannerFavoritePlanReference;
use Microsoft\Graph\Beta\Generated\Models\PlannerRecentPlanReferenceCollection;
use Microsoft\Graph\Beta\Generated\Models\PlannerRecentPlanReference;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new PlannerUser();
$favoritePlanReferences = new PlannerFavoritePlanReferenceCollection();
$additionalData = [
'jd8S5gOaFk2S8aWCIAJz42QAAxtD' => [
'@odata.type' => '#microsoft.graph.plannerFavoritePlanReference',
'orderHint' => ' !',
'planTitle' => 'Next Release Discussion',
],
'7oTB5aMIAE2rVo-1N-L7RmQAGX2q' => null,
];
$favoritePlanReferences->setAdditionalData($additionalData);
$requestBody->setFavoritePlanReferences($favoritePlanReferences);
$recentPlanReferences = new PlannerRecentPlanReferenceCollection();
$additionalData = [
'jd8S5gOaFk2S8aWCIAJz42QAAxtD' => [
'@odata.type' => '#microsoft.graph.plannerRecentPlanReference',
'lastAccessedDateTime' => new \DateTime('2018-01-02T22:49:46.155Z'),
'planTitle' => 'Next Release Discussion',
],
];
$recentPlanReferences->setAdditionalData($additionalData);
$requestBody->setRecentPlanReferences($recentPlanReferences);
$requestConfiguration = new PlannerRequestBuilderPatchRequestConfiguration();
$headers = [
'Prefer' => 'return=representation',
'If-Match' => 'W/"JzEtVXNlckRldGFpbHMgQEBAQEBAQEBAQEBAQEBIWCc="',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->me()->planner()->patch($requestBody, $requestConfiguration)->wait();
Import-Module Microsoft.Graph.Beta.Planner
$params = @{
favoritePlanReferences = @{
jd8S5gOaFk2S8aWCIAJz42QAAxtD = @{
"@odata.type" = "#microsoft.graph.plannerFavoritePlanReference"
orderHint = " !"
planTitle = "Next Release Discussion"
}
"7oTB5aMIAE2rVo-1N-L7RmQAGX2q" = $null
}
recentPlanReferences = @{
jd8S5gOaFk2S8aWCIAJz42QAAxtD = @{
"@odata.type" = "#microsoft.graph.plannerRecentPlanReference"
lastAccessedDateTime = "2018-01-02T22:49:46.155Z"
planTitle = "Next Release Discussion"
}
}
}
# A UPN can also be used as -UserId.
Update-MgBetaUserPlanner -UserId $userId -BodyParameter $params -IfMatch W/'"JzEtVXNlckRldGFpbHMgQEBAQEBAQEBAQEBAQEBIWCc="'
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.planner.planner_request_builder import PlannerRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.models.planner_user import PlannerUser
from msgraph_beta.generated.models.planner_favorite_plan_reference_collection import PlannerFavoritePlanReferenceCollection
from msgraph_beta.generated.models.planner_favorite_plan_reference import PlannerFavoritePlanReference
from msgraph_beta.generated.models.planner_recent_plan_reference_collection import PlannerRecentPlanReferenceCollection
from msgraph_beta.generated.models.planner_recent_plan_reference import PlannerRecentPlanReference
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = PlannerUser(
favorite_plan_references = PlannerFavoritePlanReferenceCollection(
additional_data = {
"jd8_s5g_oa_fk2_s8a_w_c_i_a_jz42_q_a_axt_d" : {
"@odata_type" : "#microsoft.graph.plannerFavoritePlanReference",
"order_hint" : " !",
"plan_title" : "Next Release Discussion",
},
"7o_t_b5a_m_i_a_e2r_vo-1_n-_l7_rm_q_a_g_x2q" : None,
}
),
recent_plan_references = PlannerRecentPlanReferenceCollection(
additional_data = {
"jd8_s5g_oa_fk2_s8a_w_c_i_a_jz42_q_a_axt_d" : {
"@odata_type" : "#microsoft.graph.plannerRecentPlanReference",
"last_accessed_date_time" : "2018-01-02T22:49:46.155Z",
"plan_title" : "Next Release Discussion",
},
}
),
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Prefer", "return=representation")
request_configuration.headers.add("If-Match", "W/\"JzEtVXNlckRldGFpbHMgQEBAQEBAQEBAQEBAQEBIWCc=\"")
result = await graph_client.me.planner.patch(request_body, request_configuration = request_configuration)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"favoritePlanReferences": {
"jd8S5gOaFk2S8aWCIAJz42QAAxtD": {
"@odata.type": "#microsoft.graph.plannerFavoritePlanReference",
"orderHint": "8586866870001551087",
"planTitle": "Next Release Discussion"
},
"uZWtCtli30CGoWLIWSat1mQAC0ai": {
"@odata.type": "#microsoft.graph.plannerFavoritePlanReference",
"orderHint": "8586888705198093378",
"planTitle": "Product Support"
}
},
"recentPlanReferences": {
"jd8S5gOaFk2S8aWCIAJz42QAAxtD": {
"@odata.type": "#microsoft.graph.plannerRecentPlanReference",
"lastAccessedDateTime": "2018-01-02T22:49:46.155Z",
"planTitle": "Next Release Discussion"
},
"XYE5pqNJu0uuRC2PM4ZQrmQAF2Pn": {
"@odata.type": "#microsoft.graph.plannerRecentPlanReference",
"lastAccessedDateTime": "2018-01-01T19:39:17.57Z",
"planTitle": "Success Metrics"
}
},
"id": "-YPnMJRiIUSKFyaVjYEkBWQAAc47"
}