2013-06-16 4 views
6

Google 캘린더 API에서 간단한 무료 쿼리를 실행하려고합니다. 나는 내 권한이 모두 잘 작동하고 사용자의 캘린더 목록을 볼 수 있습니다. 약속 있음/약속 없음 쿼리를 제출하려고하면 (내가 말할 수있는 한) 400 오류가 표시됩니다. 좋아하지 않아.Google 캘린더 API 400 오류

내 자신의 코드와 Google 캘린더 API "사용해보기"기능을 사용할 때 모두 마찬가지입니다. 여기

합니다 (위젯 그것은 시도 사용하여 만든) 내 요청하고, 응답 :

POST https://www.googleapis.com/calendar/v3/freeBusy?key={YOUR_API_KEY} 

Content-Type: application/json 
Authorization: Bearer ya29.AHES6ZTr-2wksEvp0iGPTnHTirTIItib5WwxmSAySq1ghfI98Cz88kA 
X-JavaScript-User-Agent: Google APIs Explorer 

{ 
    "items": [ 
      { 
       "id": "[my calendar id goes here]@group.calendar.google.com" 
      } 
    ], 
    "timeMin": "2012-01-31T09:00:00", 
    "timeMax": "2012-01-31T10:00:00", 
    "timeZone": "GMT" 
} 

Response 


400 Bad Request 

cache-control: private, max-age=0 
content-encoding: gzip 
content-length: 122 
content-type: application/json; charset=UTF-8 
date: Sun, 16 Jun 2013 13:08:32 GMT 
expires: Sun, 16 Jun 2013 13:08:32 GMT 
server: GSE 

{ 
    "error": { 
    "errors": [ 
      { 
       "domain": "global", 
       "reason": "badRequest", 
       "message": "Bad Request" 
      } 
    ], 
    "code": 400, 
    "message": "Bad Request" 
    } 
} 

나는 그것이 날짜 개체/서식 할 수있는 뭔가가 있다고 생각 요청? 그러나 나는 무엇이 무엇인지 전혀 모른다. 나는 정말로 도움이된다. 나는 일주일 동안 내 머리를 두드리는 소리가났다.

+0

''timeZone ': "UTC"'를 사용하거나 해당 속성을 제거하면 아무 것도 변경되지 않습니까? URL의 API 키가 올바르게 이스케이프되고 있습니까? http://stackoverflow.com/questions/15926676/google-calendar-api-bad-request-400-event-over-developer-console#comment22712451_15937488 –

+0

나는 UTC를 사용하여 속성을 제거하고 시간대 오프셋 최소/최대 시간. 그 중 아무 것도 바뀌지 않았습니다. Google의 API 탐색기를 사용하고 있으므로 아무 것도 탈출 할 방법이 없습니다. – nilatti

답변

14

알았어, 알아 냈어.이 일로 그들의 마음을 잃은 다른 사람에게 대답을 남기고있다.

2008-03-07T17 : 06 : 구글의 문서가이 경우 날짜에 대한 형식에 대해 말씀에도 불구하고

, 나는이 일에 얻을 수있는 유일한 형식이 있었다 02.000Z

그래서 YYYY입니다 -MM-DDTHH : MM : SS.MMMZ

Z는 무엇입니까? 나는 모르지만 거기 있어야한다.

+0

Z는 "줄 루어"용입니까? 뭐. 그만큼. 지옥. 하지만 별도의 속성에서 시간대를 지정할 수 있으며 그 기능은 작동합니다. – nilatti

+3

Z는 UTC ([Coordinated Universal Time] (http://en.wikipedia.org/wiki/Coordinated_Universal_Time)) 시간대의 줄임말입니다. 당신의 끈기에 대한 포인트. – Bobulous

+0

나는 이것을 매우 구체적으로 생각하고 그것을 확인했습니다! 감사합니다 –

0

날짜 시간 값은 UTC "TZ"형식이어야합니다. 거의 모든 CRM과 공개 API는이 형식으로 시간을받습니다. 주요 언어 (예 : C 또는 Java) 라이브러리 함수/메소드를 사용하여 datetime을 UTC 시간으로 변환하면 YYYY-MM-DDTHH : MM : SS.MMMZ 형식의 datetime 인스턴스가 반환됩니다.

+0

실제로 그 형식은 [ISO 8601] (https://en.wikipedia.org/wiki/ISO_8601) 표준에 의해 정의됩니다. 끝에있는'Z'는'줄루 '의 약자로 UTC를 의미합니다. –