Python 获取企业微信中微盘的文件列表

先说结论:企微api暂不支持获取微盘文件列表功能,且未来也不大可能支持.

过程:

一,首先按惯例,获取token

复制代码
import requests
def get_access_token(corpid, corpsecret):
    url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret}"
    response = requests.get(url)
    data = response.json()
    return data.get('access_token')

怎么从企微中找到corpid, corpsecret,自行搜索

这一步顺顺利利,可以连接成功

二,我尝试去拿文件列表,脚本如下

复制代码
def get_file_message(access_token):
    url = f"https://qyapi.weixin.qq.com/cgi-bin/wedrive/file_list?access_token={access_token}"
    data = {
        "spaceid": "s.1970325736989685.663049851sLo",
        "fatherid": "s.1970325736989685.663049851sLo",
        "sort_type": 1,
        "start": 0,
        "limit": 100
    }
    response = requests.post(url, json=data)
    return response.json()

怎么在企微中找到spaceid,也请自行搜索,我是用F12找到的

问题就出现在这一步,pycharm提示

{'errcode': 640008, 'errmsg': 'permision deny, hint: [1722830197123491071289534], from ip: 121.8.91.234, more info at https://open.work.weixin.qq.com/devtool/query?e=640008'}

进程已结束,退出代码为 0

点击错误提示的链接,显示如下图

说什么没有空间权限,WTF~

怎么会没有权限呢?我可是超级管理员呀,于是利用我的超级管理员权限在企微管理后台各种找各种设置无果,求助企微客服,老实了

企微官方技术支持-九九的解释进一步理解就是:

① 支持API创建微盘空间, 但不能以userid的身份创建,而是要以应用的身份创建,配置如下

②支持API上传文件,但是不支持用户上传文件,就算是管理员,也只能下载/预览文件

③支持API获取文件列表,但是仅支持获取API创建的空间的文件列表,而不支持用户在微盘客户端创建的空间, 所以才会有前文的报错:没有空间权限.

思考:为什么企业微信不提供此类api

微盘属于企微的收费服务之一,价格不菲(200元/人/年),如果api免费提供,那么就会被开发的第三方应用取代了.

相关推荐
小喵要摸鱼21 分钟前
Python 神经网络项目常用语法
python
一念之坤2 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
wxl7812272 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
NoneCoder2 小时前
Python入门(12)--数据处理
开发语言·python
LKID体3 小时前
Python操作neo4j库py2neo使用(一)
python·oracle·neo4j
小尤笔记3 小时前
利用Python编写简单登录系统
开发语言·python·数据分析·python基础
FreedomLeo13 小时前
Python数据分析NumPy和pandas(四十、Python 中的建模库statsmodels 和 scikit-learn)
python·机器学习·数据分析·scikit-learn·statsmodels·numpy和pandas
007php0074 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
Tech Synapse4 小时前
Python网络爬虫实践案例:爬取猫眼电影Top100
开发语言·爬虫·python
一行玩python4 小时前
SQLAlchemy,ORM的Python标杆!
开发语言·数据库·python·oracle