コード例 #1
0
        /// <summary>
        /// 收到 "統計訊息數" 後會回覆的文字
        /// </summary>
        /// <param name="receiveText">接收到的訊息</param>
        /// <returns></returns>
        private async Task <string> GetNumberOfMessageDeliveriesTips(string receiveText)
        {
            string result = "";
            NumberOfMessageDeliveriesResponseModel responseModel = new NumberOfMessageDeliveriesResponseModel();

            int    position = receiveText.IndexOf(".");
            string date     = null;

            if (position != -1)
            {
                date = receiveText.Substring(position + 1);
            }
            else
            {
                date   = DateTime.Now.ToString("yyyyMMdd");
                result = @"輸入的格式有誤。
請輸入「統計訊息數.yyyyMMdd」
例如:統計訊息數.20200101";

                return(result);
            }

            responseModel = await _lineClient.GetNumberOfMessageDeliveriesAsync(date);

            switch (responseModel.status)
            {
            case NumberOfMessageDeliveriesStatus.ready:
                result = $@"{date} 訊息統計資料:
廣播:{responseModel.broadcast}
目標發送:{responseModel.targeting}
自動回覆:{responseModel.autoResponse}
歡迎加入:{responseModel.welcomeResponse}
聊天:{responseModel.chat}
API Broadcast:{responseModel.apiBroadcast}
API Push:{responseModel.apiPush}
API Multicast:{responseModel.apiMulticast}
API Reply:{responseModel.apiReply}";
                break;

            case NumberOfMessageDeliveriesStatus.unready:
                result = "該日的資料尚未統計完成";
                break;

            case NumberOfMessageDeliveriesStatus.out_of_service:
                result = "日期格式有誤";
                break;

            default:
                result = "發生異常,暫時無法查詢";
                break;
            }

            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 取得特定日期Line官方帳號回傳訊息的數量
        /// </summary>
        /// <param name="date">日期(yyyyMMdd)</param>
        /// <returns>NumberOfMessageDeliveriesResponseModel</returns>
        public async Task <NumberOfMessageDeliveriesResponseModel> GetNumberOfMessageDeliveriesAsync(string date)
        {
            NumberOfMessageDeliveriesResponseModel responseModel = new NumberOfMessageDeliveriesResponseModel();
            string para      = $"/message/delivery?date={date}";
            string apiResult = null;

            apiResult = await Utility.DoLineHttpGetAsync(MessagingApiUrl.InsightUrl, para, accessToken);

            responseModel = JsonConvert.DeserializeObject <NumberOfMessageDeliveriesResponseModel>(apiResult);

            return(responseModel);
        }