2014-02-14 9 views
3

Я зашел так далеко с моим сценарием, который просто должен извлекать записи для определенного календаря за определенный период времени (то есть именно то, что я вижу в календаре).Как получить соответствующие события календаря через API календаря Google?

#Powershell 

ls (join-path $Script:scriptpath .\GDataCmdLet-master\Binaries\*.dll) | % { 
    [System.Reflection.Assembly]::LoadFile($_) 
} 

$service=new-object Google.GData.Calendar.CalendarService('Test') 
$cred = New-Object Google.GData.Client.GDataCredentials('[email protected]', '1234') 

$service.credentials=$cred 

$eventquery=new-object Google.GData.Calendar.EventQuery 
$eventquery.uri='http://www.google.com/calendar/feeds/[email protected]/private/full' 
$eventquery.StartDate = (Get-Date -Date '2014-02-10') 
$eventquery.EndDate = (get-date -date '2014-02-20') 

$eventfeed=$service.query($eventquery) 

Библиотеки DLL, я получил от https://github.com/robertj/GDataCmdLet

Все события из календаря на самом деле были удалены (т.е. я не вижу в webinterface), но я продолжаю получать их в качестве результата.

Вопросы, ответ на любой из них будет достаточно:

  1. Есть ли флаг в результатах, которые отличает удалены из не удаленных событий?

  2. Есть ли способ получить только не удаленные события в первую очередь? (параметр? showhidden = false в запросе не помогло)

Спасибо!

Sandro

ответ

0

Решено! Далее, кажется, работает, не знаю точно, почему жесткая

ls (join-path $Script:scriptpath .\GDataCmdLet-master\Binaries\*.dll) | % { 
    [System.Reflection.Assembly]::LoadFile($_) 
} 

$service=new-object Google.GData.Calendar.CalendarService('Test') 
$cred = New-Object Google.GData.Client.GDataCredentials('[email protected]', '1234') 

$service.credentials=$cred 

$eventquery=new-object Google.GData.Calendar.EventQuery 
$eventquery.uri='http://www.google.com/calendar/feeds/[email protected]/private/basic' 

#don't use StartDate and EndDate this way 
#they just didn't have the expected effect 
$eventquery.StartTime = (Get-Date -Date '2014-02-10') 
$eventquery.EndTime = (get-date -date '2014-02-30') 

#that does the trick to get the actual occurences, not just the events 
#and it also removed the non-deleted ones 
$eventquery.SingleEvents = $true 

$eventfeed=$service.query($eventquery) 

Теперь я не знаю, где, чтобы получить начальное и конечное время в вхождений с, но это для другой вопрос ответить ...

 Смежные вопросы

  • Нет связанных вопросов^_^