문제 해결

이 가이드에서는 Google Health API를 사용할 때 발생하는 일반적인 문제를 해결하는 방법을 설명합니다.

4xx 클라이언트 오류

클라이언트 앱 코드에 문제가 있으면 4xx 상태 코드가 반환됩니다. 문제에 관한 자세한 내용은 응답 본문 요소를 살펴보세요.

400 잘못된 요청

메시지 설명 권장사항
요청에 잘못된 인수가 포함되어 있습니다. {value} 데이터 유형 ID는 지원되지 않습니다. 참조되는 데이터 유형이 엔드포인트에서 지원되는지 확인합니다.
잘못된 JSON 페이로드가 수신되었습니다. 8진수/16진수는 유효한 JSON 값이 아닙니다. dailyRollUp 엔드포인트는 각각 MM 또는 DD로 표시되는 월 및 일 값을 지원하지 않습니다. 한 자리 숫자는 앞에 0을 붙이면 안 됩니다.
리소스 이름의 프로젝트 번호가 잘못되었습니다. 프로젝트 번호 대신 요청 URL에서 Google Cloud 프로젝트 ID를 사용하여 구독자를 삭제하거나 업데이트할 때. 이는 projects.subscribers 엔드포인트를 사용하는 웹훅 구독에 적용됩니다. 프로젝트 ID가 아닌 요청 URL에서 Google Cloud 프로젝트 번호를 사용합니다.

401 승인되지 않음

메시지 설명 권장사항
요청에 잘못된 사용자 인증 정보가 있습니다. OAuth 2 액세스 토큰, 로그인 쿠키 또는 기타 유효한 사용자 인증 정보가 있어야 합니다. INVALID_AUTHENTICATOR: 토큰이 만료되었습니다. 액세스 토큰이 만료되었습니다. 갱신 토큰을 사용하여 새 액세스 토큰 및 갱신 토큰을 가져오거나 사용자가 애플리케이션에 다시 동의해야 합니다.

403 금지됨

메시지 설명 권장사항
호출자에게 권한이 없습니다 프로젝트 번호 대신 요청 URL에서 Google Cloud 프로젝트 ID를 사용하여 구독자를 만들거나 나열할 때. 이는 projects.subscribers 엔드포인트를 사용하는 웹훅 구독에 적용됩니다. 프로젝트 ID가 아닌 요청 URL에서 Google Cloud 프로젝트 번호를 사용합니다.
호출자에게 권한이 없습니다. GaiaMint에서 UberMint를 생성할 수 없습니다.

사용자가 승인 흐름을 완료할 수 있었지만 엔드포인트 호출이 실패했습니다. 이는 Google 계정 대신 기존 Fitbit 계정이 앱에 동의할 때 발생할 수 있습니다. 이 오류를 해결하려면 다음 단계를 따르세요.

  1. Fitbit 설정을 통해 Fitbit 모바일 앱에서 로그아웃합니다.
  2. 'Google 계정으로 계속' 또는 'Google 계정으로 로그인' 버튼을 눌러 Fitbit 모바일 앱에 로그인합니다. '이 Google 계정으로 Fitbit을 사용할 수 없습니다'라는 메시지가 표시되면 이메일 주소가 기존 Fitbit 계정으로 계속 등록되어 있는 것입니다. 이 도움말의 단계에 따라 계정을 이전하세요.

404 Not Found

메시지 설명 권장사항
요청된 URL /v4/users/me/dataTypes/{dataType}/dataPoints가 이 서버에 없습니다. 가능한 원인:
  • 올바른 동사가 사용되고 있는지 확인합니다.
  • 엔드포인트 구문에 오타가 있는지 확인합니다.

Fitbit 사용자 ID 가져오기

사용자 문제를 해결하려면 Fitbit 모바일 앱에 로그인한 사용자의 Google 계정을 확인해야 할 수 있습니다.

Fitbit 사용자 ID를 찾는 방법은 다음과 같습니다.

  1. Fitbit 모바일 앱을 엽니다.
  2. 오른쪽 하단에 있는 아이콘을 누릅니다.
  3. 사용자 이름과 가입 날짜가 포함된 상단 타일에 있는 프로필 수정 링크를 누릅니다.
  4. 페이지 하단으로 이동합니다. 내 계정 섹션에서 ID에 할당된 값 이 Fitbit 사용자 ID입니다. (예: CV5TKH)

사용자가 앱에 대한 OAuth2 연결 문제를 해결하도록 지원할 때 사용자가 앱에서 계정을 연결 해제한 후 승인 흐름을 다시 완료해야 할 수 있습니다.

앱에서 Google 계정을 연결 해제하는 방법은 다음과 같습니다.

  1. Fitbit 모바일 앱을 엽니다.
  2. 오른쪽 상단에 있는 Fitbit 사용자 프로필 아이콘을 누릅니다.
  3. Google 계정 관리 를 누릅니다.
  4. 데이터 및 개인 정보 보호 타일을 선택합니다.
  5. **사용하는 앱 및 서비스의 데이터** 섹션으로 이동합니다. 앱 및 서비스에서 서드 파티 앱 및 서비스를 선택합니다.
  6. 연결된 앱 목록에서 앱 이름을 찾아 사용자가 선택하도록 합니다.
  7. <앱 이름>과 연결된 모든 연결 삭제 를 누릅니다.
  8. 사용자가 확인을 눌러 앱에 대한 동의를 취소하도록 합니다.

취소 프로세스가 완료되면 사용자는 서드 파티 앱 및 서비스 페이지 목록으로 돌아갑니다. 사용자가 목록에서 앱 이름이 삭제된 것을 보려면 페이지를 새로고침해야 할 수 있습니다.

기기 동기화 지연 문제 해결

사용자 데이터 누락 또는 지연과 관련된 문제를 디버깅할 때는 사용자의 페어링된 기기 모델과 마지막 동기화 날짜를 확인하는 것이 좋습니다.

모델 정보 (예: Fitbit 트래커 또는 스마트워치 모델)와 마지막 동기화 날짜는 동기화 지연 후 문제를 해결하고 이전 데이터를 가져오는 데 유용합니다.

예를 들어 데이터 전송에 예기치 않은 간격 또는 지연이 발생하는 경우 다음 단계를 따르세요.

  1. 쿼리하는 사용자 ID가 모바일 앱에 로그인한 Fitbit 계정의 사용자 ID와 일치하는지 확인합니다. 모바일 앱에서 사용자 ID를 가져오려면 Fitbit 사용자 ID 가져오기를 참고하세요. 액세스 토큰에서 사용자 ID를 가져오려면 getIdentity 엔드포인트를 호출합니다.
  2. 마지막 동기화 시간을 확인하여 사용자의 기기가 Google Health 모바일 앱과 마지막으로 동기화된 시점을 확인합니다.
  3. 기기가 최근에 동기화되지 않은 경우 API 문제가 아니라 기기가 오프라인 상태이거나 모바일 애플리케이션과 동기화되지 않아 지연이 발생했을 가능성이 큽니다.
  4. 사용자가 모바일 애플리케이션을 열고 기기를 동기화하면 마지막 동기화 시간 이후의 이전 데이터를 가져올 수 있습니다.

사용자의 페어링된 기기 정보를 가져오려면 users.pairedDevices.list 엔드포인트를 호출합니다. 그러면 다음이 포함된 기기 목록이 반환됩니다.

  • deviceVersion: 기기의 제품 이름 또는 모델 (예: 'Charge 6').
  • lastSyncTime: 마지막으로 동기화가 성공한 타임스탬프.