下面是我的代码,我先将https://github.com/xxx/xxx
类型的 URL 转换成https://api.github.com/repos/xxx/xxx
,然后使用 github API 获取数据,但是在Base64.decode64
这个地方,如果content
中有中文会乱码;
def fetch_from_github
git_repos = params[:git_repos]
git_repos = git_repos.gsub(/https:\/\/[www.]?github.com\//,'https://api.github.com/repos/')
api_git_repos = git_repos + '?client_id=xxxxxxx&client_secret=xxxxxxxxx'
open(URI.parse(api_git_repos)) {|http| @repos_desc = JSON.parse(http.read)}
api_readme = git_repos + '/readme' + '?client_id=xxxxxxxx&client_secret=xxxxxxxx'
open(URI.parse(api_readme)) { |http|
response = http.read
@readme = Base64.decode64(JSON.parse(response)['content'])
}
end
还有一个问题,发送请求的时如果不带 client_id 和 secret 的话,会限制访问次数,怎么把这两个参数写到配置文件在这里调用?或者有其他的方式调用 Github API?第一次用 Github 的 API,请各位大神指点!!谢谢!!
另外推广一下网站:http://emextensions.org/,最近改了点内容