{"id":2379,"date":"2022-02-26T11:52:49","date_gmt":"2022-02-26T14:52:49","guid":{"rendered":"http:\/\/www.l2maker.com.br\/documentacao\/?p=2379"},"modified":"2023-11-24T08:48:47","modified_gmt":"2023-11-24T11:48:47","slug":"gerando-os-dados-para-acesso-via-oauth-ao-google-drive","status":"publish","type":"post","link":"https:\/\/www.l2maker.com.br\/documentacao\/2022\/02\/gerando-os-dados-para-acesso-via-oauth-ao-google-drive\/","title":{"rendered":"Gerando os dados para acesso via OAuth ao Google Drive"},"content":{"rendered":"\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">ATEN\u00c7\u00c3O:<\/mark> <\/strong>Esta forma de autentica\u00e7\u00e3o requer que o usu\u00e1rio libere no navegador o acesso de tempos em tempos (horas, dias, &#8230;), est\u00e1 n\u00e3o \u00e9 a op\u00e7\u00e3o mais usual. Para uso via sistema, <strong>considere usar a op\u00e7\u00e3o de conta de servi\u00e7o<\/strong>: <a href=\"https:\/\/www.l2maker.com.br\/documentacao\/2021\/04\/trabalhando-com-as-apis-do-google-no-maker\/\" data-type=\"post\" data-id=\"2032\">Como gerar o JSON<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configurando um projeto na conta do Google<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Acesse o console de APIs do Google: <a rel=\"noreferrer noopener\" href=\"http:\/\/console.developers.google.com\" target=\"_blank\">http:\/\/console.developers.google.com<\/a><\/li>\n\n\n\n<li>Crie um novo projeto &#8220;<strong>NOVO PROJETO<\/strong>&#8221; \/ &#8220;<strong>NEW PROJECT<\/strong>&#8220;;<\/li>\n\n\n\n<li>Clique sobre o link &#8220;<strong>ATIVAR APIS E SERVI\u00c7OS<\/strong>&#8220;;<\/li>\n\n\n\n<li>Procure por &#8220;<strong>Google Drive API<\/strong>&#8220;, clique&nbsp; sobre a API do Drive em em seguida em &#8220;<strong>ATIVAR<\/strong>&#8220;;<\/li>\n\n\n\n<li>Adicione credenciais de acesso (<strong>Credentials<\/strong>) do tipo &#8220;OAuth 2.0&#8221; clicando em<strong> Credenciais &gt; Criar Credenciais &gt; ID do cliente OAuth<\/strong>, selecione o tipo de aplicativo &#8220;<strong>Aplicativo da Web<\/strong>&#8220;;<\/li>\n\n\n\n<li>Cadastrando a URL de retorno, apontando para um formul\u00e1rio do Maker ou Fluxo Web publicamente acess\u00edvel, por exemplo:\n<ol class=\"wp-block-list\">\n<li>http:\/\/exemplos.l2servidores.com.br\/webrun\/form.jsp?sys=TEN&amp;action=openform&amp;formID=8338<\/li>\n\n\n\n<li>http:\/\/localhost:8087\/api27\/form.jsp?sys=TEN&amp;action=openform&amp;formID=8338<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Copie o &#8220;Client ID&#8221; e &#8220;Client secret&#8221; e informe no mapa com os nomes &#8220;<strong>client_id<\/strong>&#8221; e &#8220;<strong>client_secret<\/strong>&#8221; respectivamente;<\/li>\n\n\n\n<li>Informe a URL de retorno no item &#8220;<strong>redirect_uri<\/strong>&#8220;;<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Criando a conex\u00e3o<\/h2>\n\n\n\n<p>A inicializa\u00e7\u00e3o \u00e9 feita com um mapa contendo os seguintes itens:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>client_id (Letras);<\/li>\n\n\n\n<li>client_secret (Letras);<\/li>\n\n\n\n<li>redirect_uri (Letras);<\/li>\n\n\n\n<li>access_token (Letras) &#8211; Opcional\/Em branco nesse passo;<\/li>\n\n\n\n<li>refresh_token (Letras) &#8211; Opcional\/Em branco nesse passo;<\/li>\n\n\n\n<li>expire_at (Data e Hroas ou Letras) &#8211; Opcional\/Em branco nesse passo.<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li>gDrive = <strong>Nuvem &#8211; Inicializar<\/strong>(&#8216;<strong>GOOGLE-DRIVE<\/strong>&#8216;, MAPA,&nbsp;&#8216;L2MAKER-EXEMPLO-CloudStorage-Atualizar Dados&#8217;);<\/li>\n\n\n\n<li>Endere\u00e7o = <strong>Nuvem &#8211; Obter URL de Autoriza\u00e7\u00e3o<\/strong>(<strong>gDrive<\/strong>);<\/li>\n\n\n\n<li>Ap\u00f3s obter a URL voc\u00ea deve abrir a URL retornada em uma nova janela, nela o Google ir\u00e1 conduzir o processo de autentica\u00e7\u00e3o e autoriza\u00e7\u00e3o de acesso segundo a pol\u00edtica de seguran\u00e7a do Google;<\/li>\n\n\n\n<li>Ap\u00f3s conclu\u00eddo o processo de autoriza\u00e7\u00e3o o Google ir\u00e1 redirecionar para o endere\u00e7o informado no inicio (&#8220;redirect_uri&#8221;), retornando o c\u00f3digo de libera\u00e7\u00e3o;<\/li>\n\n\n\n<li>Para transformar o c\u00f3digo de libera\u00e7\u00e3o em um token de acesso e um token de atualiza\u00e7\u00e3o voc\u00ea deve chamar a fun\u00e7\u00e3o &#8220;<strong>Nuvem &#8211; Processar Autoriza\u00e7\u00e3o<\/strong>(<strong>gDrive<\/strong>);&#8221; passando um mapa com os mesmo dados do Google Drive utilizados ao criar a URL de autentica\u00e7\u00e3o;<\/li>\n\n\n\n<li>Ap\u00f3s validar a libera\u00e7\u00e3o de acesso no servidor do Google o fluxo de atualiza\u00e7\u00e3o de dados ser\u00e1 disparado com os dados de acesso retornado. Este fluxo deve obter os dados de acesso no mapa e armazen\u00e1-los em algum local persistente (tabela, arquivo, &#8230;). OBS: Podem estar em branco caso a libera\u00e7\u00e3o n\u00e3o seja v\u00e1lida.<\/li>\n\n\n\n<li>Ap\u00f3s esse processo as demais inst\u00e2ncias do mapa com dados de acesso ao Drive devem conter todos os par\u00e2metros preenchidos, incluindo:&nbsp;access_token, refresh_token, expire_at.<\/li>\n\n\n\n<li>O access_token se renova per\u00edodicamente, a API faz a chamada de forma transparente, e sempre que necess\u00e1rio executa o fluxo de atualiza\u00e7\u00e3o de dados passando os novos dados de acesso;<\/li>\n\n\n\n<li>Ap\u00f3s criar a configura\u00e7\u00e3o do projeto voc\u00ea deve chamar a fun\u00e7\u00e3o que verifica o acesso (<strong>Nuvem &#8211; Autentica\u00e7\u00e3o valida<\/strong>(<strong>gDrive<\/strong>)) el\u00e1 ir\u00e1 indicar se os dados de acesso \u00e0 API continuam v\u00e1lidos, e permitir\u00e1 enviar o usu\u00e1rio novamente \u00e0 tela de libera\u00e7\u00e3o de acesso.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Revogando o acesso<\/h3>\n\n\n\n<p>Para cancelar o acesso a uma conta basta criar uma conex\u00e3o com o Google Drive informando o <strong>access_token<\/strong> e <strong>refresh_token<\/strong> e chamando a fun\u00e7\u00e3o &#8220;<strong>Nuvem \u2013 Revogar Autoriza\u00e7\u00e3o<\/strong>&#8220;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ATEN\u00c7\u00c3O: Esta forma de autentica\u00e7\u00e3o requer que o usu\u00e1rio libere no navegador o acesso de tempos em tempos (horas, dias, &#8230;), est\u00e1 n\u00e3o \u00e9 a op\u00e7\u00e3o mais usual. Para uso via sistema, considere usar a op\u00e7\u00e3o de conta de servi\u00e7o: Como gerar o JSON. Configurando um projeto na conta do Google Criando a conex\u00e3o A [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[242,157],"tags":[14,158],"class_list":["post-2379","post","type-post","status-publish","format-standard","hentry","category-documentacao-apis-do-google","category-api-arquivo-nuvem-docs","tag-api","tag-google-drive"],"_links":{"self":[{"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/posts\/2379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/comments?post=2379"}],"version-history":[{"count":6,"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/posts\/2379\/revisions"}],"predecessor-version":[{"id":3175,"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/posts\/2379\/revisions\/3175"}],"wp:attachment":[{"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/media?parent=2379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/categories?post=2379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.l2maker.com.br\/documentacao\/wp-json\/wp\/v2\/tags?post=2379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}