2013-07-05 44 views
1

我正在顯示用戶可以從中選擇創建新事件的日曆列表。 我使用自己的帳戶進行測試,其中一個日曆是隻讀的,然後當我嘗試在其中創建新事件時,logicaly會返回一條錯誤消息,說明它是隻讀的。 我如何從列表中排除只讀日曆?php Google Calendar排除列表中的只讀日曆

function getGoogleCalendars() 
{ 
    $html .= validateGoogleSession(); 
    if($html == "") 
    { 
     $client = getAuthSubHttpClient(); 
     $calendars = getCalendarList($client); 

     if(!empty($calendars)) 
     { 
      $html .= "<h1>Select Calendars</h1><br\>"; 
      $html .= "<ul><br\>"; 
      foreach ($calendars as $calendar) 
      { 
       //var_dump($calendar); 
       $html .= "<li>" . $calendar->title->text ." <input type='checkbox' name='gcalendar' value='".$calendar->content->src."' /></li><br\>"; 
      } 
      $html .= "</ul><br\>"; 
      $html .= "<label>Alert: </label><input id='alert' type='checkbox' name='reminder[]' value='alert' />"; 
      $html .= "<label>E-mail: </label><input id='email' type='checkbox' name='reminder[]' value='email' />"; 
      $html .= "<label>Minutes before: </label><input id='minutes' type='input' name='minutes' value=15 />"; 
      $html .= "<button class='add-event'>Add Event</button>"; 
     } 
    } 
    return $html; 
} 

編輯

這是我在錯誤:

致命錯誤:未捕獲的異常 'Zend_Gdata_App_HttpException' 與消息「預期響應碼200,得到了403 該進料是隻讀'

並且這是日曆提要:

https://www.google.com/calendar/feeds/%23contacts%40group.v.calendar.google.com/private/full 

由於它是完全和它不是基本可以與否只讀:■

提前感謝!

回答

0

很多谷歌搜索後,我想我找到了解決辦法,在我的例子ATLEAST作品:

if($calendar->accesslevel->value != "read" && $calendar->accesslevel->value != "freebusy" && $calendar->accesslevel->value != "none") 
    $html .= "<li>" . $calendar->title->text ." <input type='checkbox' name='gcalendar' value='".$calendar->content->src."' /></li><br\>"; 

編輯

一些更多的搜索後,我發現的幾個訪問的意義可能有用的級別:


當前用戶無權訪問日曆。
閱讀
當前用戶對日曆具有​​只讀訪問權限。
freebusy
當前用戶只能看到日曆上的空閒/忙碌信息,而不能看到事件的詳細信息。
編輯器
當前用戶具有對日曆的完全編輯訪問權限,不同之處在於他們無法更改日曆的訪問控制設置。
店主
當前用戶擁有對日曆的完全所有者權限。

僅在Google Apps域中可用。用戶是域管理員,因此無論訪問控制設置如何,都擁有對日曆的完全所有者訪問權限。

我希望這可以幫助別人,因爲找到答案並不容易。

相關問題