Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Отмените доступ к listItem или driveItem, предоставленным через ссылку для общего доступа, удалив указанного получателя из ссылки.
Примечание: Эта функция доступна только для общего доступа к ссылкам, доступным для пользователей.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
✅ |
✅ |
✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
Files.ReadWrite |
Files.ReadWrite.All, Sites.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Приложение |
Files.ReadWrite.All |
Sites.ReadWrite.All |
HTTP-запрос
POST /drives/{drive-id}/items/{item-id}/permissions/{perm-id}/revokeGrants
POST /groups/{group-id}/drive/items/{item-id}/permissions/{perm-id}/revokeGrants
POST /me/drive/items/{item-id}/permissions/{perm-id}/revokeGrants
POST /sites/{site-id}/drive/items/{item-id}/permissions/{perm-id}/revokeGrants
POST /sites/{site-id}/lists/{list-id}/items/{listItem-id}/driveItem/permissions/{perm-id}/revokeGrants
POST /users/{user-id}/drive/items/{item-id}/permissions/{perm-id}/revokeGrants
Текст запроса
В тело запроса добавьте параметры в формате JSON.
В следующей таблице указаны параметры, которые можно использовать с этим действием.
Параметр |
Тип |
Описание |
Участников |
коллекция driveRecipient |
Коллекция получателей, которым будет отозван доступ к ссылке общего доступа. |
Отклик
В случае успешного выполнения это действие возвращает код отклика 200 OK
и разрешение в тексте ответа.
Примеры
Запрос
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/permissions/{perm-id}/revokeGrants
Content-Type: application/json
{
"grantees": [
{
"email": "[email protected]"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Drives.Item.Items.Item.Permissions.Item.RevokeGrants;
using Microsoft.Graph.Beta.Models;
var requestBody = new RevokeGrantsPostRequestBody
{
Grantees = new List<DriveRecipient>
{
new DriveRecipient
{
Email = "[email protected]",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].Permissions["{permission-id}"].RevokeGrants.PostAsync(requestBody);
mgc-beta drives items permissions revoke-grants post --drive-id {drive-id} --drive-item-id {driveItem-id} --permission-id {permission-id} --body '{\
"grantees": [\
{\
"email": "[email protected]"\
}\
]\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphdrives "github.com/microsoftgraph/msgraph-beta-sdk-go/drives"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphdrives.NewRevokeGrantsPostRequestBody()
driveRecipient := graphmodels.NewDriveRecipient()
email := "[email protected]"
driveRecipient.SetEmail(&email)
grantees := []graphmodels.DriveRecipientable {
driveRecipient,
}
requestBody.SetGrantees(grantees)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
revokeGrants, err := graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").Permissions().ByPermissionId("permission-id").RevokeGrants().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.drives.item.items.item.permissions.item.revokegrants.RevokeGrantsPostRequestBody revokeGrantsPostRequestBody = new com.microsoft.graph.beta.drives.item.items.item.permissions.item.revokegrants.RevokeGrantsPostRequestBody();
LinkedList<DriveRecipient> grantees = new LinkedList<DriveRecipient>();
DriveRecipient driveRecipient = new DriveRecipient();
driveRecipient.setEmail("[email protected]");
grantees.add(driveRecipient);
revokeGrantsPostRequestBody.setGrantees(grantees);
var result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").permissions().byPermissionId("{permission-id}").revokeGrants().post(revokeGrantsPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const permission = {
grantees: [
{
email: '[email protected]'
}
]
};
await client.api('/me/drive/items/{item-id}/permissions/{perm-id}/revokeGrants')
.version('beta')
.post(permission);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Drives\Item\Items\Item\Permissions\Item\RevokeGrants\RevokeGrantsPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\DriveRecipient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new RevokeGrantsPostRequestBody();
$granteesDriveRecipient1 = new DriveRecipient();
$granteesDriveRecipient1->setEmail('[email protected]');
$granteesArray []= $granteesDriveRecipient1;
$requestBody->setGrantees($granteesArray);
$result = $graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->permissions()->byPermissionId('permission-id')->revokeGrants()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Files
$params = @{
grantees = @(
@{
email = "[email protected]"
}
)
}
Revoke-MgBetaDriveItemPermissionGrant -DriveId $driveId -DriveItemId $driveItemId -PermissionId $permissionId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.drives.item.items.item.permissions.item.revoke_grants.revoke_grants_post_request_body import RevokeGrantsPostRequestBody
from msgraph_beta.generated.models.drive_recipient import DriveRecipient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = RevokeGrantsPostRequestBody(
grantees = [
DriveRecipient(
email = "[email protected]",
),
],
)
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').permissions.by_permission_id('permission-id').revoke_grants.post(request_body)
Отклик
В случае успешного выполнения этот метод возвращает ресурс Permission в тексте ответа, который представляет обновленное состояние ссылки общего доступа.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "123ABC",
"roles": ["write"],
"link": {
"type": "edit",
"scope": "users",
"webUrl": "https://contoso-my.sharepoint.com/personal/ellen_contoso_com/...",
"application": {
"id": "1234",
"displayName": "Sample Application"
},
}
}