- Acessar a URL https://{site_url}/sites/[TENANT-NAME]/_layouts/15/appregnew.aspx
- [TENANT-NAME] - é nome do site, podendo conter o subsite
- Em ID do Cliente, clicar em Gerar/Generate;
- Copiar o ID gerado e salvar em algum lugar seguro;
- Em Segredo do Cliente, clicar em Gerar/Generate;
- Copiar o Segredo gerado e salvar em algum lugar seguro;
- Em Título, inserir um nome de identificação. Atualmente estou colocando Performance CSC;
- Em Domínio do Aplicativo, pode inserir qualquer site, não faz diferença. Atualmente estou colocando google.com
- Em URL de Redirecionamento, insira https://localhost/
- Clicar em Criar
- Acessar a URL https://{site_url}/sites/[TENANT-NAME]/_layouts/15/appinv.aspx
- Em Id do Aplicativo, inserir o ID do Cliente gerado anteriormente e clicar em Pesquisa;
- Os Campos Título, Domínio do Aplicativo e URL de Redirecionamento serão preenchidos automaticamente;
- Em XML de Solicitação de Permissão, inserir:
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl"/>
</AppPermissionRequests>
- Clicar em Criar
- Clicar em Confiar
- Navegue para as configurações do site;
- Clique em Permissões do aplicativo do conjunto de sites;
- em Identificador de Aplicativo, copiar o conteúdo e salvar em um local seguro
-
ID do Cliente: Adquirido na etapa anterior
-
Segredo do Cliente: Adquirido na etapa anterior
-
Tenent ID: Adquirido na etapa anterior
-
Tenet NAME: {organização}.sharepoint.com
-
URL
https://accounts.accesscontrol.windows.net/{Tenent ID}/tokens/OAuth/2
- Method
POST
- Headers:
{
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "application/json;data=verbose"
}
- Body/Form:
{
"grant_type":"client_credentials",
"resource": "00000003-0000-0ff1-ce00-000000000000/{Tenet Name}@{Tenent ID}",
"client_id":"{Client ID}@{Tenet ID}",
"client_secret":"{client_secret}"
}
- Se tudo correto o status dda resposta deve ser 200 e o response deve conter o seguinte padrão;
{
"token_type": "Bearer",
"expires_in": "86399",
"not_before": "1659559508",
"expires_on": "1659646208",
"resource": "00000003-0000-0ff1-ce00-000000000000/{Tenet Name}@{Tenent ID}",
"access_token": "access_token"
}
- URL - varia de acordo com a demanda, segue abaixo alguns exemplos;
- Method
GET
- Headers
{
"Accept":"application/json;odata=verbose",
"Authorization": "Bearer {access_token}"
}
fontes: Trabalhar com pastas e arquivos com REST
https://{site_url}/_api/web/lists/GetByTitle('List Title')
https://{site_url}/_api/web/lists/GetByTitle('List Title')/items
- Por padrão retorna os 100 primeiros itens;
- Para definir a quantidade de itens, acrescente
?$top={quantidade}
no final da URL, onde a quantidade é o total de itens;- Neste caso, o máximo é de 5.000 itens;
https://{site_url}/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Files
https://{site_url}/_api/web/GetFileByServerRelativeUrl('/Folder Name/{file_name})/$value