ScheduleSdk.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.usoftchina.dingtalk.sdk;
  2. import com.dingtalk.api.DefaultDingTalkClient;
  3. import com.dingtalk.api.DingTalkClient;
  4. import com.dingtalk.api.response.OapiCalendarCreateResponse;
  5. import com.usoftchina.dingtalk.sdk.config.DingTalkProperties;
  6. import com.usoftchina.dingtalk.sdk.dto.AddScheduleReq;
  7. /**
  8. * DING日程
  9. *
  10. * @author yingp
  11. * @date 2020/2/19
  12. */
  13. public class ScheduleSdk extends BaseSdk {
  14. public ScheduleSdk(DingTalkProperties properties) {
  15. super(properties);
  16. }
  17. /**
  18. * 创建日程
  19. * 调用该接口可以将企业员工的待办事项写入到钉钉日历并在钉钉日历中展示。
  20. * 企业可在应用的权限管理页面申请该接口权限
  21. *
  22. * @param agentCode
  23. * @param req
  24. * @return 日程id
  25. */
  26. public String addSchedule(String agentCode, AddScheduleReq req) {
  27. DingTalkClient client = new DefaultDingTalkClient(getProperties().getApi() + "/topapi/calendar/create");
  28. OapiCalendarCreateResponse resp = cached(() -> client.execute(req.build(), getAccessToken(agentCode)));
  29. assertOK(resp);
  30. return resp.getResult().getDingtalkCalendarId();
  31. }
  32. }