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
  ]
}
속성 이름 설명 Notes
application nested object 센서 데이터를 플랫폼에 제공하는 애플리케이션에 관한 정보입니다.
application.detailsUrl string 애플리케이션에 다시 연결하는 데 사용할 수 있는 선택적 URI입니다.
application.name string 이 애플리케이션의 이름입니다. REST 클라이언트의 경우 필수이지만 이 이름의 고유성은 적용되지 않습니다. 이 정보는 애플리케이션 또는 데이터 소스를 만든 REST를 확인하려는 다른 개발자를 위해 편의를 위해 제공됩니다.
application.packageName string 이 애플리케이션의 패키지 이름입니다. Android 애플리케이션에서 만들 때 고유 식별자로 사용되지만 REST 클라이언트에서 지정할 수 없습니다. REST 클라이언트는 packageName 대신 개발자 프로젝트 번호를 데이터 소스 데이터 스트림 ID에 반영합니다.
application.version string 애플리케이션의 버전입니다. 데이터 계산에 영향을 주는 방식으로 애플리케이션이 변경될 때마다 이 필드를 업데이트해야 합니다.
dataQualityStandard[] list 이 입력란은 비워두지 마세요. 플랫폼의 응답에 채워지지 않으며 쿼리에서 무시됩니다. 향후 버전에서 완전히 삭제될 예정입니다.
dataStreamId string 이 데이터 소스에서 생성된 데이터 스트림의 고유 식별자입니다. 식별자에는 다음이 포함됩니다.

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

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

dataStreamName string 스트림 이름은 동일한 기본 제작자의 동일한 유형의 다른 데이터 소스 중에서 이 특정 데이터 소스를 고유하게 식별합니다. 스트림 이름 설정은 선택사항이지만 애플리케이션이 동일한 데이터 유형에 대해 두 개의 스트림을 노출하거나 기기에 두 개의 동등한 센서가 있는 경우 항상 실행해야 합니다.
dataType nested object 데이터 유형은 Fitness 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 필드를 볼 수 있습니다.

난독화는 동등성을 유지합니다. 즉, id1 == id2, obfuscated(id1) == obfuscated(id2) ID가 2개 있습니다.

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

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

방법

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

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

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

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

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

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

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