开源项目 使用 Base64 解码 Github API 取到的 Content 字段乱码

tyaccp_guojian · 2013年10月10日 · 5133 次阅读

下面是我的代码,我先将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/,最近改了点内容

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号