我正在尝试升级旧的Wordpress插件,该插件列出了用户在其网站上的最新提交。使用github API v2非常简单,但v3使它变得更加复杂。
功能方面,它非常简单:当插件运行时,它会列出Wordpress站点上的提交,并且每N分钟自动刷新一次内容(可由Wordpress管理员配置)。管理员只需要设置一次,它就会知道何时重新查询github以获取最新数据。
但是使用github API v3,任何获取公共数据的请求都需要OAUTH令牌。在一遍又一遍地阅读他们的文档之后,似乎无法按照我想要的方式自动化。
首先,我不想将用户的github密码存储在任何地方(因为它需要双向加密才能在API调用中使用,这是不够安全的),所以基本的身份验证方法是出。其中留下了“Web应用程序流程”示例(http://developer.github.com/v3/oauth/)。但这涉及将实际用户重定向到github以接受请求。这也不好。
我是否误解了任何内容,或者根本无法重新创建插件以便像现在一样工作?
如果我不清楚,请告诉我!
答案 0 :(得分:0)
但是使用github API v3,任何获取公共数据的请求都需要OAUTH令牌。
这根本不是真的。对于公共数据 - 您可以在不传递任何凭据的情况下查询GitHub的API端点。例如,请参阅此API调用以获取用户信息:https://api.github.com/users/izuzak
因此,要获取用户执行的所有事件,只需调用API,如下所示: https://api.github.com/users/izuzak/events
请注意,这会为您提供所有事件,而不仅仅是提交事件(例如,它还会让您监视事件),因此您必须将其过滤掉。有关所有事件类型,请参阅此内容:http://developer.github.com/v3/activity/events/types/
此外,不是调用API端点,而是始终选择:
但是,这两个都为用户提供了所有事件,而不仅仅是提交。