2014-05-05 18 views
5

Tôi đang cố gắng thêm lịch Google thông qua phương pháp thêm bằng URL. Tôi nhận được lỗi chung về "Không thể thêm lịch đã nhập vào 'URL của tôi' cho 'tên người dùng của tôi'" từ lịch Google. URL tôi đang thêm vào Google gọi một dịch vụ Restful gửi lại tệp .ics. Tôi có thể xác thực URL của tôi tại đây: http://severinghaus.org/projects/icv/ và tại đây: http://icalvalid.cloudapp.net/ Lịch Google dự kiến ​​nhận được thông tin gì mà tôi đang thiếu?Lịch Google thêm theo yêu cầu URL

Đây là những nội dung của .ics nộp Tôi trở về:

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Bryan G LLC//Bryan G Calendar 2014.4.30//EN 
X-WR-CALNAME:Bryang Calendar 
X-WR-TIMEZONE:America/New_York 
BEGIN:VTIMEZONE 
TZID:America/New_York 
X-LIC-LOCATION:America/New_York 
BEGIN:DAYLIGHT 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
TZNAME:EDT 
DTSTART:19700308T020000 
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU 
END:DAYLIGHT 
BEGIN:STANDARD 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
TZNAME:EST 
DTSTART:19701101T020000 
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU 
END:STANDARD 
END:VTIMEZONE 
BEGIN:VEVENT 
DTSTAMP:20140505T131700Z 
DTSTART;TZID=America/New_York:20140725T084500 
DURATION:PT2H 
UID:[email protected] 
SUMMARY:Burns JRSR High School FH C V Home Rocky Mountain High School 
LOCATION:Home 
DESCRIPTION: 
END:VEVENT 
END:VCALENDAR 
+0

Tôi nghĩ bạn chỉ có thể bao gồm các lĩnh vực như params URL. Bạn không thực sự cần sử dụng ics. – Henry

+0

Tôi sẽ không thể tạo các trường dưới dạng tham số URL vì trong một số trường hợp, tôi sẽ gửi tối đa 50 mục nhập lịch. Tuy nhiên, tôi đã cố chuyển thông tin mà không có tệp có cùng kết quả. – user3338432

Trả lời

1

Ok, vì vậy đây là kỳ lạ nhất. Tôi gặp nhiều vấn đề tương tự: có nguồn cấp dữ liệu ics, đã cố gắng thêm nó vào Lịch Google với "Thêm theo url", gặp lỗi chung "Không thể thêm lịch đã nhập".

Tôi đã tìm kiếm trên web, đã tìm thấy một vài câu hỏi chưa được giải quyết có liên quan từ một thời gian trước đây. Rất nhiều người phàn nàn về tính không thể đoán trước của chức năng này.

Trong số những điều được đề xuất, tôi đã thử làm rối tung các tiêu đề, bao gồm nguồn cấp dữ liệu dưới dạng tệp đính kèm, thực sự ghi tệp vào đĩa và cung cấp cho Google Calendar liên kết tĩnh. Không có gì hiệu quả. Tại một số điểm cuối cùng tôi đã nhận thấy rằng Lịch Google thậm chí không cố gắng tìm nạp nguồn cấp dữ liệu, vì không có lần truy cập nào đạt đến url và không có nhật ký nào hiển thị trên máy chủ.

Vì vậy, tôi đã bắt đầu thử nghiệm với một thùng yêu cầu và với một đường hầm địa phương. Vẫn không có gì. Cuối cùng, tôi đã mở bảng điều khiển trình duyệt để thử và xem xét các yêu cầu được thực hiện bởi trang web Lịch Google khi bạn nhấn "thêm bằng url" ... và nguồn cấp dữ liệu của tôi đã được nhập!

Tôi không có giải thích hợp lý cho điều đó. Tôi ước tôi có một câu trả lời hoàn hảo cho tất cả các vấn đề "Add By Url" của Lịch Google, nhưng tại thời điểm này tôi chỉ có thể thêm kinh nghiệm của riêng mình vào hy vọng nó chứng tỏ hữu ích cho người khác với cùng một cuộc đấu tranh.

Bây giờ nguồn cấp dữ liệu của tôi được tạo bằng thư viện xuất sắc Sabre/vObject. Nhưng nó thậm chí không được xác nhận bởi bất kỳ trình xác nhận trực tuyến nào. Tôi có xu hướng nghĩ rằng đó là lỗi thời và nguồn cấp dữ liệu của tôi thực sự khá ổn. Hơn nữa, tôi không gặp vấn đề gì khi nhập cùng một nguồn cấp dữ liệu này vào iCal của Mac và nhập các sự kiện trong Lịch Google bằng tùy chọn "Nhập tệp".

Việc tôi thực hiện việc này là Lịch Google sử dụng "bộ nhớ đệm" rất nhiều và phần khó nhất là lấy nguồn cấp dữ liệu của bạn trong hệ thống. Khi nó ở đó, bạn sẽ ổn thôi. Thực tế là nguồn cấp dữ liệu icalendar chỉ được cập nhật sau mỗi 8 giờ hoặc hơn là nổi tiếng và documented. Có lẽ mở thanh tra chrome thực sự đã giúp. Những điều kỳ lạ đã xảy ra.

Tuy nhiên, điều tôi có thể xác nhận là hầu hết những thứ khác đều không quan trọng: Tôi không sử dụng tệp đính kèm và tiêu đề đọc "Loại nội dung: văn bản/lịch; charset = UTF-8". Nguồn cấp dữ liệu của tôi không hoàn hảo, ví dụ: nó có một số UID trống. Ngoài ra, máy chủ nhấn mà thực sự khiến nó hoạt động được phát hành vào thời điểm tôi đã nhập thành công nguồn cấp dữ liệu, do đó không có yếu tố thời gian ở đây và IP từ Google, do đó không tìm nạp phía ứng dụng khách.

+1

Cảm ơn bạn ít nhất đã mô tả các bước của bạn, ngay cả khi nó không đưa ra kết luận dứt khoát! – Luc

1

Vấn đề tương tự ở đây. Tôi đã có một URL rất dài với nhiều dữ liệu được mã hóa, nhưng tôi chắc chắn rằng URL là 100% theo thông số kỹ thuật. Trong nhật ký máy chủ, tôi có thể thấy rằng Google thậm chí không cố tải nguồn cấp dữ liệu, nó chỉ từ chối nó với lỗi chung. Thật không may, như MSIE6 đã được một thời gian trước đây, google là quá lớn để bỏ qua và họ có thể nhận được đi với bất cứ điều gì, vì vậy bây giờ nó là vấn đề của tôi để giải quyết.

tôi thử như sau:

  • thêm.ical vào URL;
  • mã hóa các dữ liệu URL-mã hóa như hexadecimals thay;
  • thêm thông số ngẫu nhiên để tránh lưu vào bộ nhớ cache;
  • sử dụng tên miền phụ mới được tạo thay vì thư mục con;

và có thể nhiều hơn mà tôi không nhớ. Tất cả vô ích.

Cuối cùng tôi đã sử dụng tên miền phụ mới và viết tất cả các dữ liệu được mã hóa vào một tập tin. Bây giờ URL trông giống như sau: http://ical.example.net/?id=7. Những công việc này. Vì không có lý do rõ ràng, một URL rất ngắn sẽ chỉ hoạt động.

Nó không có gì để làm với các nội dung ical. Các dữ liệu không bao giờ thay đổi, nó không thể được rằng Google có một bộ nhớ cache xấu (tôi đã có thể nhìn thấy yêu cầu mà họ sẽ có bộ nhớ đệm, không bao giờ có một).

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