Package: simple-pyyuque
Simple PyYuQue一个非官方的“语雀”的Python API 封装。提供和官方 API 类似的调用方式。设计简单，运行高效。详细文档说明参考https://www.yuque.com/yuque/developer/api安装pip 安装pipinstallsimple-pyyuquepipenv 安装pipenvinstallsimple-pyyuque快速开始1. 实例化spyq=SimplePyYuQueAPI(token="token",app_name="py_yuque")其中token是在语雀中 setting -> token 中申请 ，app_name为你的应用名称。2. 简单调用获取认证的用户的个人信息spyq=SimplePyYuQueAPI(token="token",app_name="py_yuque")u=spyq.User()user_serializer=u.get_user()可以更加简洁一点user_serializer=SimplePyYuQueAPI(token="token",app_name="py_yuque1").User().get_user()你还可以打印出原始报文print(user_serializer.base_response)基于用户 login 或 id 获取一个用户的基本信息。user=SimplePyYuQueAPI(token="token",app_name="py_yuque").User()print("==> Helixcs is%s",user.get_users(login="Helixcs").base_response)# ==> Helixcs is {'id': 104023, 'type': 'User', 'space_id': 0, 'account_id': 10838, 'login': 'helixcs', 'name': 'Helixcs', 'avatar_url': 'https://cdn.nlark.com/yuque/0/2018/png/104023/1539315567419-aad17f80-8365-4a08-af1e-e301a3c2c7f5.png', 'large_avatar_url': 'https://cdn.nlark.com/yuque/0/2018/png/104023/1539315567419-aad17f80-8365-4a08-af1e-e301a3c2c7f5.png?x-oss-process=image/resize,m_fill,w_320,h_320', 'medium_avatar_url': 'https://cdn.nlark.com/yuque/0/2018/png/104023/1539315567419-aad17f80-8365-4a08-af1e-e301a3c2c7f5.png?x-oss-process=image/resize,m_fill,w_160,h_160', 'small_avatar_url': 'https://cdn.nlark.com/yuque/0/2018/png/104023/1539315567419-aad17f80-8365-4a08-af1e-e301a3c2c7f5.png?x-oss-process=image/resize,m_fill,w_80,h_80', 'books_count': 3, 'public_books_count': 2, 'followers_count': 3, 'following_count': 3, 'public': 1, 'description': 'Java 糊口，Python 兴趣', 'created_at': '2018-04-23T02:43:33.000Z', 'updated_at': '2018-12-07T17:00:03.000Z', '_serializer': 'v2.user_detail'}详细API参考官方文档：https://www.yuque.com/yuque/developer/userAPI 说明与示例1. User 用户获取认证的用户的个人信息user_api=SimplePyYuQueAPI(token="token",app_name="py_yuque1").User()print(user_api.get_user())print(user_api.user)返回:UserSerializer获取单个用户信息user.get_users(login="Helixcs")user.get_users(id=104023)返回:UserSerializer获取我创建的文档user.get_user_docs()user_api.get_user_docs(q='',offset=1)返回:Array<DocSerializer>获取我最近参与的文档/知识库user.get_user_recent_updated()user.get_user_recent_updated(type=UserDescriptionType.BOOK)user.get_user_recent_updated(type="Doc")返回:Array<DocSerializer>或Array<BookSerializer>2. Group 组织获取某个用户的加入的组织列表group_api=SimplePyYuQueAPI(token="token",app_name="py_yuque1").Group()group_api.get_users_groups(login="Helixcs")返回：Array<UserSerializer>获取公开组织列表group_api.get_public_groups()group_api.public_groups返回：Array<UserSerializer>创建 Groupgroup_api.post_group(name="Helixcs 的组织名称",login="Helixcs123",description="Helixcs 的组织描述")返回：UserSerializer访问：https://www.yuque.com/<login>查看新建 Group。获取单个组织的详细信息group_api.get_groups_detail(id=225250)group_api.get_groups_detail(login="Helixcs123")# https://www.yuque.com/helixcs123返回：UserSerializer更新单个组织的详细信息group_api.put_groups(login="Helixcs123",name="Helixcs 的组织名称更新1次",login_update="Helixcs456",description="Helixcs123 更新为Helixcs456")group_api.update_groups(login="Helixcs123",name="Helixcs 的组织名称更新2次",login_update="Helixcs123",description="Helixcs123 更新为Helixcs456")# 访问: https://www.yuque.com/helixcs123返回：UserSerializer访问：https://www.yuque.com/<login>删除组织group_api.delete_groups(login="Helixcs456")group_api.delete_groups(id=225250)返回：UserSerializer获取组织成员信息# 这里的 login 为 group namegroup_api.get_groups_users(login="Helixcs456")# 这里的 id 为 group_idgroup_api.get_groups_users(id=225250)返回：Array<GroupUserSerializer>增加或更新组织成员group_api.put_groups_users(group_login="Helixcs456",login="OtherUser",role=1)group_api.update_group_users(group_login="Helixcs456",login="OtherUser",role=1)返回：GroupUserSerializer删除组织成员group_api.delete_groups_users(group_login="Helixcs456",login="OtherUser")group_api.delete_groups_users(group_id=225250,login="OtherUser")返回：GroupUserSerializer3. Repo 资源获取某个用户/组织的仓库列表repo_api=SimplePyYuQueAPI(token="token",app_name="py_yuque1").Repo()repo_api.get_users_repos(type="all",login="Helixcs")返回：Array<BookSerializer>创建新仓库res=repo_api.post_users_repos(name="Helixcs 的仓库123",slug="helixcs123",description="Helixcs 的仓库123",public=RepoPublic.ALL_OPEN,type=RepoType.BOOK,login="Helixcs",)res=repo_api.create_repos(name="Helixcs 的仓库123",slug="helixcs123",description="Helixcs 的仓库123",public=RepoPublic.ALL_OPEN,type=RepoType.BOOK,login="Helixcs",)# 访问：`https://www.yuque.com/helixcs/helixcs123`返回：BookDetailSerializer访问：https://www.yuque.com/helixcs/<slug>获取仓库详情res=repo_api.get_repos_detail(namespace="helixcs/helixcs123")res=repo_api.get_repos(namespace="helixcs/helixcs123")res=repo_api.get_repos_detail(id=189411)res=repo_api.get_repos(id=189411)返回：BookDetailSerializer更新仓库信息repo_api.put_repos(name="helixcs234 仓库",slug="helixcs234",toc="",description="Helixcs 仓库234",public=RepoPublic.PRIVATE,namespace="helixcs/helixcs123").base_responserepo_api.update_repos(name="helixcs234 仓库",slug="helixcs234",toc="",description="Helixcs 仓库234",public=RepoPublic.PRIVATE,namespace="helixcs/helixcs123").base_response# 访问：`https://www.yuque.com/helixcs/helixcs123` 跳转 `https://www.yuque.com/helixcs/helixcs234`返回：BookDetailSerializer访问：https://www.yuque.com/<older namespace>跳转https://www.yuque.com/<new namespace>删除仓库repo_api.delete_repo(namespace="helixcs/helixcs234")repo_api.delete_repo(id=189411)返回：BookDeleteSerializer获取一个仓库的目录结构repo_api.repos_toc(namespace="helixcs/helixcs234")repo_api.repos_toc(id=189411)返回：RepoTocSerializerList基于关键字搜索仓库repo_api.search_repos(q='a',type=RepoType.BOOK)返回：Array<BookSerializer>4. Doc 资源获取一个仓库的文档列表doc_api=SimplePyYuQueAPI(token="token",app_name="py_yuque1").Doc()doc_api.get_repos_docs(namespace="helixcs/helixcs234").base_responsedoc_api.get_repos_docs(id=189411).base_response返回：Array<DocSerializer>获取单篇文档的详细信息doc_api.get_repos_docs_detail(namespace="helixcs/tuyepi",slug="taosm3").base_responsedoc_api.get_docs_detail(namespace="helixcs/tuyepi",slug="taosm3").base_response返回：DocDetailSerializer创建文档doc_api.post_repos_docs(namespace="helixcs/helixcs234",slug="randomstring",title="测试",body="你好世界!").base_responsedoc_api.create_docs(namespace="helixcs/helixcs234",slug="randomstring",title="测试",body="你好世界!").base_response# 访问：https://www.yuque.com/helixcs/helixcs234/randomstring返回：DocDetailSerializer访问：https://www.yuque.com/<namespace>/<slug>更新文档doc_api.put_repos_docs(namespace="helixcs/helixcs234",id=1057879,title="测试更新",slug="randomstring",public=DocPublic.OPEN,body="你好世界! (修改body)").base_responsedoc_api.update_docs(namespace="helixcs/helixcs234",id=1057879,title="测试更新",slug="randomstring",public=DocPublic.OPEN,body="你好世界! (修改body)").base_responsedoc_api.put_repos_docs(repo_id=189411,id=1057879,title="测试更新",slug="randomstring",public=DocPublic.OPEN,body="你好世界! (修改body)").base_responsedoc_api.update_docs(repo_id=189411,id=1057879,title="测试更新",slug="randomstring",public=DocPublic.OPEN,body="你好世界! (修改body)").base_response访问：https://www.yuque.com/helixcs/helixcs234/randomstring返回：DocDetailSerializer访问：https://www.yuque.com/<namespace>/<slug>删除文档doc_api.delete_repos_docs(namespace="helixcs/helixcs234",id=1057879).base_responsedoc_api.delete_repos_docs(repo_id=189411,id=1057879).base_responsedoc_api.delete_docs(namespace="helixcs/helixcs234",id=1057879).base_responsedoc_api.delete_docs(repo_id=189411,id=1057879).base_response返回：DocDetailSerializer版本说明v0.1.1 初始化v0.1.3 修复部分 bug ， 新增语雀更新字段，为下一个版本更新准备问题排查TODO：LICENSEMIT