2014-02-14 9 views
3

필자는이 스크립트를 특정 스크립트를 특정 기간 (예 : 캘린더에서 볼 수있는 내용)의 항목 만 검색한다고 가정 해 보았습니다.Google 캘린더 API를 통해 관련 캘린더 이벤트를 가져 오는 방법은 무엇입니까?

#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 매개 변수는 도움이되지 않았습니다)

고마워요!

샌드로

답변

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) 

나는 곳에서 발행 수의 시작 시간과 종료 시간을 얻으려면 모르는, 확실하지 작동하는 것 같다,하지만 또 다른 질문에 대답하는 즉