2
votes

Puis-je rechercher un fichier dans toutes les équipes / groupes auxquels j'appartiens sur MS Teams à l'aide de l'API Microsoft Graph

J'utilise l'API suivante où je suggère le TEAM_ID / GROUP_ID à rechercher

https://graph.microsoft.com/v1.0/groups/GROUP_ID/drive/root/search(q= 'SEARCH_VALUE')

Je préfère rechercher dans tous les groupes dont je fais partie sans l'ID de groupe pour rechercher le contenu dans le Drive Teams. Toutes les pistes seront appréciées.


0 commentaires

3 Réponses :


0
votes

Les groupes O365 sont la base de beaucoup de choses dans le monde du cloud de Microsoft, une équipe est un complément aux groupes Office 365, tout comme Sharepoint (où les fichiers d'équipe sont principalement stockés)

Je ne pense pas qu'il existe une seule requête graphique qui puisse renvoyer tous les fichiers de lecteur auxquels vous avez accès. vous devrez créer 2 requêtes, une pour interroger les groupes dont vous êtes membre, puis la parcourir en boucle pour effectuer une requête de recherche sur chacun des groupes. pour obtenir tous les identifiants de groupe des groupes dont vous êtes membre is / getMemberGroups https://docs.microsoft.com/en-us/graph/api/user-getmembergroups?view=graph-rest-1.0&tabs=http

Vous pouvez probablement le faire avec PowerShell ou un programme simple ou vraiment n'importe quel langage qui peut appeler graph.


0 commentaires

1
votes

Le group_id est obligatoire, voir ici . entrez la description de l'image ici

Vous pouvez essayer Powershell pour obtenir les groupes souhaités, puis effectuer une boucle pour demander l'API MS Graph.

#sign in your azure account
Connect-AzureAD

#get access token
function Get-AzureRMBearerToken
{
    [CmdletBinding()]
    Param
    (
        $TenantID,

        $AppID,

        $ClientSecret
    )

    $Result=Invoke-RestMethod -Uri https://login.microsoftonline.com/$TenantID/oauth2/token?api-version=1.0 -Method Post -Body @{"grant_type" = "client_credentials"; "resource" = "https://graph.microsoft.com/"; "client_id" = "$AppID"; "client_secret" = "$ClientSecret" }
    $Authorization = "{0} {1}" -f ($result.token_type , $result.access_token)
    $Authorization
}
$accessToken = Get-AzureRMBearerToken  -TenantID "{your tenant id}" -AppID "{application/client id}" -ClientSecret "{value in your client secret}"

#get all groups
$groups = Get-AzureADGroup -All

#request MS Graph API in the loop
Foreach($group in $groups){
    $url = "https://graph.microsoft.com/v1.0/groups/"+$group.ObjectId+"/drive/root/search(q='SEARCH_VALUE')"
    Invoke-RestMethod -Method Get -Uri $url -Headers @{ Authorization = $accessToken }
} 

Remarque: assurez-vous que votre application dispose des autorisations requises. Reportez-vous ici et ici .


0 commentaires

1
votes

J'ai trouvé la solution en utilisant Search Drive Items qui est actuellement disponible en version bêta à partir de l'API Graph. Il recherche la liste des fichiers en détail à partir de tous les lecteurs d'équipe et lecteurs Sharepoint auxquels vous avez accès sous le locataire azure.


0 commentaires