钉钉添加文件接口,上传文件字段?https://open.dingtalk.com/document/isvapp/add-folder
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在钉钉开放平台中,添加文件接口用于上传文件到指定的文件夹或目录。以下是关于上传文件字段的详细说明和配置步骤:
上传文件接口允许开发者通过调用钉钉开放平台的API,将文件上传至钉钉的文件管理系统。上传文件时需要提供以下关键字段:
字段名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
media | File | 是 | 需要上传的文件内容,支持多种文件类型(如图片、文档等)。 |
folder_id | String | 否 | 文件夹ID,用于指定文件上传的目标文件夹。如果为空,则上传至根目录。 |
name | String | 是 | 文件名,需包含文件扩展名(如example.docx )。 |
space_id | String | 是 | 文件存储空间ID,标识文件所属的存储空间。 |
在调用上传文件接口之前,需要完成以下准备工作:
确保已为应用开通相关接口权限,具体包括: - 个人手机号信息 - 通讯录个人信息读权限 - 企业员工手机号信息 - 邮箱等个人信息 - 通讯录部门信息读权限 - 成员信息读权限 - 通讯录部门成员读权限
权限范围需设置为全部员工。
为了保证接口调用的安全性,需完成以下配置: 1. 在安全设置页面,设置调用钉钉服务端API的服务器IP列表。 2. 将重定向URL(回调域名)设置为https://login.aliyuncsas.com/open-dev/dingtalk
。 3. 在分享设置页面,添加回调域名为https://login.aliyuncsas.com/open-dev/dingtalk
。
以下是上传文件的详细操作步骤:
在上传文件之前,需调用钉钉开放平台提供的接口获取上传凭证。上传凭证包含以下关键信息: - accessid
:访问标识。 - policy
:上传策略。 - signature
:签名信息。 - host
:上传的目标地址。 - expire
:凭证的有效期。
示例返回值:
{
"resultContent": {
"content": {
"accessid": "LTAI7z7XPfKU****",
"dir": "mds/tempFileForOnex/ONEXE9B092D/test/PUQYHL/8b574cb7-3596-403f-a0e9-208660fc2081/",
"expire": "1584327372",
"host": "https://mcube-test.oss-cn-hangzhou.aliyuncs.com",
"policy": "QwM2YtYTBlOS0yMDg2NjBmYzIwODEvIl1dfQ==",
"signature": "kisfP5YhbPtmES8+w="
},
"resultMsg": "",
"success": true
},
"requestId": "8BAA3288-662E-422C-9960-2EEBFC08369F",
"resultCode": "OK"
}
使用获取到的上传凭证,通过HTTP POST请求上传文件。请求格式如下: - 请求方法:POST - 请求地址:https://open.dingtalk.com/upload/media
- 请求头: - Content-Type: multipart/form-data
- Authorization: Bearer {access_token}
media
:文件内容。folder_id
:目标文件夹ID。name
:文件名。space_id
:存储空间ID。private
),只有拥有适当权限的用户可以访问。x_oss_forbid_overwrite
参数控制。若设置为true
,则不允许覆盖。以下是一个简单的示例代码,展示如何通过HTTP请求上传文件:
import requests
# 获取上传凭证
def get_upload_token():
url = "https://open.dingtalk.com/get/upload/token"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer d1**2a"
}
params = {
"action": "getPolicy",
"model": "qwen-vl-plus"
}
response = requests.get(url, headers=headers, params=params)
return response.json()
# 上传文件
def upload_file(upload_token, file_path):
url = upload_token["data"]["upload_host"]
headers = {
"Content-Type": "multipart/form-data"
}
files = {
"media": open(file_path, "rb")
}
data = {
"folder_id": "your_folder_id",
"name": "example.docx",
"space_id": "your_space_id"
}
response = requests.post(url, headers=headers, files=files, data=data)
return response.json()
# 主流程
if __name__ == "__main__":
token = get_upload_token()
result = upload_file(token, "path/to/your/file.docx")
print(result)
通过上述步骤,您可以成功调用钉钉开放平台的文件上传接口,并将文件上传至指定的文件夹或存储空间。请确保在调用接口前完成必要的权限配置和安全设置,同时注意文件大小、权限和凭证有效期的限制。