예제 #1
0
        public void GetShareInfoTest()
        {
            var ownerEmail          = "*****@*****.**";
            var getShareInfoRequest = new GetShareInfoRequest(ownerEmail);

            ZmailRequest.ApiRequest = getShareInfoRequest;
            var zResquest = ZmailDispatcher.SendRequest(ZmailRequest);
            var resp      = zResquest.ApiResponse as GetShareInfoResponse;
            var mid       = resp.MountpointId;
            var ownerId   = resp.OwnerId;

            //如果回傳mid為null的話,表示沒有加入被查詢人員的行事曆哦!
            //可透過 CreateMountpoint 建立
            Console.WriteLine($"MountpointId:{mid}");
            Console.WriteLine($"OwnerId:{ownerId}");
        }
예제 #2
0
        public void SearchOtherShareAppointmentsRequestTest()
        {
            //先取得他人的 Mountpoint
            var searchEmail         = "*****@*****.**";
            var getShareInfoRequest = new GetShareInfoRequest(searchEmail);

            ZmailRequest.ApiRequest = getShareInfoRequest;
            var zResquest = ZmailDispatcher.SendRequest(ZmailRequest);
            var resp      = zResquest.ApiResponse as GetShareInfoResponse;
            var mid       = resp.MountpointId;

            if (!string.IsNullOrWhiteSpace(mid))
            {
                var sdate           = new DateTime(2017, 5, 25, 08, 0, 0);
                var edate           = new DateTime(2017, 5, 25, 18, 0, 0);
                var searchReqParams = new SearchRequestParams(sdate, edate);
                //FolderId 10 預設是自已的行事曆
                searchReqParams.FolderId = mid;
                ZmailRequest.ApiRequest  = new SearchRequest(searchReqParams);
                zResquest = ZmailDispatcher.SendRequest(ZmailRequest);

                //取出會議室的資訊
                var searchRes = zResquest.ApiResponse as SearchResponse;
                var appts     = searchRes?.Appointments;
                if (appts != null)
                {
                    foreach (var appt in appts.OrderBy(a => a.StartTime))
                    {
                        //註:組織者有可能為 null
                        Console.WriteLine(
                            $"{appt.Name}:Start:{appt.StartTime}, 組織者:{appt.Organizer?.DisplayName}, {appt.Organizer?.Email}");
                    }
                }
            }
            else
            {
                Console.WriteLine($"尚未Mount {searchEmail} 行事曆");
            }
        }
예제 #3
0
        public void CreateMountpointRequestTest()
        {
            var ownerEmail          = "*****@*****.**";
            var getShareInfoRequest = new GetShareInfoRequest(ownerEmail);

            ZmailRequest.ApiRequest = getShareInfoRequest;
            var zResquest = ZmailDispatcher.SendRequest(ZmailRequest);
            var resp      = zResquest.ApiResponse as GetShareInfoResponse;
            var mid       = resp.MountpointId;
            var ownerId   = resp.OwnerId;

            if (string.IsNullOrWhiteSpace(mid))
            {
                var ownerName = $"{resp.OwnerName}'s Calendar";
                var req       = new CreateMountpointRequest();
                req.OwnerId          = ownerId;
                req.MountDisplayName = ownerName;

                ZmailRequest.ApiRequest = req;
                zResquest = ZmailDispatcher.SendRequest(ZmailRequest);
                var resp2 = zResquest.ApiResponse as CreateMountpointResponse;
                Console.WriteLine($"是否成功? {resp2.CreateSuccess}");
            }
        }