钉钉上传文件,不用上传钉盘。直接生成下载链接。看我这里就对了
评论
收藏

钉钉上传文件,不用上传钉盘。直接生成下载链接。看我这里就对了

经验分享
总有人间一两风
2025-08-19 11:07·浏览量:687
总有人间一两风
影刀专家
发布于 2025-08-19 11:06更新于 2025-08-19 11:07687浏览

这个不占用钉盘内存,还是有点香的。话不多说上代码


# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import requests
import json


# 1.获取接口凭证
def getAccess_token():
    # 从小程序应用信息处获取
    appkey = ''
    appsecret = ''

    url = 'https://oapi.dingtalk.com/gettoken?appkey=%s&appsecret=%s' % (appkey, appsecret)

    headers = {
        'Content-Type': "application/x-www-form-urlencoded"
    }
    data = {'appkey': appkey,
            'appsecret': appsecret}
    r = requests.request('GET', url, data=data, headers=headers)
    access_token = r.json()["access_token"]

    return access_token


# 2.获取Midia_id
def getMedia_id(file_path):
    access_token = getAccess_token()
    # 本地文件的绝对路径

    url = r'https://oapi.dingtalk.com/media/upload?access_token=%s&type=file' % access_token
    files = {'media': open(file_path, 'rb')}
    data = {'access_token': access_token,
            'type': 'file'}
    response = requests.post(url, files=files, data=data)
    json = response.json()
    return json["media_id"]


# 3.文件发送
def SendFile(chat_id,file_path):
    access_token = getAccess_token()
    media_id = getMedia_id(file_path)
    # 获取群聊Id
    chatid = chat_id

    url = 'https://oapi.dingtalk.com/chat/send?access_token=' + access_token
    header = {
        'Content-Type': 'application/json'
    }
    data = {'access_token': access_token,
                'chatid': chatid,
                'msg': {
                    'msgtype': 'file',
                    'file': {'media_id': media_id}
                }
            }
    r = requests.request('POST', url, data=json.dumps(data), headers=header)
    print(r.json())

def main(args):
    pass

调用这个接口就可以了 SendFile()


chat_id怎么来呢, https://open.dingtalk.com/tools/explorer/jsapi?id=10303  这个网址,输入你的公司的corpid  然后手机钉钉扫码测试。点击对应的群就会返回给你了

收藏8
全部评论1
最新
发布评论
评论