思路背景:

初衷源于在学习高级课程第五章-控制台的演示案例:将本地文件自动上传至维格表的指定记录,并获取该记录在网页上的访问链接。然而,由于我目前没有可用的维格表环境,因此决定转换技术思路——借助百度网盘的开放API来实现文件上传的核心功能。
以下是我在申请百度网盘API、获取access_token、并在影刀中实现文件上传功能。
重要提示:百度网盘的分享功能需要企业认证+付费,个人开发者只能使用上传功能。本文重点分享上传功能,如需分享请手动操作。
前期准备:
项目 | 说明 |
百度账号 | 需要实名认证 |
影刀RPA | 6.0以上版本 |
Python环境 | 影刀内置,无需额外安装 |
访问 百度网盘开放平台,点击右上角「控制台」。
https://pan.baidu.com/union/home

首次使用需要完成实名认证(个人身份证即可)。
1. 点击「创建应用」
2. 应用类别选择 「软件」
3. 应用名称随便填,比如 上传工具
4. 点击「立即创建」


创建成功后,会看到三个重要信息:
App ID: 2583**24
App Key: xxxxxxxxxxxxxx
Secret Key: xxxxxxxxxxxxxx
参数 | 说明 | 作用 |
App ID | 应用唯一标识 | 用于拼接授权链接 |
App Key | API密钥 | 相当于"账号" |
Secret Key | 密钥 | 相当于"密码",请保密 |
access_token 是调用API的"通行证",有效期30天。
以下是最简单的获取方式:
最稳妥的方式是用简化模式在浏览器里直接把你的AppKey替换到以下地址:
访问后登录授权,然后地址栏的地址会发生变化
从新地址 #access_token= 后面复制那一整段
2. 复制时注意
· 只复制 access_token= 后面的内容,到下一个 & 符号之前为止
· 不要复制多余的字符
· 可以先把 token 粘贴到记事本里,确认没有空格或换行
扩展知识
如果不知道自己的token是否有效,可以在影刀新建一个python模块测试:
代码如下:
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import requests
def main():
access_token = "你的TOKEN"
url = "https://pan.baidu.com/rest/2.0/xpan/nas"
params = {
"method": "uinfo",
"access_token": access_token
}
response = requests.get(url, params=params)
result = response.json()
print(result)
if result.get("errno") == 0:
print(f"Token 有效!用户名: {result.get('username')}")
return result.get("username")
else:
print(f"Token 无效或已过期: {result}")
return None
在影刀中点击 「扩展」→「Python包管理」,搜索 requests 并安装。
在影刀流程中新建一个「Python模块」,写入以下代码:
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import requests
import os
def upload_file(file_path):
"""上传文件到百度网盘,返回文件路径"""
access_token = "你的token连接"
app_name = "xxxxxx" # 替换成你的实际应用名称
filename = os.path.basename(file_path)
remote_path = f"/apps/{app_name}/{filename}"
# 上传文件
upload_url = "https://d.pcs.baidu.com/rest/2.0/pcs/file"
params = {
"method": "upload",
"access_token": access_token,
"path": remote_path,
"ondup": "overwrite"
}
with open(file_path, 'rb') as f:
files = {'file': (filename, f)}
response = requests.post(upload_url, params=params, files=files)
result = response.json()
if result.get('error_code', 0) != 0:
raise Exception(f"上传失败: {result}")
print(f" 上传成功!")
print(f" 文件位置: 网盘 -> 我的应用数据 -> {app_name} -> {filename}")
print(f" 如需分享,请登录网盘手动创建分享链接")
return result.get('path')
重要提醒
事项 | 说明 |
保护token | 不要把token发到网上,否则别人能操控你的网盘 |
token过期 | 30天后需重新获取 |
路径限制 | 个人开发者只能操作 /apps/应用名/ 目录 |
分享功能 | 需要企业认证+付费,个人用户请手动分享 |
调用模块后设置好调用参数运行就可以了上传到个人网盘上了

运行结果:
