Esempio n. 1
0
        /// <summary>
        /// アカウント連携時に取得したNonceを利用してWebAppのAPIを実行
        /// </summary>
        private async Task InvokeWebApiAsync(ReplyableEvent ev, BotStatus status)
        {
            var nonce    = Uri.EscapeDataString(status.AccountLinkNonce);
            var userInfo = await _httpClient.GetStringAsync($"https://lineaccountlinkapp.azurewebsites.net/api/user/info?nonce={nonce}");

            await Line.ReplyMessageAsync(ev.ReplyToken, userInfo);
        }
Esempio n. 2
0
        /// <summary>
        /// アカウント連携を解除する
        /// </summary>
        private async Task UnlinkAsync(ReplyableEvent ev, BotStatus status)
        {
            var ret = await _httpClient.DeleteAsync($"https://lineaccountlinkapp.azurewebsites.net/Account/Unlink?nonce={Uri.EscapeDataString(status.AccountLinkNonce)}");

            if (!ret.IsSuccessStatusCode)
            {
                await Line.ReplyMessageAsync(ev.ReplyToken, "アカウントリンクの解除に失敗しました。");
            }
            else
            {
                await Status.DeleteAsync(BotStatus.DefaultPartitionKey, ev.Source.Id);

                await Line.ReplyMessageAsync(ev.ReplyToken, "アカウントリンクを解除しました。");

                //メニュー切り替え
                await Line.LinkRichMenuToUserAsync(ev.Source.Id, LinkRichMenuId);
            }
        }