| using System; | 
|   | 
| namespace DingTalk.Api | 
| { | 
|     /// <summary> | 
|     /// TOP客户端。 | 
|     /// </summary> | 
|     public interface IDingTalkClient | 
|     { | 
|         /// <summary> | 
|         /// 执行TOP公开API请求。 | 
|         /// </summary> | 
|         /// <typeparam name="T">领域对象</typeparam> | 
|         /// <param name="request">具体的TOP API请求</param> | 
|         /// <returns>领域对象</returns> | 
|         T Execute<T>(IDingTalkRequest<T> request) where T : DingTalkResponse; | 
|   | 
|         /// <summary> | 
|         /// 执行TOP隐私API请求。 | 
|         /// </summary> | 
|         /// <typeparam name="T">领域对象</typeparam> | 
|         /// <param name="request">具体的TOP API请求</param> | 
|         /// <param name="accessToken">用户会话码</param> | 
|         /// <returns>领域对象</returns> | 
|         T Execute<T>(IDingTalkRequest<T> request, string accessToken) where T : DingTalkResponse; | 
|   | 
|         /// <summary> | 
|         /// 执行TOP隐私API请求。 | 
|         /// </summary> | 
|         /// <typeparam name="T">领域对象</typeparam> | 
|         /// <param name="request">具体的TOP API请求</param> | 
|         /// <param name="accessToken">用户会话码</param> | 
|         /// <param name="timestamp">请求时间戳</param> | 
|         /// <returns>领域对象</returns> | 
|         T Execute<T>(IDingTalkRequest<T> request, string accessToken, DateTime timestamp) where T : DingTalkResponse; | 
|   | 
|         T Execute<T>(IDingTalkRequest<T> request, string accessKey, string accessSecret) where T : DingTalkResponse; | 
|         T Execute<T>(IDingTalkRequest<T> request, string accessKey, string accessSecret, string suiteTicket) where T : DingTalkResponse; | 
|         T Execute<T>(IDingTalkRequest<T> request, string accessKey, string accessSecret, string suiteTicket, string corpId) where T : DingTalkResponse; | 
|     } | 
| } |