Procurar conteúdos do SharePoint com permissões de aplicação
Este artigo descreve como pode utilizar as permissões de aplicação com a API de Pesquisa da Microsoft no Microsoft Graph para procurar conteúdos do SharePoint. Ao contrário das permissões delegadas, as permissões de aplicação permitem que um proprietário da aplicação pesquise todo o conteúdo nos sites do SharePoint do proprietário numa região selecionada.
A execução de uma pesquisa com permissão de aplicação está limitada a uma região geográfica. Tem de especificar um valor para a propriedade região no pedido de pesquisa quando utiliza permissões de aplicação para executar uma pesquisa. Para obter o valor de região de um inquilino, utilize a propriedade dataLocationCode do recurso siteCollection . Para obter mais informações e exemplos, veja Obter o valor da região.
Por predefinição, as permissões de aplicação ativam a pesquisa em conteúdos partilhados e desativam a pesquisa em conteúdos privados. Para ativar a pesquisa de conteúdo privado, veja Exemplo 2: Incluir todo o conteúdo privado.
Exemplo 1: pedido de pesquisa predefinido
Solicitação
POST https://graph.microsoft.com/beta/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": [
"listItem"
],
"query": {
"queryString": "contoso"
},
"region": "NAM"
}
]
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.type": "#microsoft.graph.searchResponse",
"searchTerms": [
"contoso"
],
"hitsContainers": [
{
"total": 2,
"moreResultsAvailable": false,
"@odata.type": "#microsoft.graph.searchHitsContainer",
"hits": [
{
"@odata.type": "#microsoft.graph.searchHit",
"hitId": "01VRZMWHPGDM5KTXS53RF3SSGHW7SGGPKL",
"rank": 1,
"summary": "As we work to become a more <ddd/> We <c0>test</c0> samples from the region between 10 and 100 times per day <ddd/> and surrounding areas that CPU uses to <c0>test</c0> the quality of your drinking water every day <ddd/> contoso",
"resource": {
"@odata.type": "#microsoft.graph.listItem",
"size": 971838,
"fileSystemInfo": {
"createdDateTime": "2020-07-22T21:14:59Z",
"lastModifiedDateTime": "2018-09-12T16:20:16Z"
},
"id": "01VRZMWHPGDM5KTXS53RF3SSGHW7SGGPKL",
"createdBy": {
"user": {
"displayName": "Adventure Works Cycles"
}
},
"createdDateTime": "2020-07-22T21:14:59+00:00",
"lastModifiedBy": {
"user": {
"displayName": "Adventure Works Cycles"
}
},
"lastModifiedDateTime": "2018-09-12T16:20:16+00:00",
"name": "Adventure Works Cycles Name",
"parentReference": {
"siteId": "Contoso066a,5724d91f-650c-4810-83cc-61a8818917d6,c3ba25dc-2c9f-48cb-83be-74cdf68ea5a0",
"driveId": "b!NAe_rKr80k-n7e5zlCVIqSnIwTNsGBVBlusjEvRHgjMmmcA3Ubc7R4Kyao9hbgL4",
"sharepointIds": {
"listId": "c61d1892-ca82-4f53-b16f-6bb8a379e2b2",
"listItemId": "1027",
"listItemUniqueId": "E320AFEB-AD73-46A2-83D7-985FAA4B206D"
}
},
"webUrl": "http://www.adventure-works.com/"
}
},
{
"@odata.type": "#microsoft.graph.searchHit",
"hitId": "01BTQFB3LHZTAYBV2VXVEK22ETF5WOQGT2",
"rank": 2,
"summary": "QT300 Accessories Specs Costs Chart Continue <ddd/> 16 Package 5 14 Grand Total 99 Results Data <c0>Test</c0> Group Gender <c0>Test</c0> Option 1 2 3 18-25 Male Package 4 Color <ddd/> ",
"resource": {
"@odata.type": "#microsoft.graph.listItem",
"size": 34428,
"fileSystemInfo": {
"createdDateTime": "2020-07-22T21:23:50Z",
"lastModifiedDateTime": "2012-10-29T17:52:10Z"
},
"id": "01BTQFB3LHZTAYBV2VXVEK22ETF5WOQGT2",
"createdBy": {
"user": {
"displayName": "Adventure Works Cycles"
}
},
"createdDateTime": "2020-07-22T21:23:50+00:00",
"lastModifiedBy": {
"user": {
"displayName": "Adatum Corporation"
}
},
"lastModifiedDateTime": "2012-10-29T17:52:10+00:00",
"name": "Adatum Corporation Name",
"parentReference": {
"siteId": "Contoso066a,893378cb-d2cd-4076-a2c9-e50587a26832,04120cf2-7863-4701-8541-eb26266a25e6",
"sharepointIds": {
"listId": "c61d1892-ca82-4f53-b16f-6bb8a379e2b2",
"listItemId": "1027",
"listItemUniqueId": "E320AFEB-AD73-46A2-83D7-985FAA4B206D"
}
},
"webUrl": "http://www.adatum.com/contoso"
}
}
]
}
]
}
Exemplo 2: Incluir todo o conteúdo privado
Por predefinição, a pesquisa de conteúdo privado está desativada para clientes com permissões de aplicação.
Para incluir todo o conteúdo privado numa pesquisa com permissões de aplicação, especifique privateContent
na propriedade sharePointOneDriveOptions .
Observação
Procurar todo o conteúdo privado pode ser uma opção dispendiosa. Para tornar o processo mais eficiente, ao executar o pedido de pesquisa inicial e especificar privateContnt
, é aprovisionado um índice para apresentar resultados privados. O tempo necessário para criar o índice depende do número de itens no OneDrive dos seus utilizadores. Para um inquilino de média a grande dimensão, o aprovisionamento de um novo índice pode demorar dias a uma semana a ser concluído. Para inquilinos muito grandes, o aprovisionamento demorará mais tempo. Enquanto o índice está a ser aprovisionado, os pedidos de pesquisa só devolvem conteúdo partilhado e público. Quando o novo índice estiver concluído, os conteúdos privados e partilhados também são devolvidos. Se não forem enviados pedidos de pesquisa no privateContent
prazo de três meses, o índice privado será desativado. Um pedido de pesquisa subsequente para privateContent
irá reconstruir o índice.
Solicitação
POST https://graph.microsoft.com/beta/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": [
"listItem"
],
"query": {
"queryString": "contoso"
},
"region": "NAM",
"sharePointOneDriveOptions": {
"includeContent": "privateContent,sharedContent"
}
}
]
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.type": "#microsoft.graph.searchResponse",
"searchTerms": [
"contoso"
],
"hitsContainers": [
{
"total": 2,
"moreResultsAvailable": false,
"@odata.type": "#microsoft.graph.searchHitsContainer",
"hits": [
{
"@odata.type": "#microsoft.graph.searchHit",
"hitId": "01VRZMWHPGDM5KTXS53RF3SSGHW7SGGPKL",
"rank": 1,
"summary": "As we work to become a more <ddd/> We <c0>test</c0> samples from the region between 10 and 100 times per day <ddd/> and surrounding areas that CPU uses to <c0>test</c0> the quality of your drinking water every day <ddd/> contoso",
"resource": {
"@odata.type": "#microsoft.graph.listItem",
"size": 971838,
"fileSystemInfo": {
"createdDateTime": "2020-07-22T21:14:59Z",
"lastModifiedDateTime": "2018-09-12T16:20:16Z"
},
"id": "01VRZMWHPGDM5KTXS53RF3SSGHW7SGGPKL",
"createdBy": {
"user": {
"displayName": "Adventure Works Cycles"
}
},
"createdDateTime": "2020-07-22T21:14:59+00:00",
"lastModifiedBy": {
"user": {
"displayName": "Adventure Works Cycles"
}
},
"lastModifiedDateTime": "2018-09-12T16:20:16+00:00",
"name": "Adventure Works Cycles Name",
"parentReference": {
"siteId": "Contoso066a,5724d91f-650c-4810-83cc-61a8818917d6,c3ba25dc-2c9f-48cb-83be-74cdf68ea5a0",
"driveId": "b!NAe_rKr80k-n7e5zlCVIqSnIwTNsGBVBlusjEvRHgjMmmcA3Ubc7R4Kyao9hbgL4",
"sharepointIds": {
"listId": "c61d1892-ca82-4f53-b16f-6bb8a379e2b2",
"listItemId": "1027",
"listItemUniqueId": "E320AFEB-AD73-46A2-83D7-985FAA4B206D"
}
},
"webUrl": "http://www.adventure-works.com/"
}
},
{
"@odata.type": "#microsoft.graph.searchHit",
"hitId": "01BTQFB3LHZTAYBV2VXVEK22ETF5WOQGT2",
"rank": 2,
"summary": "QT300 Accessories Specs Costs Chart Continue <ddd/> 16 Package 5 14 Grand Total 99 Results Data <c0>Test</c0> Group Gender <c0>Test</c0> Option 1 2 3 18-25 Male Package 4 Color <ddd/> ",
"resource": {
"@odata.type": "#microsoft.graph.listItem",
"size": 34428,
"fileSystemInfo": {
"createdDateTime": "2020-07-22T21:23:50Z",
"lastModifiedDateTime": "2012-10-29T17:52:10Z"
},
"id": "01BTQFB3LHZTAYBV2VXVEK22ETF5WOQGT2",
"createdBy": {
"user": {
"displayName": "Adventure Works Cycles"
}
},
"createdDateTime": "2020-07-22T21:23:50+00:00",
"lastModifiedBy": {
"user": {
"displayName": "Adatum Corporation"
}
},
"lastModifiedDateTime": "2012-10-29T17:52:10+00:00",
"name": "Adatum Corporation Name",
"parentReference": {
"siteId": "Contoso066a,893378cb-d2cd-4076-a2c9-e50587a26832,04120cf2-7863-4701-8541-eb26266a25e6",
"sharepointIds": {
"listId": "c61d1892-ca82-4f53-b16f-6bb8a379e2b2",
"listItemId": "1027",
"listItemUniqueId": "E320AFEB-AD73-46A2-83D7-985FAA4B206D"
}
},
"webUrl": "http://www.adatum.com/contoso"
}
}
]
}
]
}
Limitação conhecida
- A paginação profunda (paginação através de todo o conjunto de resultados) não é suportada para além da linha de início x (por exemplo, "de" valor > 1000). Sugira que não utilize um valor grande "de" e "tamanho" ao executar o pedido de pesquisa com a Permissão da Aplicação.
- O colapso não é suportado.