0

Google リソース カレンダー (Google Apps) で空き時間情報クエリを実行しようとしています。Freebusy クエリの API ドキュメントには、リクエストに関する次の指示が記載されています。

HTTP リクエスト:

POST https://www.googleapis.com/calendar/v3/freeBusy

リクエスト本文の構造:

{  "timeMin": {datetime},
   "timeMax": {datetime},
   "items": [
      {"id": {string}
      }
    ]
}

curl を使用した私の試みは次のとおりです。

$url = "https://www.googleapis.com/calendar/v3/freeBusy";
global $headers;  // holds ClientLogin authentification

$freebusy_post = array(

        "timeMin" => '2012-12-31T00:00:00',
        "timeMax" => '2013-01-08T23:00:00',
        "timeZone" => 'America/New York',

/*** "items" below commented out because posting a multidimensional array returns an 
"Array to string conversion" error. However, I think the API requires 
"items" to be an array. ***/

        //"items" => array(
        //        "id" => "https://www.googleapis.com/calendar/v3/calendars/gdev.wellesley.edu_313736333535343332@resource.calendar.google.com" 
        //        )

/*** My attempt at using a plain string instead of an array ***/

        "items" => "gdev.wellesley.edu_313736333535343332@resource.calendar.google.com",        

); 

$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $freebusy_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);

$data = curl_exec($ch);
print_r($data);

私の問題: $data は何も出力しません。

PHP、curl、Google Apps Calendar API は初めてです。あなたが提供できる助け/レッスン/アドバイスがあれば幸いです!

4

2 に答える 2