2013-02-11 4 views
0

Java에서 Google 캘린더 동기화를하고 있는데, 다음과 같은 문제가 있습니다. 시간 동기화를 위해 Google에 EventDateTime (GenericJson의 하위 클래스)을 게시해야합니다. 특히 내 경우에는 "날짜"필드를 지우고 "날짜 시간"필드를 설정해야합니다. <dateTime,some date> : GenericJson은 null 값을 유지하지 않습니다.

//code to init the variable dateTime, in the form of google DateTime 
    EventDateTime edt = new EventDateTime(); 
    edt.put("dateTime", dateTime); 
    edt.put("date", null); 

나는 위의 코드를 사용

은 EDT 내부지도는 1 <key,value> 쌍을 보여줍니다. 값 쌍 <date,null>은 없습니다.

누구나이 경험이 있으십니까? pls는 해결 방법을 도와줍니다. tks.

업데이트 :이 작동 : edt.put ("date", Data.NULL_DATE_TIME), 아이디어는 데이터 코드 안에 들어가서 해당 필드 NULL_XXX를 찾고 필요한 것을 선택하십시오.

답변

1

null 대신 값으로 Data.NULL_STRING을 사용해보십시오.

Google이 JSON null here을 처리하는 방법에 대한 자세한 설명서가 있습니다.

참고 : 저는 프로젝트 소유자 인 google-http-java-client입니다.

+0

안녕하세요, 답장을 보내 주셔서 감사 드리며 늦게 답장을 드려 죄송합니다. 솔루션을 사용해 보았을 때 오류가 발생했습니다 :'ava.lang.IllegalArgumentException : com.google.api.client.util.DateTime 필드 com.google.api.services.calendar.model.EventDateTime.dateTime을 java로 설정할 수 없습니다. lang.String' –

+0

아, NULL_DATE_TIME 작품, tks. 내 게시물에 업데이트되었습니다. (다른 사람들이 바로 볼 수 있도록) 응원 할 수 있도록 답변을 업데이트 할 수 있습니까? –

관련 문제