/// <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); }
/// <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); } }