Github API 响应“内容无效 Base64”

Sta*_*ers 3 ruby rest base64 github-api

使用 API 将某些非常简单的内容发布到 github 时,我收到“内容无效 Base64”错误。内容是

 unit = $("<li  class='s   clearfix'></li>");
Run Code Online (Sandbox Code Playgroud)

我正在使用 Base64.urlsafe_encode64 对内容进行编码。

content = 'unit = $("<li  class=\'s   clearfix\'></li>")';
url = "https://api.github.com/repos/#{github_user}/#{github_repo}/contents/#{path}"
RestClient.put(url, 
                   { 
                      message: "my message", 
                      content: Base64.urlsafe_encode64(content), 
                      encoding:"base64" }.to_json,
                   { 
                      params:{access_token:access_token
                   },accept:'json'}){ |response, request, result| 
   puts response.code
   puts response
}
Run Code Online (Sandbox Code Playgroud)

我得到这个回应:

422
{"message":"content is not valid Base64",
 "documentation_url":"https://developer.github.com/v3/repos/contents/"}
Run Code Online (Sandbox Code Playgroud)

我不明白这对 github 来说如何不能是有效的 base64。并不是所有提交的数据都会发生这种情况。

content='unit = $("<li  class=\'s   clearfix\'></li>")'
Base64.urlsafe_decode64(Base64.urlsafe_encode64(content))==content
=> true
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?