如何获取与通知站点匹配的GitHub API通知

8
我正在尝试从GitHub获得与https://github.com/notifications页面上显示的相同信息。不幸的是,标准的通知API与该视图并不完全匹配。
如果我使用该API获取通知(即使使用participating=false),我看不到网站上可见的所有项目。另一方面,该API似乎基于last_read_at的想法,并且我在网站上看到的东西不会自动从通知列表中消失。
有没有一种方式(不用爬取网站)来获取相同的/notifications视图?

根据链接的文档,该参数应控制读取线程是否需要显示: 所有布尔值。如果为真,则显示标记为已读的通知。默认值:false但是,如果没有您的代码,很难说更准确的内容。 - Lajos Veres
该参数对应于API的“读取”概念,但不幸的是,如果您在网站上直接点击链接,API将不知道任何更改。 - viraptor
1个回答

2

GitHub的API支持返回列表时的分页,因此API会默认返回每页30个通知。我的建议是将默认大小设置为100,然后从第1页开始调用下一页,直到没有结果为止,例如:

<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

rel="next"是一个链接头,这里解释了它的作用:https://developer.github.com/v3/#pagination

希望这可以帮到您。


我已经检查了分页,它并没有真正影响到这个问题。当项目丢失时,仍然没有“链接”头可供跟随。问题也存在另一方面:我在Web界面上看到已标记为已读的内容。 - viraptor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接