Acceso a OneDrive para la Empresa en un inquilino Multi-Geo
Obtener acceso a un sitio de usuario de OneDrive para la Empresa, también conocido como un sitio personal o Mi sitio, es habitual en aplicaciones personalizadas. Este artículo describe cómo trabajar con los sitios de OneDrive para la Empresa en un inquilino Multi-Geo.
Puede usar una de varias API para acceder a un sitio de OneDrive para la Empresa:
- API de Microsoft Graph (preferido).
- API de CSOM de SharePoint
- API de REST de SharePoint
Leer OneDrive para la Empresa con Microsoft Graph
Al usar Microsoft Graph para leer un archivo de OneDrive para la Empresa, no tiene que saber dónde se encuentra el sitio de OneDrive del usuario. Cuando solicite la unidad, como se muestra en los ejemplos siguientes, recibirá los archivos que necesite.
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
Leer los archivos de OneDrive para la Empresa con Microsoft Graph
Leer archivos mediante CSOM es lo mismo que leer archivos en otras colecciones de sitios; un sitio de OneDrive para la Empresa es una colección de sitios de SharePoint normal con una biblioteca de documentos que contiene los archivos. Consulte la sección Vea también para obtener ejemplos de uso de CSOM y REST para cargar archivos.
Obtener la ubicación de un sitio de OneDrive para la Empresa del usuario con Microsoft Graph
Los ejemplos siguientes muestran cómo obtener la ubicación de un sitio de OneDrive para la Empresa mediante la API de Microsoft Graph.
GET https://graph.microsoft.com/v1.0/users/admin@contoso.onmicrosoft.com/mySite
GET https://graph.microsoft.com/v1.0/me/mySite
Respuesta de ejemplo para una ubicación del sitio de OneDrive para la Empresa del usuario mediante 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/"
}
Para obtener más información, vea el ejemplo MultiGeo.UserProfileUpdates.
Obtener la ubicación de un sitio de OneDrive para la Empresa del usuario con CSOM y REST
El siguiente ejemplo muestra una consulta basada en REST para obtener la ubicación de un sitio de OneDrive para la Empresa.
GET https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)/PersonalUrl?%40v=%27i%3A0%23.f%7Cmembership%7Cbert%40contoso.onmicrosoft.com%27
Respuesta de ejemplo para una ubicación del sitio de OneDrive para la Empresa del usuario mediante REST
{
"d":{
"PersonalUrl":"https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/"
}
}
Si usa C#, puede usar CSOM para obtener la ubicación de un sitio de OneDrive para la Empresa.
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;
}