Executar exemplos de código

As APIs Explorer do Google geram dinamicamente amostras de código. Essas amostras de código foram projetadas para serem copiadas e executadas localmente. Para ver as amostras, clique em Tela cheia no painel lateral do APIs Explorer. A figura abaixo mostra o APIs Explorer de tela cheia expandido:

Painel de tela cheia do APIs Explorer para a API Google Books
Figura 2: painel em tela cheia do APIs Explorer para a API Google Books.

Por padrão, o APIs Explorer mostra como usar cURL para executar sua solicitação. Algumas APIs também podem mostrar amostras para outras linguagens, como JavaScript, Java e Python.

Executar exemplos de código localmente

As guias a seguir explicam os pré-requisitos e as etapas para executar exemplos de código. Para executar as amostras de código, é necessário gerar e usar suas próprias credenciais de autorização. Para ver uma explicação de como criar um projeto e gerar credenciais, consulte a documentação específica da API do Google.

As credenciais são uma das seguintes, dependendo do tipo de dado (público ou particular) que o método está acessando:

  • Para dados públicos, a credencial é uma chave de API.
  • Para dados particulares, a credencial é um arquivo client_secret.json que contém o ID do cliente e uma chave secreta do cliente OAuth 2.0 ou um token de acesso OAuth 2.0.

cURL

Configurar

  1. Siga as instruções na documentação da API para criar ou selecionar um projeto para seu app e ativar a API.
  2. No Console do Cloud, crie uma chave de API.
  3. No Console do Cloud, crie uma credencial de ID do cliente OAuth para um aplicativo da Web e use https://developers.google.com/oauthplayground como o URI de redirecionamento.
  4. No OAuth 2.0 Playground, clique em Configuração do OAuth 2.0 .
  5. Marque a opção Usar suas próprias credenciais.
  6. Digite o ID do cliente e a chave secreta do cliente gerados na etapa 3.
  7. No campo de escopos, digite o escopo a ser usado com o método e clique em Autorizar APIs.
  8. (Opcional) Se uma tela de login for exibida, selecione a conta que será usada.
  9. (Opcional) Se uma tela de autorização for exibida, clique em Aceitar.
  10. Clique em Trocar código de autorização dos tokens. Um token é retornado.
  11. Na amostra de código cURL, substitua [YOUR_API_KEY] pela chave de API gerada na etapa 2: 'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
  12. Na amostra de código cURL, substitua [YOUR_ACCESS_TOKEN] pelo token de acesso gerado na etapa 10: --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \

Executar amostra de código

Na linha de comando, execute o comando cURL. O comando será semelhante a este:

curl \
'https://www.googleapis.com/drive/v3/files?key=AIzaSyBiKcaoXmVApwnT24hitQG_dwjGvAj6Ddw' \
--header 'Authorization: Bearer ya29.a0ARrdaM_yQn9MWBpJgKPx880BSnRYIizRYIDz0JN9e66nSliIYpqNXmPsvv2ccfplCTG_U4b1' \
--header 'Accept: application/json' \
--compressed

JavaScript

Configurar

  1. Siga as instruções na documentação da API para criar ou selecionar um projeto para seu app e ativar a API.
  2. No Console do Cloud, crie uma chave de API.
  3. No Console do Cloud, crie uma credencial de ID do cliente OAuth para um "aplicativo da Web" e defina as origens do JavaScript autorizadas para identificar o URL a partir do qual você enviará solicitações, como http://localhost.
  4. Copie a amostra de código completa para um arquivo local acessível ao servidor da Web, como /var/www/html/example.html.
  5. Encontre a linha no exemplo de código que define a chave de API ou o ID do cliente e substitua o valor pelos valores gerados nas etapas 2 e 3:

    • Chave de API: gapi.client.setApiKey(YOUR_API_KEY);
    • ID do cliente OAuth 2.0: gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',

Executar amostra de código

  1. Abra o arquivo no navegador, como http://localhost/example.html. Recomendamos o uso de um navegador com um console de depuração, como o Google Chrome.
  2. (Opcional) Se uma tela de login for exibida, selecione a conta que será usada.
  3. (Opcional) Se uma tela de autorização for exibida, clique em Aceitar. O console de depuração exibirá a resposta do método como um objeto JSON.

Java

Pré-requisitos

  • Java 1.7 ou mais recente.
  • Gradle 7 ou mais recente.

Configurar

  1. Siga as instruções na documentação da API para criar ou selecionar um projeto para seu app e ativar a API.
  2. Dependendo do tipo de informação acessada pelo método, crie uma chave de API (dados públicos) ou um ID do cliente do OAuth 2.0 (dados particulares).
  3. Defina o tipo de aplicativo como App para computador.
  4. Se você criou um ID do cliente do OAuth 2.0, faça o download do arquivo JSON que contém as credenciais do OAuth 2.0. Esse arquivo é nomeado como client_secret_CLIENTID.json, em que CLIENTID é o ID do cliente do projeto.
  5. No diretório de trabalho, execute os seguintes comandos para criar uma nova estrutura de projeto:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  6. Se você criou um ID do cliente do OAuth 2.0 na etapa 2, renomeie o arquivo JSON que foi transferido por download para client_secret.json.

  7. Salve o arquivo renomeado no diretório src/main/resources criado na etapa 5.

  8. No diretório de trabalho, abra o arquivo build.gradle e substitua o conteúdo pelo seguinte:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        API_SPECIFIC_DEPENDENCY
    }
    
  9. No arquivo build.gradle, substitua a linha que diz API_SPECIFIC_DEPENDENCY por uma instrução para compilar o código da API que você está chamando. Veja um exemplo da API YouTube Analytics:

    compile 'com.google.apis:google-api-services-youtubeAnalytics:v2-rev16-1.23.0'
    

    A instrução segue este modelo:

    compile 'com.google.apis:google-api-services-API_NAME:API_VERSION-   revREVISION-CL_VERSION'
    

Em que:

  • API_NAME é o nome da API listado no GitHub para a API. Para encontrar o nome, clique no link de versão ao lado da API na página APIs compatíveis do Google. O link da versão navega para o GitHub. O nome da API está no meio do meio da página e é precedido por googleapis/google-apis-services-. Por exemplo, para a v3 da API Drive, o API_NAME é drive.
  • API_VERSION é a versão da API listada abaixo do nome da API na página "APIs do Google compatíveis".
  • REVISION é o número de revisão listado na referência do JavaDoc para a API. A referência JavaDoc pode ser encontrada em https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html.
  • CL_VERSION é a versão da biblioteca de cliente. Esse valor também aparece na referência JavaDoc.
  • No diretório de trabalho, copie o exemplo de código do APIs Explorer para src/main/java/ApiExample.java. Como o nome da classe em cada amostra é ApiExample, não é necessário modificar o arquivo build.gradle para executar amostras diferentes.

Executar amostra de código

Use o seguinte comando para executar o exemplo:

  gradle -q run

O exemplo precisa executar sua solicitação de API e exibir a resposta em STDOUT. Você também pode verificar o serviço que está chamando para ver os efeitos das solicitações que gravam dados.

Node.js

Pré-requisitos

  • Node.js (link em inglês)
  • A biblioteca de cliente das APIs do Google para Node.js:

    • Se você não instalou a biblioteca de cliente, execute o comando:
    npm install googleapis --save
    
    • Se você já instalou a biblioteca de cliente, recomendamos que ela seja atualizada para garantir que tenha as classes mais atualizadas da biblioteca que você está testando. Para atualizar a biblioteca de cliente, execute o comando:
    npm update googleapis --save
    

Configurar

  1. Siga as instruções na documentação da API para criar ou selecionar um projeto para seu app e ativar a API.
  2. Dependendo do tipo de informação acessada pelo método, crie uma chave de API (dados públicos) ou um ID do cliente do OAuth 2.0 (dados particulares).
  3. Defina o tipo de aplicativo como App para computador.
  4. Se você criou um ID do cliente do OAuth 2.0, faça o download do arquivo JSON que contém as credenciais do OAuth 2.0. Esse arquivo é nomeado como client_secret_CLIENTID.json, em que CLIENTID é o ID do cliente do projeto.
  5. Copie o exemplo de código em um arquivo local e modifique-o para identificar corretamente a chave de API ou o arquivo de secrets do cliente. No exemplo, o valor da chave de API é YOUR_API_KEY e o local do arquivo de chave secreta do cliente é YOUR_CLIENT_SECRET_FILE.json.

Executar amostra de código

Use o seguinte comando para executar o exemplo:

  node sample.js

A maioria dos exemplos mostra uma resposta da API (ou outra coisa) em STDOUT.

PHP

Pré-requisitos

  • PHP 5.4 ou superior com a interface de linha de comando (CLI) e a extensão JSON.
  • A ferramenta de gerenciamento de dependências do Composer (link em inglês) instalada globalmente.
  • A biblioteca de cliente das APIs do Google para PHP:

    • Se você não instalou a biblioteca de cliente, execute o comando:

      composer require google/apiclient:^2.0
      
    • Se você já instalou a biblioteca de cliente, recomendamos que ela seja atualizada para garantir que tenha as classes mais atualizadas da biblioteca que está sendo testada. Para atualizar a biblioteca de cliente, execute o comando:

      composer update google/apiclient --with-dependencies
      

Executar amostra de código

Use o seguinte comando para executar o exemplo:

  php sample.php

A maioria dos exemplos mostra uma resposta da API (ou outra coisa) em STDOUT.

Python

Pré-requisitos

  • Python 2.7 ou Python 3.5 ou mais recente
  • Ferramenta de gerenciamento de pacotes PIP
  • A biblioteca de cliente das APIs do Google para Python:

    pip install --upgrade google-api-python-client
    
  • As bibliotecas google-auth-oauthlib e google-auth-httplib2 para autorização do usuário:

    pip install --upgrade google-auth-oauthlib google-auth-httplib2
    

Configurar

  1. Siga as instruções na documentação da API para criar ou selecionar um projeto para seu app e ativar a API.
  2. Dependendo do tipo de informação acessada pelo método, crie uma chave de API (dados públicos) ou um ID do cliente do OAuth 2.0 (dados particulares).
  3. Defina o tipo de aplicativo como App para computador.
  4. Se você criou um ID do cliente do OAuth 2.0, faça o download do arquivo JSON que contém as credenciais do OAuth 2.0. Esse arquivo é nomeado como client_secret_CLIENTID.json, em que CLIENTID é o ID do cliente do projeto.
  5. Copie o exemplo de código em um arquivo local e modifique-o para identificar corretamente a chave de API ou o arquivo de secrets do cliente. No exemplo, o valor da chave de API é YOUR_API_KEY e o local do arquivo de chave secreta do cliente é YOUR_CLIENT_SECRET_FILE.json.

Executar amostra de código

Use o seguinte comando para executar o exemplo:

  python sample.py

A maioria dos exemplos mostra uma resposta da API (ou outra coisa) em STDOUT.

Ruby

Pré-requisitos

  • Ruby 2.0 ou posterior
  • A biblioteca de cliente de APIs do Google para Ruby:

    gem install google-api-client`
    

Configurar

  1. Siga as instruções na documentação da API para criar ou selecionar um projeto para seu app e ativar a API.
  2. Dependendo do tipo de informação acessada pelo método, crie uma chave de API (dados públicos) ou um ID do cliente do OAuth 2.0 (dados particulares).
  3. Defina o tipo de aplicativo como App para computador.
  4. Se você criou um ID do cliente do OAuth 2.0, faça o download do arquivo JSON que contém as credenciais do OAuth 2.0. Esse arquivo é nomeado como client_secret_CLIENTID.json, em que CLIENTID é o ID do cliente do projeto.
  5. Copie o exemplo de código em um arquivo local e modifique-o para identificar corretamente a chave de API ou o arquivo de secrets do cliente. No exemplo, o valor da chave de API é YOUR_API_KEY e o local do arquivo de chave secreta do cliente é YOUR_CLIENT_SECRET_FILE.json.

Executar amostra de código

Use o seguinte comando para executar o exemplo:

  ruby sample.rb

A maioria dos exemplos mostra uma resposta da API (ou outra coisa) em STDOUT.

Resolver problemas de amostra

A caixa de diálogo de autorização não é exibida

O APIs Explorer usa um pop-up para conceder acesso aos seus dados particulares. Se o navegador bloqueia pop-ups, ele não aparece e você não consegue conceder acesso.

Se você clicar em "quot;Permitir" na tela de autorização e nada acontecer, tente mudar as configurações de pop-up do seu navegador para ativar pop-ups.

Recebeu um erro 401 ou 403

Se você receber um erro 401 ou 403 ao testar uma amostra, é provável que haja um problema com um dos itens a seguir:

  • A API não está ativada para seu projeto. Revise as instruções da API sobre como criar um projeto e ativar uma API.
  • Você está usando o tipo errado de autorização (chave de API em vez de OAuth 2.0).
  • Você está usando o OAuth 2.0, mas com um escopo muito restrito.
  • Ao configurar a chave de API, você configura restrições para impedir o uso não autorizado das suas credenciais. No entanto, a solicitação não atende a essas restrições. Para mais informações, consulte Como usar restrições de chave de API.

Recebi um aviso sobre conteúdo misto

Se você usa o Google Cloud Endpoints e executa seu endpoint em um servidor develoment, seu navegador pode exibir um aviso sobre conteúdo misto. Esse aviso ocorre porque o APIs Explorer é carregado por HTTPS, mas quando a API é executada localmente, ela é hospedada em HTTP.

Para ocultar esse aviso usando o Chrome, inicie uma sessão do Chrome com sinalizações especiais, da seguinte maneira:

path/to/chrome --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:port

Exemplo:

/usr/bin/google-chrome-stable --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:8080

Esse aviso precisa ser oculto apenas para testes locais.

Somente JavaScript: o gapi não está definido

Um erro "quot;gapi não está definido" ocorre quando o código JavaScript tenta chamar a biblioteca de cliente da API do Google para JavaScript antes do carregamento da biblioteca. Verifique se o código que faz referência à variável gapi não é chamado até que a biblioteca de cliente seja carregada.