Tôi đã thử Google câu hỏi này, nhưng không có may mắn, có thể do chuỗi tìm kiếm "Z" không đủ cụ thể.Lịch Google Sự kiện lặp lại sự kiện cũ của GData vẫn hiển thị với EventID kết thúc bằng Z
Bối cảnh:
Sử dụng Google Calendar thư viện gdata Zend, và đã được sử dụng mã đơn giản để liệt kê các sự kiện cho một khoảng thời gian cụ thể. Trong trường hợp này, 27-02-2012 đến 03-03-2012. Tôi đã có một số sự kiện được liệt kê, với một sự kiện lặp lại, có tiêu đề "Rob", mon-fri hàng tuần.
Tôi đang sử dụng mã cơ bản mà không có bất kỳ bổ sung lạ mắt nào. chưa :)
Vấn đề:
khi tôi sử dụng các tham số $query->setSingleEvents(TRUE)
, tất cả mọi thứ đã làm việc như mong đợi, và cho thấy những sự kiện chính xác.
Khi tôi nói về sự kiện 'hiển thị', tôi đang nói về trang PHP đang sử dụng Zend gdata để hiển thị các sự kiện lịch.
Trong mọi tình huống, Lịch GUI Google đang hiển thị các dữ liệu chính xác (ví dụ. Sự kiện 'Rob' không được hiển thị, vì nó đã bị xóa.
Nhưng khi tôi thiết lập này để FALSE
, sự kiện lặp đi lặp lại "Rob ", nên có thời gian bắt đầu có nghĩa là để được nhóm lại, nhưng thay vào đó, một vài sự kiện ngẫu nhiên bổ sung được hiển thị mà không có một starttime
, chỉ là cùng một tiêu đề.
Quan sát thú vị
EventID cho sự kiện đã bị xóa nhưng vẫn hiển thị trên trang kết thúc bằng "Z". Nó có eventID thường tiếp theo: _20120302T030000Z
My Câu hỏi
Sự kiện này đã bị xóa trong Google Calendar GUI. Tại sao gdata vẫn hiển thị một sự kiện bị xóa và eventid kết thúc bằng dấu thời gian và Z có nghĩa là gì.
Nghị quyết Nỗ lực:
1. Cố gắng thay đổi nó từ sự kiện định kỳ đến một sự kiện bình thường (loại bỏ các recurrance 'cho tất cả các sự kiện trong loạt'
Không may mắn, vẫn còn những người phụ liệt kê
2. xóa. sự kiện định kỳ hoàn toàn cho tất cả các sự kiện trong chuỗi.
Điều này cho thấy một lần nữa kết quả chính xác trong SingleEvents(TRUE)
, nhưng trong FALSE
, sự kiện cũ 'Rob' vẫn được hiển thị, khi nó đã hoàn toàn bị xóa khỏi lịch.
Code:
function outputCalendarByDateRange($client, $startDate='2012-02-27',
$endDate='2012-03-03')
{
$gdataCal = new Zend_Gdata_Calendar($client);
$query = $gdataCal->newEventQuery();
$query->setUser('default');
$query->setVisibility('private');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setStartMin($startDate);
$query->setStartMax($endDate);
$query->setSingleEvents(FALSE);
$eventFeed = $gdataCal->getCalendarEventFeed($query);
foreach ($eventFeed as $event) {
echo "Title: " . $event->title->text . "<br />";
echo "Event ID: " . $event->id->text . "<br />";
foreach ($event->when as $when) {
echo "Start: " . $when->startTime . "<br />";
}
echo "<br />";
}
}
Bạn đã thử kiểm tra trạng thái sự kiện, như ở đây ?: http://stackoverflow.com/questions/25849 78/google-calendar-feed-api-deleted-events – Ashley
Hầu hết các âm thanh như một cái gì đó đang được lưu trữ ... –