繁体   English   中英

如何在谷歌日历中创建活动而不将其放入垃圾箱?

[英]How can I create an event in google calendar and not have it on trash?

如何在谷歌日历中创建活动而不将其放入垃圾箱? 我正在研究 Google 日历 API ( https://developers.google.com/calendar/v3/reference/events/insert )如何在日历上创建一个事件,插入工作正常,ZDB97427 状态为:1'confirmedCE388 '。 但在日历中,该事件并未出现。 我查看了 Google 日历 API 状态为“已取消”,因此我的活动出现在垃圾箱中。 我不确定发生了什么,有人知道如何在谷歌日历上创建一个不会进入垃圾箱的事件吗?

在此处输入图像描述

<?php
class Calendar
{
    private $calendarId         = 'primary';
    private $service            = null;
    private $client             = null;

    public function __construct()
    {
        $this->client = new Client([
            'scopes' => [
                Google_Service_Calendar::CALENDAR,
                Google_Service_Calendar::CALENDAR_READONLY,
                Google_Service_Calendar::CALENDAR_EVENTS,
                Google_Service_Calendar::CALENDAR_EVENTS_READONLY,
            ]
        ]);
        $this->service = new Google_Service_Calendar($this->client->getClient());
    }

    public function eventAdd()
    {
        $email = 'seuemail@gmail.com';

        $event = new Google_Service_Calendar_Event();
        $event->setSummary('Vamos ver agora ;)');
        $event->setStatus('confirmed');
        $start_datetime = new Google_Service_Calendar_EventDateTime();
        $start_datetime->setDateTime('2019-10-10T15:00:00.000-03:00');
        $start_datetime->setTimeZone('America/Sao_Paulo');
        $event->setStart($start_datetime);
        $end_datetime = new Google_Service_Calendar_EventDateTime();
        $end_datetime->setDateTime('2019-10-10T20:00:00.000-03:00');
        $end_datetime->setTimeZone('America/Sao_Paulo');
        $event->setEnd($end_datetime);
        $reminder = new Google_Service_Calendar_EventReminder();
        $reminder->setMethod('popup');
        $reminder->setMinutes(10);
        $reminders = new Google_Service_Calendar_EventReminders();
        $reminders->setUseDefault(false);
        $reminders->setOverrides(array($reminder));
        $event->setReminders($reminders);

        $attendee1 = new Google_Service_Calendar_EventAttendee();
        $attendee1->setEmail($email);
        $attendee1->setResponseStatus('accepted');
        $attendees = array($attendee1);
        $event->attendees = $attendees;
        $optParams = array('sendNotifications' => true, 'maxAttendees' => 1);
        $event = $this->service->events->insert($this->calendarId, $event, $optParams);

        var_dump($event);
    }
}

问题跟踪器中有一个针对此问题的未解决问题。

作为一种解决方法,您可以使用您的实际日历 ID 而不是仅使用“主要”。 这个小改动应该可以解决您的问题。

我希望这有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM