18

Tôi đang cố gắng tìm hiểu cách tôi có thể thêm nút vào cửa sổ soạn thư Gmail.API tiện ích/tiện ích mở rộng Gmail - cách thêm nút vào thanh công cụ soạn thư?

Trong "Gmail Labs", chúng có một số tiện ích mở rộng thêm một số nút nhất định

Tôi đã kiểm tra API here và có vẻ như bạn có thể thêm tiện ích vào thanh bên bên trái hoặc sử dụng tiện ích theo ngữ cảnh phụ thuộc vào ngữ cảnh tin nhắn. Tôi đang tìm một cách để thêm một nút vào thanh công cụ của cửa sổ soạn thư, và cả hai tùy chọn dường như không hỗ trợ nó.

Bạn có biết cách thực hiện việc này không?

Nếu không thể sử dụng API Gmail, có cách nào khác để tôi có thể đạt được điều này không? Có thể bằng cách tạo tiện ích mở rộng Google Chrome hoặc tập lệnh người dùng?

Tôi sẽ đánh giá cao bất kỳ thông tin nào có thể hướng dẫn tôi đi đúng hướng.

Cảm ơn.

+0

Bạn đã trải qua bất kỳ việc gì về vấn đề này chưa? –

+1

Xem http://stackoverflow.com/a/35192213/165673 cho giải pháp của tôi – Yarin

Trả lời

23

Gmail Labs có các quyền đặc biệt vì chúng được viết bởi Nhân viên của Google, rất tiếc là chúng tôi không có quyền lực như vậy. Có một cách xung quanh nó tất nhiên và bạn đã chỉ ra một cách chính xác rằng nó là để thực hiện một Chrome Extension hoặc một UserScript. Nếu bạn chọn thực hiện Tiện ích mở rộng của Chrome it will just be a wrapper for a UserScript anyway

Bạn sẽ phải tạo và chèn nút theo chương trình. Điều này sẽ liên quan đến một chút cọ rửa mã nguồn Gmail (spoiler: it's ugly).

Nếu không có thêm chi tiết về những gì bạn muốn làm, tôi sẽ không thể cung cấp trợ giúp nhiều hơn nữa nhưng tôi có thể giúp bạn ngay lập tức. Bạn phải làm cho tập lệnh của mình đợi cho đến khi quá trình tải Gmail hoàn tất, đó là một chút thách thức. Đây là giải pháp tôi hiện đang sử dụng trong Minimalist:

function bootstrap() { 
    target = document.querySelectorAll('.vt:not(.SFzvCe)'); 
    if (document.querySelectorAll('html.xiu1Fc, html.aao')[0] == null) { 
     return; 
    } 
    if (target.length > 0) { 
     // loaded, do stuff 
    } else { 
     window.setTimeout(bootstrap, 200); 
    } 
} 
window.addEventListener('DOMSubtreeModified', bootstrap); 

Phiên bản đó chờ trò chuyện tải đầy đủ. Hãy cho tôi biết nếu bạn có bất kỳ câu hỏi nào khác: @anstosa

+0

Bất kỳ con trỏ nào cho API không chính thức hoặc cách trích xuất các phần tử từ giao diện người dùng GMail? –

+3

Người duy nhất tôi biết là [Gmailr] của James Yu (http://www.jamesyu.org/2011/02/05/introducing-gmailr-an-unofficial-javscript-api-for-gmail/). Tôi đã không sử dụng nó cá nhân nhưng tôi đã nhìn vào mã và nó thực hiện rất tốt và khá đầy đủ tính năng. –

+1

Tại thời điểm này [gmail.js] (https://github.com/KartikTalwar/gmail.js) trông giống như thư viện tốt hơn, lấy cảm hứng từ Gmailr. Ngoài ra còn có một dự án [chrome extension] (https://github.com/KartikTalwar/gmail-chrome-extension-boilerplate) để giúp bạn bắt đầu. – Yarin

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