Php 谷歌日历API v3快速添加失败

Php 谷歌日历API v3快速添加失败,php,google-api,google-api-php-client,Php,Google Api,Google Api Php Client,首先,我可以从GoogleAPI网页添加事件 通过输入“calendarId”和“text”参数成功 但我没有使用“quickAdd”API通过PHP在Google日历中添加事件 require_once "google-api-php-client/src/Google/Client.php"; require_once "google-api-php-client/src/Google/Service/Calendar.php"; // Service Account info $calN

首先,我可以从GoogleAPI网页添加事件 通过输入“calendarId”和“text”参数成功

但我没有使用“quickAdd”API通过PHP在Google日历中添加事件

require_once "google-api-php-client/src/Google/Client.php";
require_once "google-api-php-client/src/Google/Service/Calendar.php";

// Service Account info
$calName = 'dcm2p5gkf3ge1r7k78f0ko28tc@group.calendar.google.com';
$client_id = '759399732845-j93sis8dktkdj00l3b8mn7gjs3ncf6b9.apps.googleusercontent.com';
$service_account_name = '759399732845-j93sis8dktkdj00l3b8mn7gjs3ncf6b9@developer.gserviceaccount.com';
$key_file_location = 'SMSProject-f14380ee82e4.p12';

$client = new Google_Client();
$client->setApplicationName("SMSProject");

$service = new Google_Service_Calendar($client);

$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials($service_account_name, array('https://www.googleapis.com/auth/calendar'), $key);

$client->setAssertionCredentials($cred);
$createdEvent = $service->events->quickAdd('primary', 'Appointment at Somewhere on January 23rd 10am-10:25am');
echo $createdEvent->getId();
事件ID“g69tq9k7s38rfgit1mpnit9bpk”可以在浏览器中回显,但日历中不显示任何事件

如果我改变

$createdEvent = $service->events->quickAdd('primary', 'Appointment at Somewhere on January 23rd 10am-10:25am');

无法生成事件ID并显示以下错误消息

调用POST时出错:(404)未找到


我需要使用“快速添加”而不是“插入”API。如何解决这个问题?谢谢

我也遇到了同样的问题,但后来我发现,事实上,这是在为服务帐户创建日历中的事件xxxxxxx@developer.gserviceaccount.com而不是我的个人日历。 如果您希望它在您的个人日历中创建您使用的活动,请进入您的个人日历设置并与您的服务帐户共享xxxxxxx@developer.gserviceaccount.com 那么你应该可以使用

$createdEvent = $service->events->quickAdd($calName, 'Appointment at Somewhere on January 23rd 10am-10:25am');
…而不是“主要”

$createdEvent = $service->events->quickAdd($calName, 'Appointment at Somewhere on January 23rd 10am-10:25am');