Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
Files.ReadWrite
Files.ReadWrite.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт)
Files.ReadWrite
Files.ReadWrite.All
Приложение
Files.ReadWrite.All
Sites.ReadWrite.All
HTTP-запрос
GET /shares/{shareIdOrEncodedSharingUrl}
Параметры пути
Имя параметра
Значение
Описание
shareIdOrEncodedSharingUrl
string
Обязательно. Маркер общего доступа, возвращенный API, или правильно закодированный URL-адрес для общего доступа.
Кодирование URL-адресов для общего доступа
Чтобы закодировать URL-адрес для общего доступа, используйте следующую логику:
Для начала примените к URL-адресу кодировку base64.
Преобразуйте результат из кодировки base64 в недополненный формат base64url, удалив символы = в конце значения и заменив / символом _, а + — символом -.)
Необязательный параметр. Строка. Задайте одно из описанных prefer ниже значений.
Предпочитать значения заголовка
Имя
Описание
redeemSharingLink
Если shareIdOrEncodedSharingUrl является ссылкой для общего доступа, предоставьте вызывающему объекту устойчивый доступ к элементу.
redeemSharingLinkIfNecessary
То же самое, что и redeemSharingLink, но доступ гарантируется только на время выполнения этого запроса.
redeemSharingLink следует рассматривать как эквивалентный вызывающей ссылке, перейдя по ссылке общего доступа в браузере (принимая жест общего доступа), в то время как функция redeemSharingLinkIfNecessary предназначена для сценариев, в которых намерение заключается в том, чтобы просто просмотреть метаданные ссылки.
Ответ
При успешном выполнении этот метод возвращает код отклика 200 OK и ресурс sharedDriveItem в тексте отклика.
Пример
Запрос
В следующем примере показан запрос на получение общего элемента:
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Shares["{sharedDriveItem-id}"].GetAsync();
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
shares, err := graphClient.Shares().BySharedDriveItemId("sharedDriveItem-id").Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
SharedDriveItem result = graphClient.shares().bySharedDriveItemId("{sharedDriveItem-id}").get();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.shares.by_shared_drive_item_id('sharedDriveItem-id').get()
Хотя SharedDriveItem содержит некоторые полезные сведения, большинство приложений хотят получить прямой доступ к общему объекту DriveItem.
Ресурс SharedDriveItem включает связи корневых элементов и элементов, которые могут получать доступ к содержимому в область общего элемента.
Пример (один файл)
Запрос
При запросе связи driveItem будет возвращен элемент DriveItem, к которому предоставлен общий доступ.
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Shares["{sharedDriveItem-id}"].DriveItem.GetAsync();
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
driveItem, err := graphClient.Shares().BySharedDriveItemId("sharedDriveItem-id").DriveItem().Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DriveItem result = graphClient.shares().bySharedDriveItemId("{sharedDriveItem-id}").driveItem().get();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.shares.by_shared_drive_item_id('sharedDriveItem-id').drive_item.get()
При запросе связи driveItem и расширении коллекции children будет возвращен элемент DriveItem, к которому предоставлен общий доступ, а также файлы, содержащиеся в общей папке.
GET /shares/{shareIdOrUrl}/driveItem?$expand=children
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Shares["{sharedDriveItem-id}"].DriveItem.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Expand = new string []{ "children" };
});
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphshares "github.com/microsoftgraph/msgraph-sdk-go/shares"
//other-imports
)
requestParameters := &graphshares.ShareItemDriveItemRequestBuilderGetQueryParameters{
Expand: [] string {"children"},
}
configuration := &graphshares.ShareItemDriveItemRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
driveItem, err := graphClient.Shares().BySharedDriveItemId("sharedDriveItem-id").DriveItem().Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DriveItem result = graphClient.shares().bySharedDriveItemId("{sharedDriveItem-id}").driveItem().get(requestConfiguration -> {
requestConfiguration.queryParameters.expand = new String []{"children"};
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.shares.item.drive_item.drive_item_request_builder import DriveItemRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = DriveItemRequestBuilder.DriveItemRequestBuilderGetQueryParameters(
expand = ["children"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.shares.by_shared_drive_item_id('sharedDriveItem-id').drive_item.get(request_configuration = request_configuration)
Дополнительные сведения о том, как возвращаются ошибки, см. в статье Ответы на ошибки.
Замечания
Для OneDrive для бизнеса и SharePoint API общих папок всегда требует проверки подлинности и не может использоваться для анонимного доступа к содержимому без контекста пользователя.