Auth_Code e Token_Code

Como gerar o auth_code e o token_code

Neste artigo, veja como gerar o auth_code e o token_code, necessários para a utilização das macros sc_api_upload e sc_api_download.
Estas chaves devem ser geradas individualmente, siga os passos abaixo para gerá-los sem erro.

Para a utilização das macros de upload e download com o google driver, é necessário habilitar a api do google drive em sua conta google.

Gerar auth_code com a macro sc_api_gc_get_url

A macro sc_api_gc_get_url gera uma URL para a autenticação do usuário da conta google utilizada para configuração da API.
Ela possui dois parâmetros:
  1. app_name - Recebe o app_name, disponível na configuração da sua api. Este parâmetro aceita strings ou variável.
  2. json_oauth - Recebe o conteúdo do arquivo json, este arquivo está disponível para download nas configurações da sua api. Este parâmetro aceita strings ou variável
Siga os passos abaixo.

1. Crie uma aplicação do tipo blank em seu projeto, com o objetivo de obter o auth_code.



2. No evento onExecute, adicione o código abaixo.
Os  valores atribuídos as variáveis $app_name e $json_oauth, no exemplo abaixo, são apenas para ilustração devendo ser alterado pelos dados de sua conta.


Exemplo do código

  1. // $app_name deve receber o nome do aplicativo configurado em sua conta google
  2. $app_name  = 'scriptcase';
  3. // $json_oauth deve receber o conteúdo do arquivo json disponível para download nas configurações do seu aplicativo do google.
  4. $json_oauth  = '{"installed":{"client_id":"238650139811-eqrje3lqhj9a404iuduh9l5kvk5i13ng.apps.googleusercontent.com","project_id":"sample-294791","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x519_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"E-Z_t8PU-8u0BFwumHRorbTl","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}';

  5. // Gera o link para autenticação da conta
  6. $url = sc_api_gc_get_url($app_name, $json_oauth);
  7. // Redireciona a app para o link gerado pela macro
  8. sc_redir($url);

Autenticação do Google

3.  Em seguida, execute a aplicação.
Será solicitada a realização do login, com a conta utilizada para a configuração da API.


4. Após o login será solicitada a permissão de acesso:


4. Em seguida, o código será gerado.
Armazene o código em um arquivo txt, ele será necessário para gerarmos o token_code.


Possíveis erros

Este erro ocorre quando o valor informado no parâmetro json_oauth está errado.
Abra o arquivo json novamente, copie todo o conteúdo do arquivo, ele de ser informado por completo.



Gerar token_code com a macro sc_api_gc_get_obj

A macro sc_api_gc_get_obj gera o token_code.
Ela possui quatro parâmetros:
  1. app_name - Recebe o app_name, disponível na configuração da sua api. Este parâmetro aceita strings ou variável.
  2. json_oauth - Recebe o conteúdo do arquivo json, este arquivo está disponível para download nas configurações da sua API. Este parâmetro aceita strings ou variável
  3. auth_code - Recebe o auth_code gerado no passo anterior ou outro auth_code válido que você já tenha gerado.
Siga os passos abaixo.
Este passo a passo deve ser executado apenas para cada auth_code gerado. Caso algum problema ocorra no momento de gerar o token_code, será necessário gerar um novo auth_code.

Na mesma aplicação blank, criada para gerar o auth_code, é possível gerar também o token_code, para isso siga os passos abaixo.

5. Comente as linhas destacadas abaixo:


Exemplo do código com as linhas que devem estár comentadas.
  1. // $app_name deve receber o nome do aplicativo configurado em sua conta google
  2. $app_name  = 'scriptcase';
  3. // $json_oauth deve receber o conteúdo do arquivo json disponível para download nas configurações do seu aplicativo do google.
  4. $json_oauth  = '{"installed":{"client_id":"238650139811-eqrje3lqhj9a404iuduh9l5kvk5i13ng.apps.googleusercontent.com","project_id":"sample-294791","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x519_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"E-Z_t8PU-8u0BFwumHRorbTl","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}';

  5. // Gera o link para autenticação da conta
  6. // $url = sc_api_gc_get_url($app_name, $json_oauth);
  7. // Redireciona a app para o link gerado pela macro
  8. // sc_redir($url);

6. Após a linha do sc_redir, que deve está comentada, adicione as linhas abaixo.


Exemplo do código

  1. // Recebe auth_code gerado no passo anterior
  2. $auth_code = '4/1AY0e-g4BjstStsxAJd7A5jjlzBifl5AWSS9x04xhwp6Cyh2JON0i3r2oNd4';

  3. $auth_token = sc_api_gc_get_obj($app_name, $json_oauth, $auth_code);
  4. echo $auth_token;
Como deve está o código neste momento.



7. Em seguida, execute a aplicação. O valor do token_code deve ser exibido na tela.
Armazene o token em um arquivo .txt.

Exemplo do token_code gerado:
  1. {"access_token":"ya29.a1AfH6SMBSExys1mg0_4aaZ1H8iVNUtZ-2iid4zIjvywOpPDpL5_fhpuYu_Evgqj14Zll1mu0DKeX-UPBBbkIY33T_hIwUKNi6h5GVmE8RSt7vwj1N8rmM_ae3EjOBMDIaS_F2vkZ8ZzpnBA0V38WwYBxBNR1C","expires_in":3599,"refresh_token":"1\/\/0heh4c5k0p_OqCgYIARAAGBESNwF-L2IrTOLtSoBOr-qdK4gDtSkyXtLYh99S1DGG6Y0x6sBwNu2sVnlqEFczG7-zEIBvCd8Bb6Q","scope":"https:\/\/www.googleapis.com\/auth\/drive","token_type":"Bearer","created":1623154166}

A macro sc_api_gc_get_obj deve ser executada apenas uma vez para cada auth_code gerado.
Após obter o token_code, o parâmetro auth_token deve alterado para que um novo token_code seja obtido. Caso contrário, será exibido o erro Fatal error: Uncaught InvalidArgumentException: Invalid token format, descrito abaixo, ao executar a aplicação.

Possíveis erros ao gerar o token_code.

Fatal error: Uncaught InvalidArgumentException: Invalid token format

Este erro ocorre quando a macro sc_api_gc_get_obj é executada pela segunda vez, sem que os valores do auth_code tenha sido alterados.
Neste caso, será necessário gerar um novo auth_code, para obter um novo como visto no início do artigo. Retorne para o passo Gerar auth_code com a macro sc_api_gc_get_url



    • Related Articles

    • Como conectar com o MySQL 8.0

      O MySQL 8 utiliza uma autenticação diferente ao de seus antecessores, que até o momento não é reconhecido pelo PHP 7, o que gera o erro "The server requested authentication method unknown to the client" ao tentar conectar-se ao Scriptcase.  ...
    • Utilizando o Database Builder

      O DataBase Builder é um 'SGBD'(Sistema Gerenciador de Banco de Dados) do Scriptcase, esta ferramente permite criar tabelas, modificar a estrutura de suas tabelas, gerar diagramas ER (Entidade x Relacionamentos), realizar a exportação das ...
    • Convertendo Projetos para o Scriptcase 9

      O Scriptcase permite a portabilidade de seus projetos, de forma simples, através do conversor de Projetos. Assim, os projetos desenvolvidos em qualquer versão da ferramenta pode se beneficiar com todos os recursos novos disponibilizados na versão 9. ...
    • Como alterar dinamicamente o tema de um projeto utilizando a macro sc_set_theme

      O Scriptcase disponibiliza macros, funções criadas pelos desenvolvedores do Scriptcase, que irão auxiliar na customização das aplicações bem como simplificar a edição dos códigos nos eventos. Neste artigo, veremos como utilizar a macro sc_set_theme ...
    • Como solicitar um novo serial do Scriptcase

      Nota: Antes de realizar qualquer ação em seu Scriptcase, recomendamos a realização de um backup de seus projetos. Em alguns casos é necessário registrar o Scriptcase novamente, como em uma formatação ou mudança do servidor, por exemplo. Nestes casos, ...
    • Popular Articles

    • Adicionando novas colunas na tabela para o Calendário

      Se a sua aplicação de calendário já estiver criado, devemos adicionar os campos abaixo na tabela para que os novos recursos funcionem corretamente: category int id_api varchar(255) id_event_google varchar(255) recur_info varchar(255) event_color ...
    • Instalar o ScriptCase em um XAMPP no Windows

      XAMPP Permite que você instale facilmente o Apache em seu próprio computador, independentemente do seu sistema operacional (Linux, Windows, MAC ou Solaris).  Primeiro você tem que continuar a baixar o ...
    • Habilitando Api Google Drive no Console do Google

      Esse tutorial mostra como criar um projeto e habilitar a API do Google Drive para uma conta específica Google, e obter as credenciais de acesso. 1) Faça login com sua conta do Google na área reservada onde permite configurar APIs do Google, a partir ...
    • Como conectar com o MySQL 8.0

      O MySQL 8 utiliza uma autenticação diferente ao de seus antecessores, que até o momento não é reconhecido pelo PHP 7, o que gera o erro "The server requested authentication method unknown to the client" ao tentar conectar-se ao Scriptcase.  ...
    • Como realizar uma publicação no Scriptcase - Típica

      Este tutorial demonstra como realizar uma publicação típica no scriptcase. O scriptcase dispõe de dois modelos de publicação de aplicações: Típica e Avançada. Caso você tenha dúvidas sobre qual publicação melhor atende as suas necessidades, leia o ...