Users.dataSources

센서 데이터의 고유한 소스 정의입니다. 데이터 소스는 로컬 또는 호환 기기의 하드웨어 센서에서 비롯된 원시 데이터를 노출할 수 있습니다. 또한 다른 데이터 소스를 변환하거나 병합하여 생성된 파생 데이터를 노출할 수 있습니다. 동일한 데이터 유형에 대해 여러 데이터 소스가 존재할 수 있습니다. 이 서비스에 삽입되거나 이 서비스에서 읽은 모든 데이터 포인트에는 연결된 데이터 소스가 있습니다.

데이터 소스에는 데이터를 수집하거나 변환한 하드웨어 기기 및 하드웨어 기기 등 데이터를 고유하게 식별하기에 충분한 정보가 포함되어 있습니다. 또한 하드웨어, 애플리케이션 버전, 기기 유형과 같은 유용한 메타데이터를 보관합니다.

각 데이터 소스는 고유 식별자를 사용해 고유한 데이터 스트림을 생성합니다. 데이터 소스의 모든 변경사항이 스트림 식별자에 영향을 미치는 것은 아니므로, 동일한 애플리케이션/기기의 업데이트된 버전에서 수집한 데이터는 여전히 동일한 데이터 스트림에 속한 것으로 간주될 수 있습니다.

이 리소스에 대한 메소드 목록은 이 페이지의 하단에 나와 있습니다.

리소스 표현

{
  "dataStreamId": string,
  "name": string,
  "dataStreamName": string,
  "type": string,
  "dataType": {
    "name": string,
    "field": [
      {
        "name": string,
        "format": string,
        "optional": boolean
      }
    ]
  },
  "device": {
    "uid": string,
    "type": string,
    "version": string,
    "model": string,
    "manufacturer": string
  },
  "application": {
    "packageName": string,
    "version": string,
    "detailsUrl": string,
    "name": string
  },
  "dataQualityStandard": [
    string
  ]
}
속성 이름 설명 참고
application nested object 센서 데이터를 플랫폼에 제공하는 애플리케이션에 대한 정보입니다.
application.detailsUrl string 애플리케이션에 다시 연결하는 데 사용할 수 있는 URI(선택사항)입니다.
application.name string 이 애플리케이션의 이름입니다. REST 클라이언트의 경우 필수 항목이지만 이 이름에는 고유성이 없습니다. 이 ID는 어떤 REST가 애플리케이션이나 데이터 소스를 생성했는지 식별하려는 다른 개발자에게 편의를 위한 목적으로 제공됩니다.
application.packageName string 이 애플리케이션의 패키지 이름입니다. Android 애플리케이션에서 만들 때 고유 식별자로 사용되지만 REST 클라이언트에서는 지정할 수 없습니다. REST 클라이언트의 개발자 프로젝트 번호는 packageName 대신 데이터 소스 데이터 스트림 ID에 반영됩니다.
application.version string 애플리케이션의 버전입니다. 애플리케이션이 데이터 계산에 영향을 미치는 방식으로 변경될 때마다 이 필드를 업데이트해야 합니다.
dataQualityStandard[] list 이 입력란에 값을 입력하지 마세요. 플랫폼의 응답에 채워지지 않으며 쿼리에서 무시됩니다. 향후 버전에서 완전히 삭제됩니다.
dataStreamId string 이 데이터 소스에서 생성된 데이터 스트림의 고유 식별자입니다. 식별자에는 다음이 포함됩니다.

  • 실제 기기의 제조업체, 모델 및 일련번호 (UID)
  • 애플리케이션의 패키지 이름 또는 이름입니다. 패키지 이름은 Android 애플리케이션에서 데이터 소스를 만들 때 사용됩니다. 개발자 프로젝트 번호는 REST 클라이언트에서 데이터 소스를 만들 때 사용됩니다.
  • 데이터 소스의 유형입니다.
  • 데이터 소스의 스트림 이름입니다.
데이터 소스의 모든 속성이 스트림 식별자의 일부로 사용되는 것은 아닙니다. 특히 하드웨어/애플리케이션 버전은 사용되지 않습니다. 이렇게 하면 버전 업데이트를 통해 동일한 스트림을 유지할 수 있습니다. 즉, 2개의 DataSource 객체가 같지 않더라도 동일한 데이터 스트림을 나타낼 수 있습니다.

Android 애플리케이션에서 만든 데이터 스트림 ID의 정확한 형식은 다음과 같습니다. type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

REST 클라이언트에서 만드는 데이터 스트림 ID의 정확한 형식은 다음과 같습니다. type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

데이터 스트림 ID를 구성하는 선택 필드가 있으면 데이터 스트림 ID에서 생략됩니다. 사용 가능한 최소 데이터 스트림 ID는 다음과 같습니다. type:dataType.name:developer 프로젝트 번호

마지막으로 데이터 소스를 만들지 않은 REST 또는 Android 클라이언트에서 읽을 때 개발자 프로젝트 번호 및 기기 UID는 난독화됩니다. 데이터 소스 생성자만 명확하고 일반적인 형식의 개발자 프로젝트 번호를 볼 수 있습니다. 즉, 클라이언트에는 사용자 인증 정보가 다른 다른 클라이언트와 다른 data_stream_ids 세트가 표시됩니다.

dataStreamName string 스트림 이름은 같은 기본 제작자의 같은 유형의 다른 데이터 소스 중에서 이 특정 데이터 소스를 고유하게 식별합니다. 스트림 이름 설정은 선택사항이지만, 애플리케이션이 같은 데이터 유형에 대해 스트림 2개를 노출할 때마다 또는 기기에 동등한 센서 두 개가 있을 때 실행해야 합니다.
dataType nested object 데이터 유형은 피트니스 API에서 수집하거나 삽입하거나 쿼리하는 데이터 스트림의 스키마를 정의합니다.
dataType.field[] list 필드는 데이터 유형의 측정기준을 나타냅니다.
dataType.field[].format string 데이터 유형의 각 필드에 지원되는 다양한 형식

허용되는 값은 다음과 같습니다.
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string 데이터의 이름과 형식을 정의합니다. 데이터 유형 이름과 달리 필드 이름은 네임스페이스가 아니며 데이터 유형 내에서 고유해야 합니다.
dataType.field[].optional boolean
dataType.name string 각 데이터 유형에는 고유한 네임스페이스화된 이름이 있습니다. com.google 네임스페이스의 모든 데이터 유형은 플랫폼의 일부로 공유됩니다.
device nested object 센서를 보유할 수 있는 통합 기기 (예: 스마트폰 또는 웨어러블 기기)의 표현
device.manufacturer string 제품/하드웨어 제조업체입니다.
device.model string 기기의 최종 사용자에게 표시되는 모델 이름입니다.
device.type string 기기 유형을 나타내는 상수입니다.

허용되는 값은 다음과 같습니다.
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string 하드웨어의 일련번호 또는 기타 고유 ID입니다. 데이터 소스를 만들지 않은 REST 또는 Android 클라이언트에서 읽을 때 이 필드는 난독화됩니다. 데이터 소스 작성자만 UID 필드가 명확하고 일반적인 형태로 표시됩니다.

난독화는 동등성을 유지합니다. 즉, 두 개의 ID가 주어지면 id1 == id2, italicd(id1) == boldd(id2)입니다.

device.version string 기기 하드웨어/소프트웨어의 버전 문자열입니다.
name string 이 데이터 소스의 최종 사용자에게 표시되는 이름입니다.
type string 이 데이터 소스의 유형을 설명하는 상수입니다. 이 데이터 소스가 원시 데이터 또는 파생된 데이터를 생성하는지 여부를 나타냅니다.

허용되는 값은 다음과 같습니다.
  • "derived"
  • "raw"

메소드

만들기
이 사용자에게 속한 모든 데이터 소스에서 고유한 새 데이터 소스를 만듭니다.

데이터 소스는 센서 데이터의 고유한 소스입니다. 데이터 소스는 로컬 또는 호환 기기의 하드웨어 센서에서 발생하는 원시 데이터를 노출할 수 있습니다. 또한 다른 데이터 소스를 변환하거나 병합하여 생성된 파생 데이터를 노출할 수도 있습니다. 동일한 데이터 유형에 대해 여러 데이터 소스가 존재할 수 있습니다. 피트니스 API에 삽입되거나 피트니스 API에서 읽은 모든 데이터 세트의 모든 데이터 포인트에는 관련 데이터 소스가 있습니다.

각 데이터 소스는 고유한 데이터 소스 식별자를 사용하여 고유한 데이터 세트 업데이트 스트림을 생성합니다. 데이터 소스의 모든 변경사항이 데이터 스트림 ID에 영향을 미치는 것은 아니므로, 동일한 애플리케이션/기기의 업데이트된 버전에서 수집한 데이터는 여전히 동일한 데이터 소스에 속하는 것으로 간주될 수 있습니다.

데이터 소스는 생성되는 소스의 콘텐츠를 기반으로 서버에서 생성된 문자열을 사용하여 식별됩니다. 이 메서드를 호출할 때 dataStreamId 필드를 설정하면 안 됩니다. 서버에서 올바른 형식으로 자동 생성됩니다. dataStreamId가 설정된 경우 서버가 생성할 형식과 일치해야 합니다. 이 형식은 데이터 소스의 일부 필드 조합이며 특정 순서가 있습니다. 일치하지 않으면 요청이 실패하고 오류가 발생합니다.

알려진 유형이 아닌 DataType("com.google."으로 시작)을 지정하면 커스텀 데이터 유형으로 DataSource가 생성됩니다. 커스텀 데이터 유형은 데이터 세트를 만든 애플리케이션만 읽을 수 있습니다. 맞춤 데이터 유형은 지원 중단되었습니다. 대신 표준 데이터 유형을 사용하세요.

데이터 소스 ID에 포함된 데이터 소스 필드 외에도 데이터 소스를 만들 때 인증된 개발자 프로젝트 번호도 포함됩니다. 공개 데이터 유형을 읽는 다른 개발자가 이 개발자 프로젝트 번호를 읽을 때 난독화됩니다.
delete
지정된 데이터 소스를 삭제합니다. 데이터 소스에 데이터 포인트가 포함되어 있으면 요청이 실패합니다.
get
지정된 데이터 소스를 반환합니다.
list
제공된 OAuth 범위를 사용하여 개발자에게 표시되는 모든 데이터 소스를 나열합니다. 이 목록은 완전한 목록이 아닙니다. 사용자는 다른 개발자에게만 표시되는 비공개 데이터 소스나 다른 범위를 사용하는 호출을 가지고 있을 수 있습니다.
업데이트
지정된 데이터 소스를 업데이트합니다. version를 제외한 dataStreamId, dataType, type, dataStreamName, device 속성은 수정할 수 없습니다.

데이터 소스는 dataStreamId로 식별됩니다.