Я хотел бы экспортировать события календаря со своего веб-сайта в существующий календарь Google, используя PHP (примечание: это не календарь пользователя, который вошел в систему, а предопределенный календарь, связанный с моей учетной записью).Я не смог найти полный пример в официальной документации.Пример документации использует PHP в командной строке.Однако я хочу настроить его на своем веб-сайте без использования командной строки.Я нашел следующее сообщение: API Календаря Google (v3) - PHP может писать, но не читать? , который использует curl, поэтому я попытался использовать это:
$api_key = 'api-key-from-google-console';
$calendar_id = "calendar_id";
$start = array(
"dateTime" => $date . "T" . $start_time . ":00",
"timeZone" => "Africa/Johannesburg"
);
$end = array(
"dateTime" => $date . "T" . $end_time . ":00",
"timeZone" => "Africa/Johannesburg"
);
$headerarray = array(
'Content-type: application/json',
'Authorization: Bearer ' . $api_key,
'X-JavaScript-User-Agent: Google APIs Explorer'
);
$post_data = array(
"start" => $start,
"end" => $end,
"summary" => $title,
"description" => $description,
"key" => "$api_key"
);
$url = 'https://www.googleapis.com/calendar/v3/calendars/' . $calendar_id . '/events';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerarray);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode($response);
Однако, это возвращает сошибка, что мои учетные данные недействительны.Что не так в этом коде?Я использую активный ключ API, но когда я просматриваю документацию Google, мне неясно, как именно я должен использовать это в этом коде curl.В примере из Stackoverflow также не было никаких дополнительных инструкций .?