Java Booking API 클라이언트

다음 링크를 통해 구현을 시작하는 데 도움이 되는 Java 실시간 업데이트 API 클라이언트 실시간 업데이트를 예로 들 수 있습니다

선행 조건:

서비스 계정을 만든 후 비공개 키를 다운로드합니다.

시작하기:

  1. 지금 바로 Java 클라이언트 라이브러리에서 파일의 압축을 풀어 'mapsbooking' 패키지에서 찾을 수 있습니다.
  2. IDE에서 Java 프로젝트를 만들고 샘플 코드 다운로드 InventoryUpdate.javaBookingNotification.java를 가져옵니다.

    git clone https://maps-booking.googlesource.com/java-maps-booking-api-example
    

    src 디렉터리에 있는 Java 프로젝트로 가져옵니다.

  3. 비공개 키 (JSON 파일)의 사본을 src 디렉터리에 만듭니다.
  4. 프로젝트의 종속 항목에 Java 클라이언트 라이브러리 추가 (mapsbooking 및 libs-sources 디렉터리에 jar 파일 포함)
  5. 두 Java 파일에서 TODO에 따라 구현을 완료합니다.

REST API에 대한 자세한 내용은 여기에서 확인하세요.

문제 해결:

  1. 기존 sellersId로 새 판매자/서비스를 만들려고 하거나 serviceId가 없으면 다음과 같은 오류 메시지가 표시됩니다.

    409 Conflict
    {
      code : 409,
      errors :
        [{
            domain : global,
            message : Requested entity already exists,
            reason : alreadyExists,
            debugInfo : detail: "[ORIGINAL ERROR] generic::already_exists: ...”\n"
        }],
      message : Requested entity already exists,
      status : ALREADY_EXISTS
    }
    
  2. 잘못된 sellersId를 사용하여 재고 교체 호출을 하는 경우 serviceId가 포함된 경우 호출로 인해 오류 메시지가 발생하지 않습니다. 이는 RTU를 통한 이용 가능 시간대 변경은 비순차적 실행을 지원하고 따라서 판매자 ID 또는 서비스 ID와 연결되지 않습니다. 하지만 요청에 포함된 URL은 유효하지 않은 URL로 인해 프로덕션에서 sellersId 또는 serviceId가 포함됩니다. 슬롯을 게재할 수 있도록 설정하려면 판매자나 서비스가 누락되는 경우가 있습니다
  3. 모든 업데이트 함수에서 'updateMask' 매개변수는 FieldMask 형식을 사용하여 업데이트할 필드를 지정합니다. API는 마스크에 지정된 대로 필드 값만 변경하면 됩니다. 나머지 부분은 그대로 둡니다 잘못된 updateMask 문자열을 전달하면 업데이트가 적용되지 않습니다. 업데이트에 필드 마스크가 없으면 모든 필드의 필드 마스크에 지정된 경우). 따라서 모든 필드를 업데이트하려면 updateMask가 비어 있습니다.
  4. 0 값이 있는 필드는 응답에 표시되지 않습니다.