Esempio n. 1
0
        /// <summary>
        /// POSTメソッド
        /// </summary>
        /// <param name="requestToken">リクエストトークン</param>
        /// <returns>常にステータス200のみを返す</returns>
        public async Task <HttpResponseMessage> Post(JToken requestToken)
        {
            Trace.TraceInformation("Webhook API Start");

            // Webhook Serviceの実行
            await WebhookService.Execute(

                // Webhook Serviceの設定
                new WebhookServiceConfig()
            {
                RequestJToken  = requestToken,
                RequestHeaders = this.Request.Headers,
                RequestContent = this.Request.Content,

                // 署名の検証は行わない
                IsExecuteVerifySign = false,

                // ロングタームチャンネルアクセストークンを使用する
                IsUseLongTermChannelAccessToken = true,

                // フォローイベント
                FollowEventHandler = async(channelAccessToken, replyToken) => await this.ExecuteFollowEvent(channelAccessToken, replyToken),

                // 参加イベント
                JoinEventHandler = async(channelAccessToken, replyToken) => await this.ExecuteJoinEvent(channelAccessToken, replyToken),

                // テキストイベント
                TextMessageEventHandler = async(channelAccessToken, source, replyToken, text) => await this.ExecuteTextMessageEvent(channelAccessToken, source, replyToken, text)
            }

                ).ConfigureAwait(false);

            Trace.TraceInformation("Webhook API End");

            return(new HttpResponseMessage(HttpStatusCode.OK));
        }