문제

Zend Gdata Calendar 클래스를 사용하여 반복적 인 이벤트에 예외를 추가 할 수있는 방법은 무엇입니까?

$orig = $evtFeed[0]; //the original recurrence

$ex = $gc->newEventEntry(); //gc is a Zend_Gdata_Calendar object
$ex->originalEvent = $gc->newOriginalEvent($orig->getId(), $orig->getLink('self')->href, $gc->newWhen('2009-09-23T15:00:00.000Z'));
$ex->eventStatus = $gc->newEventStatus("http://schemas.google.com/g/2005#event.canceled");

$gc->insertEvent($ex);

위의 코드의 약 20 가지 변형을 시도했지만 매번 다음 오류가 발생합니다.

치명적인 오류 : '예상 응답 코드 200, 403 g : originalevent [2009-09-23 15:00:00]가있는 메시지가 포함 된'Zend_gdata_app_aph_httpexception '은 끊임없는 예외'Zend_gdata_app_httpexception '이 되풀이 사건의 인스턴스에 해당하지 않습니다.'

도움이 되었습니까?

해결책

글쎄, 인터넷에서 몇 시간과 몇 시간 후에, 나는 이것이 Zend API에서 가능할 수 있다는 결론에 도달했지만 결코 그것을 파악하지 못할 것입니다. 나는 마침내 재발을 편집하고 icalendar 데이터에 exdate 규칙을 추가하기 위해 포기하고 의지했습니다. Google 캘린더 인터페이스의 버그 덕분 에이 방법으로 생성 된 예외는 페이지를 새로 고치지 않으면 표시되지 않으므로 (캘린더 위의 새로 고침 링크가 작동하지 않음) 더 많은 시간을 낭비했습니다.

누군가가 Exdate에 의지하지 않고이 작업을 수행 할 수있는 방법을 찾으면 게시하십시오. 주기적으로 다시 확인하고 정답을 표시하겠습니다.

업데이트: 좋아, 나는 그것을 알아 냈다. 나는 이것을 부분적으로 바보이고 부분적으로 Google의 끔찍한 이름 지정 시스템에 대해 비난 할 것입니다. 부름 getId()EventEntry 실제로 이벤트의 편집 URL을 반환합니다. 그만큼 OriginalEvent 생성자는 URL의 실제 ID 부분만을 기대하므로 서브 스트링을 사용하여 추출해야합니다. 이름을 지정하는 것이 얼마나 좋은가 getId() 액세서가 올바르게.

다른 팁

getid를 구문 분석 할 필요가 없으며 CalendareVententry.geticaluid () 만 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top