前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从 GitHub 上获取文件内容

从 GitHub 上获取文件内容

作者头像
凌虚
发布2020-07-20 11:41:00
1.9K0
发布2020-07-20 11:41:00
举报
文章被收录于专栏:Node Python Go全栈开发

我依稀记得 Java 的 Spring Cloud 中有一个重要的部分就是集中配置:

如图所示,将后台服务的配置文件集中存储于远程的 GitHub 库,然后通过配置服务去拉取库中的配置信息,而不同的微服务则统一通过配置服务获取其需要的配置信息。

集中配置有什么好处? 假设我们后台的三个应用程序都是操作同一个数据库,而某一天这个数据库的账号密码被修改了或者干脆迁移到了另一个库,如果没有集中配置我们就不得不在每一个程序中修改数据库的配置,反之,如果使用了集中配置的方式,我们就只需要修改一次配置文件即可。

当然 GitHub 作为一个开放的平台用来存储配置文件完全没问题,而存储了之后怎么读取呢,这才是我想说的内容,也是本文的标题:从 GitHub 上获取文件内容。

01

Developer API

如何从 GitHub 上获取文件内容,我的第一反应是爬虫啊,地址都知道直接爬就行了嘛,没错,爬虫没问题啊,但是爬下来还需要额外去抓取指定标签才能获取到你想要的内容,而直接使用 GitHub 提供的 API 接口显然更方便。

这里我们使用 REST API v3 版本,地址:https://developer.github.com/v3/ 。

获取指定库中文件内容的接口文档:

示例:

上述内容对公开库没问题,但是如果是私有库呢,我们就必须加上认证信息了。

02

私有库认证

私有库操作必须经过认证,而对于认证,最基础的 Basic Authentication,也就是输入用户名和密码:

然而,这种明文的用户名和密码显然不够安全。

OAuth 认证:我想用自己的微信直接登录另一个第三方应用进行操作怎么办,这时第三方应用就必须向微信进行认证授权,这就是 OAuth 认证的一种使用场景。而这里我们并没有第三方的参与,因此 OAuth 认证不太适合。

那么有没有一种更适合的认证方式呢,当然有啊! GitHub 有另一种专门的认证方式:Personal Access Token 。

为此,我们需要进入 settings -> Developer settings -> Personal access tokens 进行配置:

点击创建新的tokens,填写描述信息,并添加 repo 的操作权限:

成功创建后生成 token(红色注掉的字符串):

图示中我创建了一个 config for mysql 的 token,对私有库操作时只需要加上这个 token 就可以进行认证了:

上述 token 是可以随时更新和删除的,显然更好用。

本文简单描述了如何从 GitHub 上获取文件内容,完。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Node Python Go全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档