calendarPermission の作成
-
[アーティクル]
-
-
名前空間: microsoft.graph
calendarPermission リソースを作成して、指定した予定表を共有または委任するユーザーの ID と役割を指定します。
アクセス許可
イベントが含まれている予定表の種類および要求されたアクセス許可の種類 (委任またはアプリケーション) に応じて、この API を呼び出すには、次のいずれかの権限が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。
| 予定表 |
委任 (職場または学校のアカウント) |
委任 (個人用 Microsoft アカウント) |
アプリケーション |
| ユーザーの予定表 |
Calendars.Read、Calendars.ReadWrite |
Calendars.Read、Calendars.ReadWrite |
Calendars.Read、Calendars.ReadWrite |
| グループ予定表 |
Group.Read.All、Group.ReadWrite.All |
サポートされていません。 |
サポートされていません。 |
HTTP 要求
ユーザーのプライマリ カレンダーの指定されたアクセス許可を作成します。
POST /users/{id}/calendar/calendarPermissions
グループ カレンダーの指定されたアクセス許可を作成します。
POST /groups/{id}/calendar/calendarPermissions
識別されたイベントを含むユーザー カレンダーの指定されたアクセス許可を作成します。
POST /users/{id}/events/{id}/calendar/calendarPermissions
| 名前 |
説明 |
| Authorization |
ベアラー {token}。必須。 |
| Content-Type |
application/json. Required. |
要求本文
要求本文で、calendarPermission オブジェクトの JSON 表記を指定 します。
応答
成功した場合、このメソッドは応答コードと、応答本文の 200 OK calendarPermission オブジェクトのコレクションを返します。
例
要求
要求の例を次に示します。
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);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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];
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、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)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください。
応答
応答の例を次に示します。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
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"
}
}