5

Hiện nay, ứng dụng của tôi có khả năng giúp người dùng thêm một sự kiện duy nhất để lịch Google của họ:Tôi làm cách nào để giúp người dùng đăng ký lịch bên ngoài với lịch Google trên thiết bị Android?

final Intent calendarIntent = new Intent(Intent.ACTION_EDIT) 
     .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
     .setType("vnd.android.cursor.item/event") 
     .putExtra("beginTime", startTime) 
     .putExtra("endTime", startTime + 7200000L) // 2 hours 
     .putExtra("title", name) 
     .putExtra("description", description.toString()) 
     .putExtra("eventLocation", address); 

// later 
startActivity(calendarIntent); 

Tuy nhiên, nhiều người dùng muốn tự động thêm tất cả các sự kiện của họ vào lịch Google của họ. Nhóm máy chủ của chúng tôi đã tạo nguồn cấp dữ liệu ICS mà mọi người có thể subscribe to as an external Google calendar. Nhưng điều này liên quan đến việc sao chép và dán URL và gây nhầm lẫn cho người dùng cuối.

Trên web, chúng tôi có thể liên kết mọi người với URL có dạng http://www.google.com/calendar/render?cid=OUR_ICS_URL và họ sẽ có thể dễ dàng thêm nguồn cấp dữ liệu từ đó. Tuy nhiên, khi bạn truy cập URL này trên trình duyệt Android, bạn nhận được tất cả các loại cửa sổ bật lên lạ trên thiết bị di động so với các trang web trên máy tính để bàn và thậm chí người dùng Android nâng cao trong nhóm phát triển của chúng tôi không thể tìm hiểu cách thêm lịch từ đó .

Một điều tôi đã xem là API Lịch Google, nhưng có vẻ như số calendar list insert method của họ cần có ID lịch Google, không phải là URL tới lịch bên ngoài.

Vì vậy, có giải pháp nào tốt ở đây không? Dường như có một cách để giúp người dùng của chúng tôi đăng ký lịch của họ mà không yêu cầu họ truy cập máy tính để bàn và mở trình duyệt web có kích thước đầy đủ. Nhưng không có gì tôi đã thử đã mang lại bất kỳ kết quả nào.

Mọi suy nghĩ?

Trả lời

0

Có thể bạn có thể sử dụng AuthSub để xác thực người dùng của mình, sau đó bạn có thể sử dụng phương pháp chèn danh sách lịch. Tôi nghĩ rằng Zend framework thực hiện theo cách này.

+0

Theo như tôi có thể biết, phương pháp chèn danh sách lịch chỉ có thể chấp nhận ID lịch Google, không phải URL lịch bên ngoài tùy ý. Tui bỏ lỡ điều gì vậy? – mlc

+0

Tôi đoán bạn đã đúng, tôi chỉ nghĩ ngay lập tức rằng sẽ có cách để tái tạo chức năng getCalendarListFeed() của khung công tác Zend, vì chúng nêu trong tài liệu của họ: "Dịch vụ lịch hỗ trợ truy xuất danh sách các lịch để xác thực Đây là danh sách các lịch được hiển thị trong giao diện người dùng Lịch Google, ngoại trừ những lịch được đánh dấu là 'ẩn' cũng có sẵn. " Nhưng tôi không phải là chuyên gia của Zend, vì vậy việc phân tích điều này vượt xa tôi một chút. – Reggie

+0

Vâng, tôi vừa kiểm tra mã đằng sau hàm đó (trong không gian tên Zend_Gdata_Calendar) và có vẻ như chúng đang tự kéo trang web lịch (trong nền) từ URL bên ngoài và trích xuất thông tin từ DOM của nó. Không phải là một giải pháp thanh lịch cho một ứng dụng Android đơn giản, đó là chắc chắn. – Reggie

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