1

我正在尝试升级一个旧的 Wordpress 插件,该插件在他们的网站上列出了用户的最新提交。使用 github API v2 非常简单,但是 v3 使它变得更加复杂。

功能方面,它非常简单:当插件运行时,它会列出 Wordpress 站点上的提交,并每 N 分钟自动刷新其内容(可由 Wordpress 管理员配置)。管理员只需设置一次,它会计算出何时重新查询 github 以获取最新数据。

但是对于 github API v3,任何获取公共数据的请求都需要 OAUTH 令牌。在一遍又一遍地阅读他们的文档之后,似乎无法自动按照我想要的方式工作。

首先,我不想将用户的 github 密码存储在任何地方(因为在 API 调用中使用它需要进行双向加密,这不够安全),所以基本的身份验证方法已经失效。此处留下“Web 应用程序流程”示例 (http://developer.github.com/v3/oauth/)。但这涉及将实际用户重定向到 github 以接受请求。这也不好。

我是否误解了任何东西,或者根本不可能重新创建插件以像现在一样工作?

如果我不清楚任何事情,请告诉我!

4

1 回答 1

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 端点:

尽管如此,这两者都为您提供了用户的所有事件,而不仅仅是提交。

于 2013-04-02T13:35:50.983 回答