这篇文章是在iphone上编写+上传
网上好像目前为止应该还没有这类功能吧,也可能我没看到,不过也没啥,原理很简单,实现起来也不难。主要是利用了githubAPI的put请求 github API
iOS的快捷指令也很好编写。
快捷指令
mdGo
记得打开在共享表单中显示,更新同名文件,出现失败提示不要慌,点确定
iPicGo
外加一个上传图像的(根据网上一个脚本改的),两个是相同的原理:
Github API
1 | https://api.github.com/repos/<userName>/<repoName>/contents/<path>/<fileName> |
更新同名文件
但是上面这个有个问题,如果遇到同名文件,会返回错误信息:
1 | {"message":"Invalid request.\n\n\"sha\" wasn't supplied. |
这个返回的意思是少了一个 sha 的参数,sha 可以理解为文件的 id(动态变化)
所以我们如果想要覆盖同名文件,需要先获取文件的 sha 值。
- Get 请求获取 sha
1 | https://api.github.com/repos/<userName>/<repoName>/contents/<path>/<fileName> |
返回的 response 中,有 sha 值
- 然后再次用 put 请求,但是要在请求体中加 sha 值
然后就可以替换了