如何不登录上传文件至gitee,gitee免登录上传修改文件

gitee免登录上传修改文件, 一篇全搞定。实操经验分享,本案例适用于不想通过git工具上传文件至仓库。

解决方案

需要免密操作gitee仓库,可以通过gitee提供的私人令牌进行上传,私人令牌支持api服务上传。

gitee 私人令牌获取

1.登录gitee网址,点击头像->设置,到设置页面。
在这里插入图片描述
2.点击【私人令牌】,点击【生成新令牌】
在这里插入图片描述
3.随意填个名字,提交后,输入登录账户的密码,再次提交后,生成私人令牌。需要注意的是,私人令牌生成后,需要将令牌复制保存到自己的电脑中,生成弹框确认关闭之后,平台无法找回

---
在这里插入图片描述在这里插入图片描述

gitee Api服务使用

gitee api服务 文档地址直达链接
在这里插入图片描述

如何使用gitee api服务

1.支持网页测试,测试接口的时候想看得更仔细,可以打开浏览器的【开发者模式】,浏览器快捷键F12或者右键->检查均可打开。打开后切换至【网页】选项卡

--
在这里插入图片描述在这里插入图片描述

2.通过搜索框,搜索需要的文档,当前展示案例为【新建文件】接口。
在这里插入图片描述
3.【新建文件】接口,该接口为上传文件到仓库,需要注意的是,仅为上传新文件(文件名不可与仓库内同一路径下的文件名一致),如果某个文件需要更新,需要调用【更新文件】接口。

// 该接口为post请求,地址为 https://gitee.com/api/v5/repos/{owner}/{repo}/contents/{path}
/**
接口中的参数解释,带“*”号的参数为必填,其他参数不做过多解释
access_token:'已经申请的key',
owner:"A",gitee账户名,在【个人主页】获取,不理解的可以看下面的示意图
repo:"B",仓库地址,需要将文件传输至哪一个仓库,已配图
path:"test/A",文件上传路径,现有A文件需要上传至仓库根目录下,即path:"A",需要上传至test文件夹下即path:"test/A"
主要新增内容
content:'',base64文件
message:'' 随意写,等同于git中的commit信息
**/
// 最后用于请求的地址拼接 https://gitee.com/api/v5/repos/A/B/contents/test/A
---
在这里插入图片描述owner获取在这里插入图片描述

4.在线请求,请求成功后,文件也会加入到仓库中。页面提供了传参示例,也可通过浏览器控制台,查看该接口如何传参。可到上传仓库查看是否存在该文件。

---
在这里插入图片描述在这里插入图片描述新增成功

5.更多请求示例,这边就不赘述了,大家可以自己动手试试,本案例仅介绍基本使用方式。

在javascript 中 使用gitee api服务

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>

<body>
    <script>
        let obj = {
            "owner": gitee登录名,
            "repo": 仓库名,
            "path": 上传地址,
        }
        let url = `https://gitee.com/api/v5/repos/${obj.owner}/${obj.repo}/contents/${obj.path}`
        $.ajax({
            url,
            type: "POST",
            data: {
                "access_token": "申请的key",
                content: '123',
                "message": '提交',
            },
            dataType: "json",
            success: function (data) {
                console.log(data);
            }
        })
    </script>
</body>

</html>

在python 中 使用gitee api服务

需要使用到base64、requests模块,没有安装的话,需要先执行下面的代码进行安装。

pip install base64
pip install requests
import requests
import json
import base64
import os

base_url = 'https://gitee.com/api/v5/repos'
# 需要自行替换的部分 开始
access_token = 申请的key
owner = gitee登录名 # 用户仓库名称
repo = 仓库名  # 仓库名称
# 需要自行替换的部分 结束

branch = 'master' #分支名称
# 设置请求头,指定内容类型为JSON
headers = {
    'Content-Type': 'application/json'
}
# 文件转base64
def file_to_base64(file_path):
    # 打开文件并读取其内容
    with open(file_path, "rb") as file:
        # 读取文件内容
        file_content = file.read()
        # 使用base64对文件内容进行编码
        base64_string = base64.b64encode(file_content).decode('utf-8')
        return base64_string
        
# 新增文件
def addFile(content,message,filePath):
    url = base_url + f'/{owner}/{repo}/contents/{filePath}'
    # 要发送的数据
    data = {
        'access_token':access_token,
        'content':content,
        'message':message
    }

    # 将数据转换为JSON格式
    json_data = json.dumps(data)
    response = requests.post(url,data=json_data, headers=headers)
    # 检查请求是否成功
    if response.status_code == 201:
        # 获取响应内容
        content = response.json() 
        return content
    else:
        print(f'请求失败,状态码:{response.status_code}',response.json())  
#调用示例
addFile(file_to_base64(填写需要上传的文件相对路径),'新增',"填写上传地址")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值