Github REST API完整示例

时间:2017-12-18 21:55:10

标签: rest github

我想使用github REST API在my github存储库中创建一个新文件。我发现以下link,但说实话,我不明白(

据我了解,我可以做POST

网址https://api.github.com/repos/MyUserName/MyRepositoryName

接受:application / vnd.github.v3 + json

{
  "message": "my commit message",
  "committer": {
    "name": "My name",
    "email": "my email"
  },
  "content": "base64encoded"
}

但它不起作用。你能不能写,

1)我应该拨打哪个网址

2)此请求应包含哪些标题

3)身体应该是什么

2 个答案:

答案 0 :(得分:3)

你很接近:)让我们假设,

1)您的登录信息: YourUsername

2)您的访问令牌: 123a321

3)要更新的存储库: YourRepo

4)要创建的文件: file.txt

5)包含新文件的文件夹: f1 / f2

根据您的要求应遵循的假设:

输入PUT

网址https://api.github.com/repos/YourUsername/YourRepo/contents/f1/f2/file.txt

标题

{
 "Content-Type" : "application/vnd.github.v3+json",
 "Authorization" : "token 123a321"
}

正文

{
  "message": "my commit message",
  "committer": {
    "name": "My name",
    "email": "my email"
  },
  "content": "base64encoded"
}

答案 1 :(得分:0)

解决方案:为了对github API执行操作,您可以使用curl 根据Github文件:

  1. 首先请确保您具有为帐户生成的特定特权和身份验证令牌,以便与Github api进行交互:
  

个人资料设置->开发人员设置->个人访问令牌->生成新令牌

  1. 该命令应位于路径PUT上的http /repos/:owner/:repo/contents/:path方法中
  2. 必需的参数,用于编辑或添加新文件(根据api) 消息(String),内容(String)和sha(String),其他参数是branch(String)commiter(String)和author(String)

为了执行操作,让我们执行一些curl消息,这种情况的简单公式为:

curl --user <userName>:<token>
--data '{"key":"value"}'
--header <HeaderType>
--request <HTTPMethod>
<fullURL>

为了演示,让我们填写一些细节:

 curl --user johnDoe:abc123!@#
 --data '{"message":"my message","content":"my content","sha":"abcjfhtenf736gd843ji43903"}'
 --header Content-Type:application/json
 --request PUT
https://api.github.com/repos/MyOrganization/MyCoolApp/contents/app/models
  1. 在Github上验证内容已正确插入分支机构中