wechatpy.enterprise.client.api.calendar 源代码

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals

import operator as op

from wechatpy.client.api.base import BaseWeChatAPI


[文档]class WeChatCalendar(BaseWeChatAPI): """ https://work.weixin.qq.com/api/doc/90000/90135/92616 """
[文档] def add(self, organizer, summary, color, description="", shares=()): """ 创建日历 https://work.weixin.qq.com/api/doc/90000/90135/92618 :param organizer: 指定的组织者userid。注意该字段指定后不可更新 :param summary: 日历标题。1 ~ 128 字符 :param color: 日历在终端上显示的颜色,RGB颜色编码16进制表示,例如:”#0000FF” 表示纯蓝色 :param description: 日历描述。0 ~ 512 字符 :param shares: 日历共享成员列表。最多2000人 :type shares: list[str] :return: 日历ID :rtype: str """ data = { 'calendar': { 'organizer': organizer, 'summary': summary, 'color': color, 'description': description, 'shares': [{'userid': userid} for userid in shares], } } return self._post('oa/calendar/add', data=data, result_processor=op.itemgetter('cal_id'))
[文档] def update(self, calendar_id, summary, color, description="", shares=()): """ 更新日历 https://work.weixin.qq.com/api/doc/90000/90135/92619 :param calendar_id: 日历ID :param summary: 日历标题。1 ~ 128 字符 :param color: 日历在终端上显示的颜色,RGB颜色编码16进制表示,例如:”#0000FF” 表示纯蓝色 :param description: 日历描述。0 ~ 512 字符 :param shares: 日历共享成员列表。最多2000人 :type shares: list[str] """ data = { 'calendar': { 'cal_id': calendar_id, 'summary': summary, 'color': color, 'description': description, 'shares': [{'userid': userid} for userid in shares], } } return self._post('oa/calendar/update', data=data, result_processor=op.itemgetter('cal_id'))
[文档] def get(self, calendar_ids): """ 获取日历 https://work.weixin.qq.com/api/doc/90000/90135/92621 :param calendar_ids: 日历ID列表。一次最多可获取1000条 :type calendar_ids: list[str] :return: 日历列表 :rtype: list[dict] """ return self._post( 'oa/calendar/get', data={'cal_id_list': calendar_ids}, result_processor=op.itemgetter('calendar_list') )
[文档] def delete(self, calendar_id): """ 删除日历 https://work.weixin.qq.com/api/doc/90000/90135/92620 :param calendar_id: 日历ID """ return self._post('oa/calendar/del', data={'cal_id': calendar_id})