O acesso à API Google Health é fornecido pelo Google Cloud. Para ativar a API e autorizar uma Conta do Google, você precisa de um projeto do Google Cloud.
Seja você um desenvolvedor da API Fitbit ou um novo usuário da API Google Health, é necessário concluir esta etapa para fazer chamadas à API.
Criar um projeto e um cliente OAuth
Use o botão Ativar a API e receber um ID do cliente OAuth 2.0 para ativar a API Google Health e receber um ID do cliente OAuth 2.0:
- Se você já tiver um projeto do Google Cloud que quer usar com a API Google Health, faça login na conta de administrador desse projeto primeiro. Em seguida, selecione o projeto na lista de projetos disponíveis depois de clicar no botão. Caso contrário, crie um novo projeto.
- Selecione Servidor da Web quando perguntarem "De onde você está ligando?".
- Insira https://www.google.com como o valor de URIs de redirecionamento autorizados. Um URI de redirecionamento é necessário para receber um código de autorização usando o OAuth 2.0.
- Quando a configuração for concluída, copie os valores de ID do cliente e chave secreta do cliente OAuth 2.0 e faça o download do JSON de credenciais na sua máquina local.
Se você quiser configurar manualmente seu projeto do Google Cloud ou verificar a configuração e recuperar suas credenciais novamente:
- Ative a API Google Health na página Ativação de API.
- Receba um ID do cliente OAuth 2.0 na página Credenciais.
Para mais informações sobre como configurar o OAuth 2.0 usando o console do Google, consulte Como usar o OAuth 2.0 para acessar as APIs do Google.
Adicionar usuários de teste
Por padrão, os clientes OAuth recém-criados estão em um estado não verificado com um limite de 100 usuários para fins de teste e produção. Para ativar a autorização durante esse período, adicione manualmente o endereço de e-mail de cada usuário à lista de usuários de teste na configuração do projeto.
Atualize a lista de usuários de teste na página Público-alvo:
- Nessa página, o "Status de publicação" precisa estar definido como Teste e o "Tipo de usuário" como Externo.
- Na seção "Usuários de teste", clique em + Adicionar usuários. Insira o endereço de e-mail de todos os usuários de teste que podem conceder ao app permissão para acessar os dados de saúde.
- Clique em Salvar.
Para oferecer suporte a mais de 100 usuários com a API Google Health, é necessário concluir uma análise de segurança de terceiros. Confira mais informações na Central de Ajuda de verificação de apps OAuth.
Adicionar escopos
Você precisa especificar os escopos que seu cliente pode chamar na página Acesso a dados:
- Nessa página, clique em Adicionar ou remover escopos.
- Na coluna "API", pesquise "API Google Health". Selecione os escopos necessários para seu aplicativo.
- Depois de selecionar todos os escopos necessários, clique em Atualizar para voltar à página "Acesso a dados".
- Clique em Salvar.
Você terminou de configurar o ID do cliente e agora pode fazer chamadas para a API Google Health.
Atualizar escopos
É possível pedir que o usuário autorize novamente seu app definindo o parâmetro "prompt"
como "consent" na solicitação de autenticação. Quando prompt=consent é incluído,
a tela de consentimento é exibida sempre que o app solicita autorização de
escopos de acesso, mesmo que todos os escopos tenham sido concedidos anteriormente ao projeto
das APIs do Google.
Para adicionar ou mudar escopos usando o parâmetro prompt=consent, siga estas etapas:
Identifique a lista completa de escopos que seu aplicativo precisa. Isso inclui os escopos atuais e os novos que você precisa adicionar.
Modifique o parâmetro de escopo no URL de autorização para incluir a lista atualizada de valores de escopo separados por espaços.
Adicione
prompt=consentaos parâmetros de URI de autenticação. Isso força o servidor de autorização a pedir o consentimento do usuário antes de retornar informações ao cliente.O exemplo a seguir mostra uma solicitação GET HTTPS para o endpoint de autorização do OAuth 2.0 do Google solicitando vários escopos com
prompt=consentanexado:https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
Quando o usuário seguir o link atualizado, uma página de consentimento vai aparecer com todos os escopos solicitados. Depois que o usuário clicar em "Continuar" ou "Permitir", você vai receber um novo código de autorização que pode ser trocado por tokens que abrangem o conjunto completo de escopos.
Inclua
prompt=consentsomente quando necessário, por exemplo, quando você precisar receber um novo token de atualização ou quando os escopos solicitados mudarem.
Bibliotecas de cliente OAuth2
A lista de bibliotecas de cliente OAuth2 disponíveis usadas para integração com frameworks populares pode ser encontrada em Usar o OAuth 2.0 para acessar as APIs do Google.
Tokens de atualização
Para manter o acesso de longo prazo às APIs do Google sem exigir a reautenticação constante do usuário, seu aplicativo precisa usar um token de atualização. Para detalhes abrangentes da implementação, incluindo as solicitações e os parâmetros HTTP específicos necessários, consulte a documentação da plataforma de identidade do Google.
Para trocar um token de atualização por um token de acesso, faça uma chamada HTTPS POST para o endpoint de token do OAuth 2.0 do Google. O snippet a seguir mostra um exemplo de solicitação e resposta:
Solicitação
curl -L -X POST 'https://oauth2.googleapis.com/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'
Resposta
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}Comportamento do token durante o teste
Saiba como os tokens de atualização se comportam dependendo do status de publicação do seu projeto do Google Cloud:
- Modo de teste:se a tela de permissão OAuth estiver configurada com um status de publicação "Teste", os tokens de atualização emitidos serão baseados em tempo e vão expirar após sete dias. Durante esse período, você vai receber um único token de atualização que permanece válido e pode ser usado para obter novos tokens de acesso até a data de validade.
- Modo publicado:depois que o app é movido para o status "Em produção", os tokens de atualização geralmente não expiram, a menos que sejam revogados ou permaneçam sem uso por um período prolongado (normalmente seis meses).
Para uma experiência do usuário perfeita, publique o aplicativo antes que ele seja movido para um ambiente de produção para evitar expirações de token de sete dias.