Доступ к 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;
}