Доступ к OneDrive для бизнеса в клиенте с поддержкой нескольких регионов

Доступ к сайту OneDrive для бизнеса пользователя, также известному как личный сайт или личный сайт, является распространенным сценарием в пользовательских приложениях. В этой статье описывается, как работать с OneDrive для бизнеса сайтами в клиенте с поддержкой нескольких регионов.

Для доступа к сайту OneDrive для бизнеса можно использовать один из нескольких API:

  • Microsoft API Graph (предпочтительный)
  • CSOM API SharePoint
  • REST API SharePoint

Чтение файлов OneDrive для бизнеса с помощью Microsoft Graph

Если вы используете Microsoft Graph для чтения файла OneDrive для бизнеса, вам не нужно знать, где расположен сайт OneDrive пользователя. При запросе диска, как показано в следующих примерах, вы получите необходимые файлы.

GET https://graph.microsoft.com/v1.0/users/bert@contoso.onmicrosoft.com/drive/root/children

GET https://graph.microsoft.com/v1.0/users/me/drive/root/children

Чтение файлов OneDrive для бизнеса с помощью CSOM и REST

Чтение файлов с помощью CSOM идентично чтению файлов в других семействах веб-сайтов; сайт OneDrive для бизнеса — это обычное семейство веб-сайтов SharePoint с библиотекой документов, содержащей файлы. Примеры использования CSOM и REST для отправки файлов см. в разделе См. также .

Получение расположения сайта OneDrive для бизнеса пользователя с помощью Microsoft Graph

В следующих примерах показано, как получить расположение сайта OneDrive для бизнеса с помощью API Graph Майкрософт.

GET https://graph.microsoft.com/v1.0/users/admin@contoso.onmicrosoft.com/mySite

GET https://graph.microsoft.com/v1.0/me/mySite

Пример ответа для расположения сайта OneDrive для бизнеса пользователя с помощью Microsoft Graph

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('admin@contoso.onmicrosoft.com')/mySite",
    "value": "https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/"
}

Дополнительные сведения см. в примере MultiGeo.UserProfileUpdates .

Получение расположения сайта OneDrive для бизнеса пользователя с помощью CSOM и REST

В следующем примере показан запрос на основе REST для получения расположения OneDrive для бизнеса сайта.

GET https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)/PersonalUrl?%40v=%27i%3A0%23.f%7Cmembership%7Cbert%40contoso.onmicrosoft.com%27

Пример ответа для расположения сайта OneDrive для бизнеса пользователя с помощью REST

{
    "d":{
        "PersonalUrl":"https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/"
        }
}

Если вы используете C#, вы можете использовать CSOM для получения расположения OneDrive для бизнеса сайта.

public string GetUserPersonalUrlCSOM(ClientContext ctx, string userPrincipalName)
{
  string result = null;

  PeopleManager peopleManager = new PeopleManager(ctx);
  var userProperties = peopleManager.GetPropertiesFor(userPrincipalName);
  this.clientContext.ExecuteQuery();
  result = userProperties.PersonalUrl;

  return result;
}

См. также