Java Booking API 클라이언트

Java 실시간 업데이트 API 클라이언트를 다운로드하면 실시간 업데이트 구현을 시작하는 데 도움이 됩니다.

선행 조건:

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

시작하기:

  1. 자바 클라이언트 라이브러리를 다운로드하고 파일의 압축을 풀어 ‘mapsbooking’ 패키지를 가져옵니다.
  2. IDE에서 자바 프로젝트를 만들고 이 저장소에서 샘플 코드 InventoryUpdate.javaBookingNotification.java를 다운로드합니다.

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

    src 디렉터리 아래의 자바 프로젝트로 가져옵니다.

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

REST API에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

문제 해결:

  1. 기존 merchantId 또는 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. 잘못된 merchantId 또는 serviceId로 교체 재고를 호출할 때 호출 시 오류 메시지가 발생하지 않습니다. RTU를 통한 이용 가능 슬롯의 변경은 비순차적 실행을 지원하므로 merchantId 또는 serviceId와 연결되지 않기 때문입니다. 하지만 잘못된 merchantId 또는 serviceId로 인해 요청의 슬롯이 프로덕션에서 제공되지 않습니다. 슬롯을 제공할 수 있도록 하려면 RTU 또는 피드를 통해 누락된 판매자나 서비스를 추가하세요.
  3. 모든 업데이트 함수에서 'updateMask' 매개변수는 업데이트할 필드를 지정하려면 FieldMask 형식이어야 합니다. API는 마스크에 지정된 대로 필드 값만 변경하고 나머지는 그대로 두면 됩니다. 잘못된 updateMask 문자열을 전달하면 업데이트가 적용되지 않습니다. 업데이트 시 필드 마스크가 없으면 작업이 모든 필드에 적용됩니다 (모든 필드의 필드 마스크가 지정된 것처럼). 따라서 모든 필드를 업데이트하려면 updateMask를 비워 두면 됩니다.
  4. 값이 0인 필드는 응답에 표시되지 않습니다.