Criar calendarPermission
Artigo
12/06/2021
3 minutos para o fim da leitura
3 colaboradores
Neste artigo
Namespace: microsoft.graph
Crie um recurso calendarPermission para especificar a identidade e a função do usuário com o qual o calendário especificado está sendo compartilhado ou delegado.
Permissões
Dependendo do tipo de calendário em que o evento se encontra e do tipo de permissão (delegada ou aplicativo) solicitada, para chamar essa API é necessário ter umas das seguintes permissões. Para saber mais, incluindo como escolher permissões, confira Permissões .
Calendário
Delegado (conta corporativa ou de estudante)
Delegada (conta pessoal da Microsoft)
Aplicativo
calendário do usuário
Calendars.Read, Calendars.ReadWrite
Calendars.Read, Calendars.ReadWrite
Calendars.Read, Calendars.ReadWrite
calendário de grupo
Group.Read.All, Group.ReadWrite.All
Sem suporte.
Sem suporte.
Solicitação HTTP
Crie as permissões especificadas do calendário principal de um usuário:
POST /users/{id}/calendar/calendarPermissions
Crie as permissões especificadas de um calendário de grupo:
POST /groups/{id}/calendar/calendarPermissions
Crie as permissões especificadas do calendário do usuário que contém o evento identificado:
POST /users/{id}/events/{id}/calendar/calendarPermissions
Nome
Descrição
Autorização
{token} de portador. Obrigatório.
Content-Type
application/json. Obrigatório.
Corpo da solicitação
No corpo da solicitação, fornece uma representação JSON de um objeto calendarPermission.
Resposta
Se tiver êxito, este método retornará um código de resposta e uma 200 OK coleção de objetos calendarPermission no corpo da resposta.
Exemplos
Solicitação
Este é um exemplo de solicitação.
POST https://graph.microsoft.com/v1.0/me/calendar/calendarPermissions
{
"emailAddress": {
"name": "Samantha Booth",
"address": "samanthab@adatum.onmicrosoft.com"
},
"isInsideOrganization": true,
"isRemovable": true,
"role": "read"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var calendarPermission = new CalendarPermission
{
EmailAddress = new EmailAddress
{
Name = "Samantha Booth",
Address = "samanthab@adatum.onmicrosoft.com"
},
IsInsideOrganization = true,
IsRemovable = true,
Role = CalendarRoleType.Read
};
await graphClient.Me.Calendar.CalendarPermissions
.Request()
.AddAsync(calendarPermission);
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 calendarPermission = {
emailAddress: {
name: 'Samantha Booth',
address: 'samanthab@adatum.onmicrosoft.com'
},
isInsideOrganization: true,
isRemovable: true,
role: 'read'
};
await client.api('/me/calendar/calendarPermissions')
.post(calendarPermission);
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:@"/me/calendar/calendarPermissions"]]];
[urlRequest setHTTPMethod:@"POST"];
MSGraphCalendarPermission *calendarPermission = [[MSGraphCalendarPermission alloc] init];
MSGraphEmailAddress *emailAddress = [[MSGraphEmailAddress alloc] init];
[emailAddress setName:@"Samantha Booth"];
[emailAddress setAddress:@"samanthab@adatum.onmicrosoft.com"];
[calendarPermission setEmailAddress:emailAddress];
[calendarPermission setIsInsideOrganization: true];
[calendarPermission setIsRemovable: true];
[calendarPermission setRole: [MSGraphCalendarRoleType read]];
NSError *error;
NSData *calendarPermissionData = [calendarPermission getSerializedDataWithError:&error];
[urlRequest setHTTPBody:calendarPermissionData];
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();
CalendarPermission calendarPermission = new CalendarPermission();
EmailAddress emailAddress = new EmailAddress();
emailAddress.name = "Samantha Booth";
emailAddress.address = "samanthab@adatum.onmicrosoft.com";
calendarPermission.emailAddress = emailAddress;
calendarPermission.isInsideOrganization = true;
calendarPermission.isRemovable = true;
calendarPermission.role = CalendarRoleType.READ;
graphClient.me().calendar().calendarPermissions()
.buildRequest()
.post(calendarPermission);
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.NewCalendarPermission()
emailAddress := msgraphsdk.NewEmailAddress()
requestBody.SetEmailAddress(emailAddress)
name := "Samantha Booth"
emailAddress.SetName(&name)
address := "samanthab@adatum.onmicrosoft.com"
emailAddress.SetAddress(&address)
isInsideOrganization := true
requestBody.SetIsInsideOrganization(&isInsideOrganization)
isRemovable := true
requestBody.SetIsRemovable(&isRemovable)
role := "read"
requestBody.SetRole(&role)
result, err := graphClient.Me().Calendar().CalendarPermissions().Post(requestBody)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Este é um exemplo de resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('458d4c95-124e-49da-ba9d-1dd0387e682e')/calendar/calendarPermissions/$entity",
"id": "RXhjaGFuZ2VQdWJsaXNoZWRVc2VyLnNhbWFudGhhYkBhZGF0dW0ub25taWNyb3NvZnQuY29t",
"isRemovable": true,
"isInsideOrganization": true,
"role": "read",
"allowedRoles": [
"freeBusyRead",
"limitedRead",
"read"
],
"emailAddress": {
"name": "Samantha Booth",
"address": "samanthab@adatum.onmicrosoft.com"
}
}