Users.dataSources: create

Cria uma nova fonte de dados exclusiva em todas as fontes pertencentes ao usuário.

Uma fonte de dados é uma fonte única de dados do sensor. As fontes de dados podem expor dados brutos provenientes de sensores de hardware em dispositivos locais ou complementares. Elas também podem expor dados derivados, criados ao transformar ou mesclar outras fontes de dados. Várias fontes podem existir para o mesmo tipo de dados. Cada ponto de dados em cada conjunto de dados inserido ou lido na API Fitness tem uma fonte de dados associada.

Cada fonte de dados produz um fluxo exclusivo de atualizações de conjuntos de dados, com um identificador de fonte exclusivo. Nem todas as alterações na fonte de dados afetam o ID do fluxo de dados. Assim, os dados coletados pelas versões atualizadas do mesmo aplicativo/dispositivo ainda podem ser considerados pertencentes à mesma fonte de dados.

As fontes de dados são identificadas por uma string gerada pelo servidor com base no conteúdo da origem que está sendo criada. O campo dataStreamId não pode ser definido ao invocar esse método. Ele será gerado automaticamente pelo servidor com o formato correto. Se um dataStreamId for definido, ele precisará corresponder ao formato que o servidor geraria. Esse formato é uma combinação de alguns campos da fonte de dados e tem uma ordem específica. Se não for o caso, a solicitação falhará com um erro.

A especificação de um DataType que não é de um tipo conhecido (começando com "com.google.") cria um DataSource com um tipo de dados personalizado. Os tipos de dados personalizados só podem ser lidos pelo aplicativo que os criou. Os tipos de dados personalizados estão descontinuados. Use os tipos de dados padrão.

Além dos campos incluídos no ID da fonte, é incluído o número do projeto do desenvolvedor autenticado ao criar a fonte. Esse número é ofuscado quando lido por qualquer outro desenvolvedor que leia tipos de dados públicos. Teste agora mesmo.

Solicitação

Solicitação HTTP

POST https://www.googleapis.com/fitness/v1/users/userId/dataSources

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de caminho
userId string Crie a fonte de dados para a pessoa identificada. Use me para indicar o usuário autenticado. No momento, há suporte apenas para me.

Autorização

Esta solicitação requer autorização com pelo menos um dos seguintes escopos:

Escopo
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.reproductive_health.write

Para mais informações, consulte a página de autenticação e autorização.

Corpo da solicitação

No corpo da solicitação, forneça um recurso Users.dataSources com as seguintes propriedades:

Nome da propriedade Valor Descrição Observações
Propriedades obrigatórias
application nested object Informações sobre um aplicativo que alimenta a plataforma com dados do sensor.
application.name string O nome deste aplicativo. Isso é necessário para clientes REST, mas não aplicamos exclusividade desse nome. Ele é fornecido como uma questão de conveniência para outros desenvolvedores que gostariam de identificar qual REST criou um aplicativo ou uma fonte de dados.
dataType nested object O tipo de dados define o esquema de um fluxo de dados que estão sendo coletados, inseridos ou consultados com a API Fitness.
dataType.field[] list Um campo representa uma dimensão de um tipo de dados.
dataType.field[].format string Os diferentes formatos compatíveis com cada campo em um tipo de dados.

Os valores aceitáveis são:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string Define o nome e o formato dos dados. Ao contrário dos nomes de tipos de dados, os nomes dos campos não têm namespace e só precisam ser exclusivos dentro do tipo de dados.
dataType.name string Cada tipo de dado tem um nome exclusivo e com namespace. Todos os tipos de dados no namespace com.google são compartilhados como parte da plataforma.
device nested object Representação de um dispositivo integrado (como um smartphone ou um wearable) que pode conter sensores.
device.manufacturer string Fabricante do produto/hardware
device.model string Nome do modelo visível para o usuário final do dispositivo.
device.type string Uma constante que representa o tipo do dispositivo.

Os valores aceitáveis são:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string O número de série ou outro ID exclusivo do hardware. Esse campo é ofuscado quando lido por qualquer cliente REST ou Android que não tenha criado a fonte de dados. Somente o criador da fonte de dados verá o campo UID em formato claro e normal.

A ofuscação preserva a igualdade, ou seja, considerando dois IDs, se id1 == id2, ofuscad(id1) == Avalied(id2).

device.version string String da versão do hardware/software do dispositivo.
type string Uma constante que descreve o tipo da fonte de dados. Indica se esta fonte de dados produz dados brutos ou derivados.

Os valores aceitáveis são:
  • "derived"
  • "raw"

Resposta

Se for bem-sucedido, esse método retornará um recurso Users.dataSources no corpo da resposta.

Confira!

Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.