2017-03-20 12 views
6

Tôi đang cố gắng để có được thông tin tương tự trên GitHub được hiển thị trên trang https://github.com/notifications. Thật không may, tiêu chuẩn notifications API không thực sự khớp với chế độ xem đó.Cách nhận thông báo API GitHub khớp với trang thông báo

Nếu tôi nhận được thông báo từ API đó (ngay cả với participating=false), tôi không thấy tất cả các mục hiển thị trên trang web. Mặt khác, API dường như dựa trên ý tưởng last_read_at và những thứ tôi đã thấy trên trang web không tự động biến mất khỏi danh sách thông báo.

Có cách nào (không cạo trang web) để có cùng chế độ xem /notifications không?

+0

Dựa trên các tài liệu liên quan tham số này nên kiểm soát xem các bài đọc nên phải được hiển thị hay không: '' 'tất cả boolean Nếu đúng, hiển thị thông báo được đánh dấu là đã đọc. Mặc định: false '' 'Nhưng nếu không có mã của bạn thì khó có thể nói bất cứ điều gì chính xác hơn. –

+0

Thông số đó tương ứng với ý tưởng API "đã đọc" không may. Nếu bạn nhấp vào liên kết trên trang web, API sẽ không biết bất kỳ điều gì đã thay đổi. – viraptor

Trả lời

2

API của GitHub hỗ trợ phân trang cho các yêu cầu trả về danh sách, do đó API sẽ trả lại mặc định là 30 thông báo trên mỗi trang. Những gì tôi đề nghị là đặt kích thước mặc định là 100 và sau đó bắt đầu từ trang 1 và gọi trang tiếp theo cho đến khi không có kết quả nào, ví dụ: :

<https://api.github.com/notifications?page=1&per_page=100>; rel="next" 
<https://api.github.com/notifications?page=2&per_page=100>; rel="next" 
...and so on till you get an empty list then you stop 

Các rel = "bên cạnh" là một liên kết Tiêu đề đó được giải thích ở đây: https://developer.github.com/v3/#pagination

Hope this helps

+0

Tôi đã đánh dấu trang và nó không thực sự ảnh hưởng đến vấn đề này. Khi mục bị thiếu, vẫn không có tiêu đề "Liên kết" để theo dõi. Vấn đề cũng theo cách khác: Tôi thấy những thứ đã được đánh dấu là đã đọc trên giao diện web. – viraptor

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