2012-04-21 21 views
13

Tôi đã sử dụng mấy ngày vừa qua tạo ra một ứng dụng xây dựng một file .ics (ical)Ical VALARM không registrering

Nó được mã hóa trong php, và các chức năng cơ bản hoạt động tốt (múi giờ, VEVENT, như vậy anh trên) nhưng khi tôi thêm VALARM của thành những nhân VEVENT không lịch google, hay Outlook 2010 add của các nofifications vào lịch của họ

một đoạn của ics file:

BEGIN:VEVENT 
UID:[email protected] 
DTSTAMP:20120420T174122Z 
DTSTART;TZID=Europe/Berlin:20120416T081000 
DTEND;TZID=Europe/Berlin:20120416T091000 
LOCATION:A102 - Teori Frh. 
SUMMARY:Hold: 2.B Kemi B 
DESCRIPTION:Lærer: Jeppe Byrialsen Jensen (JBJ) Noter: Lab øvelser om alkoholers blandbarhed 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Hold: 2.B Kemi B 
TRIGGER:-P0DT0H30M0S 
END:VALARM 
END:VEVENT 

EDIT: có vẻ như để làm việc nếu bạn nhập nó từ một tập tin, nhưng thật đáng buồn tôi cần phải nhập nó từ một trang web.

Trả lời

2

Tôi đang gặp vấn đề tương tự. Tôi đã xuất lịch của mình được tạo trong Lịch Google và phần VALARM trông giống hệt như lịch tôi đã xuất. Tôi có cảm giác đó là vấn đề ở phía Google. Tôi đã nhìn thấy câu hỏi này được hỏi 2 hoặc 3 lần trên Stack Overflow mà không có câu trả lời.

+0

Tôi cảm thấy buồn bã. Tôi đã không thể có được một tổ chức của google, nhưng nó thực sự gây phiền nhiễu cho tôi. Từ những gì tôi đã đọc trên internet, triển vọng MS 2010 có cùng một vấn đề. –

+0

Xem câu trả lời của tôi ở đây, sẽ giúp bạn: http://stackoverflow.com/a/16540934/834431 – Chris

1

bạn có thể làm rõ ý của mình bằng cách "không đăng ký" hay không. Ví dụ: tôi đã sao chép mã của bạn và nhập mã đó vào lịch google và hiển thị rõ ràng Lời nhắc: cửa sổ bật lên 30mn trong thuộc tính của sự kiện.

Có phải bạn muốn thấy một mục trong lịch nơi báo thức sẽ diễn ra. Tôi tin rằng đây không phải là những gì RFC5545 ngụ ý như một hành vi cho VALARM.

+0

Bạn nhận được báo thức? Làm sao. tôi đã cố gắng làm điều này trong hơn một tháng, và chưa thành công. –

+0

Dường như nó hoạt động nếu bạn nhập nó từ một tệp, nhưng không phải nếu bạn nhập nó từ một trang web (đó là những gì tôi cần). Nhất là –

+0

Đặc biệt nhất là một lỗi từ lịch google: cùng một sự kiện khi được nhập dưới dạng tệp cho thấy lời nhắc nhưng khi được nhập từ URL thì không. Người ta có thể cho rằng đó là sự khác biệt giữa "lịch cá nhân" và "lịch khác" nhưng ngay cả khi sự kiện được "di chuyển" từ "lịch khác" sang "lịch của tôi" sự kiện đã "mất" lời nhắc của nó. – oberron

0

Đối với những gì nó có giá trị, đây không phải là lỗi, mà là lựa chọn mà những người triển khai lịch chọn tương thích với RFC. Xem http://sourceforge.net/p/dday-ical/discussion/656447/thread/01111137#23c5

Tôi nghĩ rằng sự sợ hãi là nếu hành động là âm thanh, thì khách hàng phải chạy tệp đính kèm (có lẽ là tệp âm thanh) khi sự kiện kích hoạt xảy ra. Tuy nhiên, không có gì đảm bảo rằng tập tin âm thanh thực sự là một tập tin âm thanh chứ không phải một thứ gì đó bất chính.

Bây giờ, tại sao nó bỏ qua valarm với hành động hiển thị, tôi không biết.

6

Chúng tôi có cùng sự cố, nhưng thấy rằng đoạn mã ví dụ sử dụng \n ở cuối mỗi dòng cần sử dụng \r\n để thay thế.

Các validator iCal tại http://severinghaus.org/projects/icv/ nhấn mạnh điều này như một lời cảnh báo, mặc dù các file iCal làm việc ngoại trừ báo động nhắc nhở không được thiết lập trong Outlook 2010.

Dưới đây là một ví dụ iCal tập tin mà các công trình chính xác như mong đợi khi mở cửa vào Outlook 2010, trong đó có việc thiết lập nhắc nhở đến 1 giờ (miễn là các ngắt dòng là \r\n):

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Keeble Smith//NONSGML GETONCOURT.COM//EN 
BEGIN:VEVENT 
DTSTART:20130514T190000Z 
DTEND:20130514T194000Z 
LOCATION:Court 2\, Demo Squash Club 
DESCRIPTION:View this court booking on getoncourt.com: http://democlub.getoncourt.com/booking-details/dmo3106 
SUMMARY:Squash court booking for John Smith - DMO3106 
BEGIN:VALARM 
TRIGGER:-PT60M 
ACTION:DISPLAY 
DESCRIPTION:Reminder 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

cũng lưu ý các ký tự đặc biệt trốn thoát. Đảm bảo bạn thoát khỏi những điều sau đây trong các giá trị TEXT (không phải là ví dụ EOL dù):

\ to \\ 
; to \; 
, to \, 
\n to \\n 
+1

Các bộ phận VALARM vẫn bị bỏ qua bởi Outlook và Lịch Google. Nó hoạt động với Lịch của iPhone. – Mike

+0

Bạn đã kiểm tra các ký tự EOL như đã đề cập trong câu trả lời chưa? – Chris

+0

Có, \ r \ n trong mỗi dòng. Dường như Google đã quyết định bỏ qua các báo động, vẫn tương thích với [iCal's RFC] (http://tools.ietf.org/html/rfc5545#page-75): "Lưu ý: Các triển khai nên xem xét cẩn thận xem họ có chấp nhận các thành phần báo động hay không từ các nguồn không đáng tin cậy, ví dụ, khi nhập các đối tượng lịch từ các nguồn bên ngoài. Một chính sách hợp lý là luôn bỏ qua các thành phần báo động mà người dùng lịch chưa tự đặt hoặc ít nhất yêu cầu xác nhận trong trường hợp này. " – Mike

1

MS khẳng định rằng Outlook bỏ qua một số các cài đặt báo thức tiêu chuẩn, xem: http://msdn.microsoft.com/en-us/library/ee624781(v=exchg.80).aspx

Tôi thấy điều này không phải là trường hợp trong Outlook 2013.Tôi đã gỡ bỏ:

HÀNH ĐỘNG: DISPLAY MÔ TẢ: Nhắc nhở

và báo động làm việc cho tôi trong Outlook 2013.

dường như là một trường hợp của MS Outlook không tuân theo các tiêu chuẩn RFC5545, cũng không phải sau của mình tiêu chuẩn thực hiện.

Các vấn đề liên quan