Acessar o OneDrive for Business em um locatário multigeográfico
Acessar o site de OneDrive for Business de um usuário, também conhecido como um site pessoal ou meu site, é um cenário comum em aplicativos personalizados. Este artigo descreve como trabalhar com OneDrive for Business sites em um locatário multi-geográfico.
Você pode usar uma das várias APIs para acessar um site OneDrive for Business:
- Microsoft API do Graph (preferencial)
- API CSOM SharePoint
- API REST do SharePoint
Ler arquivos OneDrive for Business usando o Microsoft Graph
Quando você usa o Microsoft Graph para ler um arquivo OneDrive for Business, não precisa saber onde o site do OneDrive do usuário está localizado. Ao solicitar a unidade, conforme mostrado nos exemplos a seguir, você receberá os arquivos necessários.
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
Ler arquivos OneDrive for Business usando CSOM e REST
A leitura de arquivos usando o CSOM é idêntica à leitura de arquivos em outras coleções de sites; um site OneDrive for Business é uma coleção de sites regular do SharePoint com uma biblioteca de documentos contendo arquivos. Consulte a seção Ver também para obter exemplos para usar CSOM e REST para carregar arquivos.
Obter a localização do site de OneDrive for Business de um usuário usando o Microsoft Graph
Os exemplos a seguir mostram como obter a localização de um site OneDrive for Business usando o microsoft API do Graph.
GET https://graph.microsoft.com/v1.0/users/admin@contoso.onmicrosoft.com/mySite
GET https://graph.microsoft.com/v1.0/me/mySite
Resposta de exemplo para um local do site de OneDrive for Business do usuário usando o 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 obter mais informações, consulte o exemplo MultiGeo.UserProfileUpdates .
Obter a localização do site de OneDrive for Business de um usuário usando CSOM e REST
O exemplo a seguir mostra uma consulta baseada em REST para obter a localização de um site OneDrive for Business.
GET https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)/PersonalUrl?%40v=%27i%3A0%23.f%7Cmembership%7Cbert%40contoso.onmicrosoft.com%27
Resposta de exemplo para um local do site de OneDrive for Business do usuário usando REST
{
"d":{
"PersonalUrl":"https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/"
}
}
Se você estiver usando C#, poderá usar o CSOM para obter a localização de um site OneDrive for Business.
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;
}