当前位置:   article > 正文

用Python操作github api创建仓库,上传index.html文件,并创建github page页面_python github api

python github api

想使用github token创建一个一条龙的服务,那就是创建仓库,添加index文件, 并发布github page页面,就需要对全流程的api有了解,今天我操作了一番,记录一下流程。

第一步,创建仓库的API

先创建一个仓库:

  1. import requests
  2. import json
  3. url = "https://api.github.com/user/repos"
  4. payload = json.dumps({
  5. "name": "仓库名称",
  6. "description": "This is your first repo!",
  7. "homepage": "https: //github.com",
  8. "private": False
  9. })
  10. headers = {
  11. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)',
  12. 'Content-Type': 'application/json',
  13. 'Authorization': 'Bearer 你自己的token'
  14. }
  15. response = requests.request("POST", url, headers=headers, data=payload)
  16. print(response.text)

发送完请求之后,就会出现一个仓库,我这里用的HelloWorld仓库名:

 

第二步,添加一个index.html

创建一个index.html页面,用于github page页面使用。先创建一个简单地html页面:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Github page</title>
  8. </head>
  9. <body>
  10. 这是Github page页面
  11. </body>
  12. </html>

然后用python发送请求上传:

  1. import base64
  2. import json
  3. import requests
  4. def read_file(file_path):
  5. with open(file_path, "rb+") as f:
  6. return f.read()
  7. def add_file(path, content, message):
  8. url = f"https://api.github.com/repos/用户名/仓库名/{path}"
  9. GIT_TOKEN = 你的token
  10. headers = {"Authorization": f"Bearer {GIT_TOKEN}",
  11. 'Accept': 'application/vnd.github.v3+json',
  12. 'Content-Type': 'application/json'}
  13. base64_content = base64.b64encode(content).decode('utf-8')
  14. payload = json.dumps({
  15. "message": message,
  16. "branch": "gh-pages",
  17. "content": base64_content
  18. })
  19. print("开始推送文件....")
  20. response = requests.request("PUT", url, headers=headers, data=payload)
  21. print(response.text)
  22. if __name__ == '__main__':
  23. file = read_file("index.html")
  24. add_file("index.html", file, "添加文件")

 上传完成之后,就会在仓库看大这个文件:

第三步,发布github page

开始发布github page页面,branch一般写main,path表示你的index.html页面的路径,/表示根目录:

  1. import requests
  2. import json
  3. url = "https://api.github.com/repos/用户名/仓库名/pages"
  4. payload = json.dumps({
  5. "source": {
  6. "branch": "分支",
  7. "path": "/"
  8. }
  9. })
  10. headers = {
  11. 'User-Agent': 'Apifox/1.0.0 (https://www.apifox.cn)',
  12. 'Content-Type': 'application/json',
  13. 'Authorization': 'Bearer 你的token'
  14. }
  15. response = requests.request("POST", url, headers=headers, data=payload)
  16. print(response.text)

请求发送完之后,返回的响应里面,就有你的github page页面地址:

 

直接访问,就可以看到你的index.html页面内容:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/861475
推荐阅读
相关标签
  

闽ICP备14008679号