Google Calendar API v3 quickAdd失败

时间:2015-01-09 04:52:17

标签: php google-api google-api-php-client

首先,我可以从Google API网页添加该事件 https://developers.google.com/google-apps/calendar/v3/reference/events/quickAdd#try-it已成功输入" calendarId"和"文字"参数

但是我没有使用" quickAdd"使用PHP在Google日历中添加活动的API。

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');

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

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

  

调用POST https://www.googleapis.com/calendar/v3/calendars/dcm2p5gkf3ge1r7k78f0ko28tc%40group.calendar.google.com/events/quickAdd时出错:(404)Not Found

我需要使用" quickAdd"而不是"插入" API。如何解决问题?谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

...而不是'主要'