代码之家  ›  专栏  ›  技术社区  ›  w3bguy

为其他用户创建日历事件

  •  0
  • w3bguy  · 技术社区  · 6 年前

    我到处找了找也找不到任何具体的线索。是否可以在其他用户日历中创建日历事件?我们公司有谷歌应用,所以每个人都在我们的领域。我发现的所有内容都指向其他用户需要批准日历事件。

    我的任务的最终结果是,当员工批准休假时,它被发送给员工和主管日历。我肯定外面有什么东西,我只是在哪儿都找不到。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Morfinismo    6 年前

    right here . 完成域范围的委派后,可以使用以下方法完成任务:

    <?php
    
    session_start();
    
    //INCLUDE PHP CLIENT LIBRARY
    require_once 'google-api-php-client-2.0.3/vendor/autoload.php';
    
    putenv('GOOGLE_APPLICATION_CREDENTIALS=yourkey.json'); // yourkey = the name of your json client secret file.
    
    //set the required scopes
    $scopes = array("https://www.googleapis.com/auth/calendar");
    
    // Create client object
    $client = new Google_Client(); 
    $client->useApplicationDefaultCredentials();
    $client->addScope($scopes);
    
    $client->setSubject("user@thedomain.com");
    
    $cal = new Google_Service_Calendar($client);    
    
    $event = new Google_Service_Calendar_Event(array(
        'summary' => 'Test Event',
        'location' => 'Some Location',
        'description' => 'Google API Test Event',
        'start' => array(
          'dateTime' => '2017-04-12T05:00:00-06:00'   
        ),
        'end' => array(
          'dateTime' => '2017-04-12T05:25:00-06:00'
        ),  
        'reminders' => array(
          'useDefault' => FALSE,
          'overrides' => array(
            array('method' => 'email', 'minutes' => 24 * 60),
            array('method' => 'popup', 'minutes' => 10)
          ),
        ),
        'attendees' => array(
          array('email' => 'userone@domain.com'),
          array('email' => 'usertwo@domain.com')
        )
    ));
    
    $calendarId = 'primary';
    $event = $cal->events->insert($calendarId, $event, array('sendNotifications' => TRUE));
    
    printf('Event created: %s<br>', $event->htmlLink);    
    
    ?>
    

    请注意:上面的示例是使用google api php客户端库执行的。有关其他示例,请参阅 official documentation . 希望这有帮助!