Google日历活动不会显示批准提示(" auto")

时间:2015-08-05 10:26:36

标签: php google-api google-calendar-api

我在自己的日历中列出了Google事件。一切正常,直到我从approval_promptauto更改为force。每当用户登录时,我当然不需要刷新令牌(如果我错了,请更正我,我是Google API的新手)。

另一个奇怪的事情是我仍然可以创建,更新,删除所有事件。它只是没有列出Google日历事件。

以下是代码:

的login.php

$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);

$client->setScopes(array(
    'email',
    'https://www.googleapis.com/auth/calendar',
    'https://www.googleapis.com/auth/plus.me'
    ));

$client->setApprovalPrompt('auto');
$client->setAccessType("offline");

calendar.php:

var events = [];
<?php

            foreach ($results->getItems() as $event) {
            $now = new DateTime();
            $unformatted_start = new DateTime($event->start->dateTime);
            $start = $event->start->dateTime;
            $end = $event->end->dateTime;
            $allDay = false;
            if (($event->getStart()->getDate())!= NULL) {
                $start = (new DateTime($event->getStart()->getDate()))->format('Y/m/d');
                $end = (new DateTime($event->getEnd()->getDate()))->format('Y/m/d');
                $allDay = true;
            }
            $summary =$event->getSummary();
            $event_url = $event->getHtmlLink();
            $is_matching = false;
            foreach ($allEventIds as $id) {
               //id->e_google_id above in the file
               if($event->getId()==$id->e_google_id){
                    $is_matching = true;
                    break;
               }
            }
            if(!$is_matching){ 
            ?>            


events.push({title:"<?php echo $summary;?>",start:"<?php echo $start;?>",end:"<?php echo $end;?>",color: "<?php if($now>$unformatted_start){echo '#f3867e';}else {echo '#F44336';}?>",textColor: 'white', url:"<?php echo $event_url;?>", allDay:"<?php echo $allDay;?>" })        
<?php }}
?>

0 个答案:

没有答案
相关问题