2013-06-16 79 views
6

GoogleカレンダーAPIで簡単な無料のクエリを実行しようとしています。私は私の許可をすべてうまく働いている、ユーザーのカレンダーのリストを見ることができます。私は空き時間情報のクエリを提出しようとすると、(私が言うことができる限り、好きではない。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" 
    } 
} 

は、私はそれがDateTimeオブジェクト/フォーマットとは何かを持っているかもしれないと思いますか?しかし、私は何が分からない。私は本当に助けていただければ幸いです。私はこれに対して1週間、頭を叩いていました!

+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:Googleのドキュメントは、この場合は日時のフォーマットについて言っているにもかかわらず

は、私が仕事を得ることができる唯一の形式は、このでした02.000Z

ので、それは YYYYです-MM-DDTHH:MM:SS.MMMZ

Zは何ですか?私は知らないが、そこにいなければならない。

+0

Zは「ズールー」ですか?何。 。地獄。しかし、別のプロパティでタイムゾーンを指定することもできます。 – nilatti

+3

Zは、UTC([協定世界時](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'は' Zulu'の略でUTCを意味します。 –

関連する問題