Google Planilhas Avançado - #124 API Versão 3 do Bling
12/09/2023No tutorial de hoje aprenderemos como atualizar a API do Bling para a versão 3.
Versão 3 da API do Bling
API (Application Programming Interface) é um conjunto de protocolos e ferramentas que facilitam a integração entre softwares e permitem que uma solução se comunique com outros produtos e serviços sem precisar acessar a interface gráfica da solução diretamente, tudo isso através do que chamamos de interface.
O intuito de uma API é a troca de dados entre sistemas implementados em diferentes tecnologias que utilizam o mesmo protocolo de comunicação.
No Bling, usamos a API para integrar as nossas soluções com nossos parceiros, sendo possível criar processos de automatização, atualização ou análise de registros, criação de novos aplicativos e uma vasta gama de soluções podem ser criadas para facilitar a vida dos nossos clientes.
O primeiro passo é a criação do aplicativo para o processo de autenticação que pode ser encontrado neste link.
O script final ficou assim:
let app = SpreadsheetApp;
let spreadsheet = app.getActiveSpreadsheet();
let sheet = spreadsheet.getSheets()[0];
let sheetConfig = spreadsheet.getSheets()[1];
let clientId = 'SEU_CLIENT_ID';
let secretKey = 'SEU_SECRET_KEY';
let code = sheetConfig.getRange('B2').getValue();
let accessToken = sheetConfig.getRange('B3').getValue();
let refreshToken = sheetConfig.getRange('B4').getValue();
/**
* Retorna o token de acesso
*/
function getToken(token='token')
{
let credentials = Utilities.base64Encode(clientId+':'+secretKey);
if(token == 'token'){
let options = {
'method' : 'post',
'payload' : {
'grant_type':'authorization_code',
'code':code
},
'headers':{
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': `Basic ${credentials}`
}
};
let reqs = UrlFetchApp.fetch('https://www.bling.com.br/Api/v3/oauth/token', options);
let ress = JSON.parse(reqs.getContentText());
}else if(token == 'refresh'){
let options = {
'method' : 'post',
'payload' : {
'grant_type':'refresh_token',
'refresh_token':refreshToken
},
'headers':{
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': `Basic ${credentials}`
}
};
let reqs = UrlFetchApp.fetch('https://www.bling.com.br/Api/v3/oauth/token', options);
let ress = JSON.parse(reqs.getContentText());
sheetConfig.getRange('B4').setValue(ress.refresh_token);
sheetConfig.getRange('B3').setValue(ress.access_token);
}
}
function teste()
{
getToken('refresh');
}
Por hoje é só! Fiquem todos com Deus! Sucesso nos códigos e na vida!
Precisa de ajuda? webdesignemfoco@gmail.com
"Ela fala com sabedoria e a instrução amorosa está em sua língua." Provérbios 31:26