站点
站点和对象
站点根对象
站点根、工作台,都是属于栏目容器。栏目容器可以管理子栏目,定义团队成员。栏目容器也叫做空间。
目录
根站点对象在脚本中固定为 root, 这个对象在所有的脚本中可以直接使用。
站点根节点的对象类型:
>>> root.object_types ('Root', 'AppContainer', 'Container')
1 站点的基础信息 root.info
可以查看自身的配置信息,这些是只读的:
root.info()
返回一个dict,包含如下信息:
- version: 当前运行版本
- application: 应用名
- account: 比如zopen
- instance: 实例名
- operator: 本站点operator名字
- convert_drivers: 系统支持的特殊转换驱动。如果支持msoffice转换,这里返回 ('msoffice', )
- sandbox: 表示脚本运行是否开启沙箱保护。有些软件包只有在开启沙箱的时候才能运行
2 站点的运行参数 root.operation_options
这些参数也是只读的,包括:
- sms: 短信数量
- apps_packages: 软件包数量
- flow_records: 数据库记录
- docsdue: 文档使用期限
- docs_quota: 文件存储限额(M)
- docs_users: 文档许可用户数
- docs_publish: 文档发布
- flow_customize: 流程定制
- apps_scripting: 允许开发软件包
4 用户认证
4.1 用户登录 login_as
如果需要定制认证,可以通过代码主动声明登录成功:
root.login_as(request, username, logout_url="http://xxx.xx/xxx")
其中:
- username:登录用户id
- logout_url:[可选] 之后登出的跳转地址。
4.2 游客登录 login_temp
也可以让用户以游客的身份临时登录,游客登录不占用许可,但是功能非常有限,不能使用桌面助手:
root.login_temp(request, '123123')
游客登录之后,用户ID固定以 zope.anybody- 开头,也就是类似 zope.anybody-1231231 .
5 回收站 recycle_bin
系统所有内容,删除之后,都将进入站点回收站。
一旦进入回收站,系统会定期对回收站的内容进行清理。
5.1 收回内容 restore
可以通过操作历史,查找到最近删除的内容,你可以恢复删除项:
root.recycle_bin.restore(uid, new_parent)
其中:
- uid:删除的对象uid
- new_parent:[可选]对象存放位置,默认恢复到原始位置
6 站点设置
站点的设置信息 root.settings 包括:
- myfiles_enable :开启我的网盘
- myfiles_quota :个人网盘配额
- recycle_reserve_days :回收站保留天数
- temp_limit :临时版本数量
- xls_viewer :xls查看器
- allow_assistant_cache :桌面助手缓存
- preview_watermark_text :文档动态水印
- share_mode :分享
- force_https :强制https
- local_area_network_download : p2p下载
7 访问站点其他服务
每个站点配套多个服务,可以直接操作其他服务的接口。
7.1 得到服务地址 get_service_url
root.get_service_url(service_name, api=False, internal=False)
其中:
- service_name,服务名:
- oc: 账户管理, 这里提供开放平台的基础服务,包括认证等
- org: 组织结构, 人员管理
- workonline: 工作平台,文档、表单等
- viewer: 云查看, 文档转换
- message:消息中心,消息发送
- api: api请求地址,还是用户访问地址
- internal: 可以返回内部的地址,这个地址防火墙内部的地址,用于内部的API调用
7.2 直接得到其他服务的客户端 get_client
利用当前用户登录的站点授权信息,访问该账户的其他服务:
client = root.get_client(request, application, instance)
其中:
- application: 就是上面的service_name
- instance:具体的站点名
返回的client具体API参见开放接口的PythonSDK。
7.3 "更多"空间 more
系统预设的一个空间,统一用于存放一些站点工具,比如站点统计分析、微信钉钉集成等,比如:
root.more.add_datacontainer(....)
首次调用这个属性,会自动创建。
8 运行脚本
8.2 call_script_async
异步调用一个脚本:
root.call_script_async('xxx.xx:xx', *args, **kw)
这个脚本将在后台队列中运行,传入的所有参数必须支持序列化的基础Python数据。