Atualizar plannerplandetails
Artigo
07/18/2022
4 minutos para o fim da leitura
3 colaboradores
Neste artigo
Namespace: microsoft.graph
Atualize as propriedades do objeto plannerplandetails .
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões .
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante)
Tasks.ReadWrite, Group.ReadWrite.All
Delegado (conta pessoal da Microsoft)
Sem suporte.
Aplicativo
Sem suporte.
Solicitação HTTP
PATCH /planner/plans/{id}/details
Nome
Descrição
Autorização
{token} de portador. Obrigatório.
If-Match
Último valor de ETag conhecido para o plannerPlanDetails a ser atualizado. Obrigatório.
Corpo da solicitação
No corpo da solicitação, forneça os valores para os campos relevantes que devem ser atualizados. Propriedades existentes que não estão incluídas no corpo da solicitação terão seus valores anteriores mantidos ou serão recalculadas com base nas alterações a outros valores de propriedade. Para obter melhor desempenho, não inclua valores existentes que não foram alterados.
Propriedade
Tipo
Descrição
categoryDescriptions
plannerCategoryDescriptions
Um objeto que especifica as descrições das seis categorias que podem ser associadas a tarefas no plano
sharedWith
plannerUserIds
Conjunto de IDs de usuário com as qual esse plano é compartilhado. Se você estiver aproveitando os Microsoft 365, use a API de Grupos para gerenciar a associação de grupo para compartilhar o plano do grupo. Você também pode adicionar membros existentes do grupo a essa coleção, embora não seja necessário que eles acessem o plano pertencente ao grupo.
Resposta
Se tiver êxito, este método retornará a 204 No Content resposta e o conteúdo vazio. Se a solicitação especificar o Prefer cabeçalho com return=representation preferência, 200 OK esse método retornará um código de resposta e o objeto plannerPlanDetails atualizado no corpo da resposta.
Este método pode retornar qualquer um dos códigos de status de HTTP . Os erros mais comuns que os aplicativos devem tratar para esse método são as respostas 400, 403, 404, 409 e 412. Saiba mais sobre esses erros em Condições de erro comuns do Planner .
Exemplo
Solicitação
Este é um exemplo da solicitação.
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,
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var plannerPlanDetails = 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
}
};
await graphClient.Planner.Plans["{plannerPlan-id}"].Details
.Request()
.Header("Prefer","return=representation")
.Header("If-Match","W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"")
.UpdateAsync(plannerPlanDetails);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/planner/plans/{plan-id}/details"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"return=representation" forHTTPHeaderField:@"Prefer"];
[urlRequest setValue:@"W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\"" forHTTPHeaderField:@"If-Match"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphPlannerPlanDetails *plannerPlanDetails = [[MSGraphPlannerPlanDetails alloc] init];
MSGraphPlannerUserIds *sharedWith = [[MSGraphPlannerUserIds alloc] init];
[sharedWith set6463a5ce-2119-4198-9f2a-628761df4a62: true];
[sharedWith setD95e6152-f683-4d78-9ff5-67ad180fea4a: false];
[plannerPlanDetails setSharedWith:sharedWith];
MSGraphPlannerCategoryDescriptions *categoryDescriptions = [[MSGraphPlannerCategoryDescriptions alloc] init];
[categoryDescriptions setCategory1:@"Indoors"];
[categoryDescriptions setCategory3: null];
[plannerPlanDetails setCategoryDescriptions:categoryDescriptions];
NSError *error;
NSData *plannerPlanDetailsData = [plannerPlanDetails getSerializedDataWithError:&error];
[urlRequest setHTTPBody:plannerPlanDetailsData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<Option> requestOptions = new LinkedList<Option>();
requestOptions.add(new HeaderOption("Prefer", "return=representation"));
requestOptions.add(new HeaderOption("If-Match", "W/\"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=\""));
PlannerPlanDetails plannerPlanDetails = new PlannerPlanDetails();
PlannerUserIds sharedWith = new PlannerUserIds();
sharedWith.6463a5ce-2119-4198-9f2a-628761df4a62 = true;
sharedWith.d95e6152-f683-4d78-9ff5-67ad180fea4a = false;
plannerPlanDetails.sharedWith = sharedWith;
PlannerCategoryDescriptions categoryDescriptions = new PlannerCategoryDescriptions();
categoryDescriptions.category1 = "Indoors";
categoryDescriptions.category3 = null;
plannerPlanDetails.categoryDescriptions = categoryDescriptions;
graphClient.planner().plans("{plan-id}").details()
.buildRequest( requestOptions )
.patch(plannerPlanDetails);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewPlannerPlanDetails()
sharedWith := msgraphsdk.NewPlannerUserIds()
requestBody.SetSharedWith(sharedWith)
sharedWith.SetAdditionalData(map[string]interface{}{
"6463a5ce-2119-4198-9f2a-628761df4a62": true,
"d95e6152-f683-4d78-9ff5-67ad180fea4a": false,
}
categoryDescriptions := msgraphsdk.NewPlannerCategoryDescriptions()
requestBody.SetCategoryDescriptions(categoryDescriptions)
category1 := "Indoors"
categoryDescriptions.SetCategory1(&category1)
categoryDescriptions.SetCategory3(nil)
headers := map[string]string{
"Prefer": "return=representation"
"If-Match": "W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBAWCc=""
}
options := &msgraphsdk.DetailsRequestBuilderPatchRequestConfiguration{
Headers: headers,
}
plannerPlanId := "plannerPlan-id"
graphClient.Planner().PlansById(&plannerPlanId).Details().PatchWithRequestConfigurationAndResponseHandler(requestBody, options, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do 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
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Aqui está um exemplo da resposta. Observação: o objeto de resposta mostrado aqui pode ser reduzido para facilitar a leitura.
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"
}