public ApiResponse Edit(string business_id, string id) { ApiResponse response = new ApiResponse(); var access_token = Request.Cookies["access_token"]; var url = _appSettings.BaseUrls.Api + "brands/channels/single/" + business_id + '/' + id + "/?access_token=" + access_token; var data = Core.Helpers.WebHelper.HttpGetAsync <Channel>(url).Result; if (data == null) { return(response); } url = _appSettings.BaseUrls.Api + "brands/channels/list/" + business_id + "/?access_token=" + access_token; var rs = Core.Helpers.WebHelper.HttpGetAsync <ChannelFeed>(url).Result; if (rs == null || rs.Data == null) { rs = new ChannelFeed { Data = new List <Channel>() } } ; var model = new ChannelAddEdit { AppId = _appSettings.ClientId, BusinessId = business_id, Channels = rs.Data, ChannelId = id, PageId = data.ext_id, PageName = data.name, Secret = data.secret }; var result = _viewRenderService.RenderToStringAsync("Channel/Edit", model).Result; response.data = result; response.ok = true; return(response); }
public ApiResponse ZaloUpsert(string user_id, string business_id, string channel_id, string oaid, string oasecret, string page_name, string template_id) { ApiResponse response = new ApiResponse(); response.msg = "Add channel error"; var access_token = Request.Cookies["access_token"] ?? ""; Channel para = new Channel(); para.business_id = business_id; para.ext_id = oaid; para.name = page_name; para.id = channel_id; para.template_id = template_id; para.token = oasecret; para.type = "zalo_page"; para.secret = oasecret; var rs1 = Core.Helpers.WebHelper.HttpPostAsync(_appSettings.BaseUrls.Api + "brands/zalos/upsert", para).Result; if (!rs1) { return(response); } var url = _appSettings.BaseUrls.Api + "brands/channels/list/" + business_id + "/?access_token=" + access_token; var rs = Core.Helpers.WebHelper.HttpGetAsync <ChannelFeed>(url).Result; if (rs == null || rs.Data == null) { rs = new ChannelFeed { Data = new List <Channel>() } } ; var result = _viewRenderService.RenderToStringAsync("Channel/Settings", new ChannelSettings { business_id = business_id, Channels = rs.Data, ZaloAuth = "" }).Result; response.view = result; response.msg = "Add channel ok"; response.ok = true; return(response); }
async Task <ChannelFeed> ReallyGetData(string id, string api, CancellationToken ct) { RESTService api_client = new RESTService(); string channel_feeds = await api_client.Get("https://api.thingspeak.com/channels/" + id + "/feeds.json?timezone=Asia%2FBangkok&api_key=" + api + "&results=2", ct); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; ChannelFeed feeds_json = JsonConvert.DeserializeObject <ChannelFeed>(channel_feeds, settings); return(feeds_json); //temperature.Text = feeds_json.feeds[1].field1; //pH.Text = feeds_json.feeds[1].field2; //update_time.Text = feeds_json.feeds[1].created_at.ToString("dd/MM/yyyy HH:mm tt"); }
public ApiResponse Settings(string user_id, string business_id) { //var timestame = Core.Helpers.CommonHelper.DateTimeToUnixTimestamp(DateTime.UtcNow); //var templatedata = new Dictionary<string, string>(); //templatedata.Add("content", "alo thử quan tâm"); //var data = new Dictionary<string, object>(); //data.Add("phone", 84982745193L); //data.Add("templateid", "c8754d9b71de9880c1cf"); //data.Add("templatedata", templatedata); //data.Add("callbackdata", "https://fbwebhook.hibaza.com/brands/zalos/webhook"); //var t = JsonConvert.SerializeObject(data); //var mac = Core.Helpers.CommonHelper.sha256("1282263163182093624" + JsonConvert.SerializeObject(data) + // timestame + "37TU121BboZ5DXNyExHx"); //var uri = "https://openapi.zaloapp.com/oa/v1/sendmessage/phone/invite_v2?oaid=1282263163182093624&data=" + // JsonConvert.SerializeObject(data) + "×tamp=" + timestame + "&mac=" + mac; //var rsss = Core.Helpers.WebHelper.HttpPostAsync<JObject>(uri, null).Result; //ZaloOaInfo info = new ZaloOaInfo(1282263163182093624, "37TU121BboZ5DXNyExHx"); //ZaloOaClient oaClient = new ZaloOaClient(info); //long userId = 84982745193L; // user id or phone number; //var profile = oaClient.getProfile(userId); // var uid = (string)profile["data"]["userId"]; // templatedata = { // "content":"Chào bạn, Chúc bạn một ngày vui vẻ!" //} // data = { // 'phone': phone, // 'templateid': template_id, // 'templatedata': templatedata // } //params = { // 'data': data //} //var appInfo = new Zalo3rdAppInfo(4195900329485784724, "3RJs6hbXkNSScG5VZI76", _appSettings.BaseUrls.Web + "zaloauth"); //var appClient = new Zalo3rdAppClient(appInfo); //var list = new List<long>(); //list.Add(84982745193); //var token = "yJJ8ROH8S27uCiDaW4DtB_G-mM6CMITlZKh3Vg1b4qMkNDfCjqCVURnwgbgqGKTDWcto1RWLAJUb6z5xZ2GTTl8_oJBq90GWw0d2PUjmCJJtN-9zpaKyRF5WrY6CGXyKXMAcAfXzOM2YNzDQhI4A7z4QsbEjAIX0qqt4SgfA45QpOQ5wiciHJSfrm4QtPZPJltdn5eTsHWogQ8WAh11b6fKkYIge3MK_gHA96OaDNGkoDAGFcWrr9kOqmZFdCImvaYZQT-vH5aBoKF1Ttsb34ELuWpjCIO5yZbDz80"; //JObject sendAppRequest = appClient.sendAppRequest(token, list, "test moi ket ban"); ApiResponse response = new ApiResponse(); var access_token = Request.Cookies["access_token"] ?? ""; AgentModel model = null; if (!string.IsNullOrWhiteSpace(user_id) && !string.IsNullOrWhiteSpace(access_token)) { var u = _appSettings.BaseUrls.Api + "brands/agents/single/" + user_id + "/?access_token=" + access_token; model = Core.Helpers.WebHelper.HttpGetAsync <AgentModel>(u).Result; } if (model == null) { return(response); } var url = _appSettings.BaseUrls.Api + "brands/channels/list/" + business_id + "/?access_token=" + access_token; var rs = Core.Helpers.WebHelper.HttpGetAsync <ChannelFeed>(url).Result; if (rs == null || rs.Data == null) { rs = new ChannelFeed { Data = new List <Channel>() } } ; var result = _viewRenderService.RenderToStringAsync("Channel/Settings", new ChannelSettings { business_id = business_id, Channels = rs.Data, ZaloAuth = "" }).Result; response.view = result; response.ok = true; Response.Cookies.Delete("edit_zalo_id"); return(response); }
public ApiResponse UpsertPersonalZalo() { ApiResponse response = new ApiResponse(); response.msg = "Add channel error"; try { var id_zalo_appid = Request.Cookies["id_zalo_appid"]; var id_zalo_channelid = Request.Cookies["id_zalo_channelid"]; var id_zalo_business_id = Request.Cookies["id_zalo_business_id"]; var id_zalo_appsecret = Request.Cookies["id_zalo_appsecret"]; var id_zalo_name = Request.Cookies["id_zalo_name"]; var id_zalo_templateid = Request.Cookies["id_zalo_templateid"]; var codeZalo = Request.Cookies["codeZalo"]; if (string.IsNullOrWhiteSpace(codeZalo) || string.IsNullOrWhiteSpace(id_zalo_business_id)) { return(response); } var appInfo = new Zalo3rdAppInfo(Convert.ToInt64(id_zalo_appid), id_zalo_appsecret, _appSettings.BaseUrls.Web + "zaloauth"); var appClient = new Zalo3rdAppClient(appInfo); JObject tokenObj = appClient.getAccessToken(codeZalo); var token = (string)tokenObj["access_token"]; if (token == null) { return(response); } var profile = appClient.getProfile(token, "id,name,birthday,gender,picture"); var profile_id = (string)profile["id"]; if (!string.IsNullOrWhiteSpace(profile_id)) { // upsert Channel para = new Channel(); para.business_id = id_zalo_business_id; para.ext_id = id_zalo_appid; para.name = id_zalo_name; para.id = id_zalo_channelid; para.template_id = id_zalo_templateid; para.token = token; para.type = "zalo_personal"; para.secret = id_zalo_appsecret; var rs1 = Core.Helpers.WebHelper.HttpPostAsync(_appSettings.BaseUrls.Api + "brands/zalos/upsert", para).Result; if (!rs1) { return(response); } // var rs1 = Core.Helpers.WebHelper.HttpPostAsync(_appSettings.BaseUrls.Api + "brands/zalos/upsert/zalo-personal/" + id_zalo_business_id + "/" + id_zalo_channelid + "/" + profile_id + "/" + token + "/" + id_zalo_name + "/" + id_zalo_templateid, null).Result; var access_token = Request.Cookies["access_token"] ?? ""; var url = _appSettings.BaseUrls.Api + "brands/channels/list/" + id_zalo_business_id + "/?access_token=" + access_token; var rs = Core.Helpers.WebHelper.HttpGetAsync <ChannelFeed>(url).Result; if (rs == null || rs.Data == null) { rs = new ChannelFeed { Data = new List <Channel>() } } ; var result = _viewRenderService.RenderToStringAsync("Channel/Settings", new ChannelSettings { business_id = id_zalo_business_id, Channels = rs.Data, ZaloAuth = "" }).Result; response.msg = "Add channel ok"; response.view = result; response.ok = true; Response.Cookies.Delete("id_zalo_appid"); Response.Cookies.Delete("id_zalo_channelid"); Response.Cookies.Delete("id_zalo_business_id"); Response.Cookies.Delete("id_zalo_appsecret"); Response.Cookies.Delete("id_zalo_name"); Response.Cookies.Delete("id_zalo_templateid"); Response.Cookies.Delete("codeZalo"); return(response); } return(response); } catch (Exception ex) { response.msg = "Add channel error " + ex.Message; response.ok = false; return(response); } }
async void Handle_picker(object sender, EventArgs e) { int current_index = channel_picker.SelectedIndex; if (scheduleThread != null) { return; } else { scheduleThread = Thread.CurrentThread; } CancellationTokenSource cts; while (true) { cts = new CancellationTokenSource(); //Check internet connection //var connect_status = Connectivity.NetworkAccess; //if (connect_status == NetworkAccess.Internet) //{ //status_text.TextColor = Color.Green; //status_text.Text = "Đang theo dõi"; if (channel_picker.SelectedIndex != current_index) { status_text.Text = ""; temperature_text.Text = ""; temperature.Text = ""; ph_text.Text = ""; pH.Text = ""; turb_text.Text = ""; turb.Text = ""; update_text.Text = ""; update_time.Text = ""; current_index = channel_picker.SelectedIndex; } channel_name.Text = myprofile[channel_picker.SelectedIndex].name; bool Is_Exception = false; try { cts.CancelAfter(2300); Task <ChannelFeed> theTask = ReallyGetData(myprofile[channel_picker.SelectedIndex].id.ToString(), myprofile[channel_picker.SelectedIndex].api_keys[1].api_key, cts.Token); ChannelFeed myFeeds = await theTask; status_text.TextColor = Color.Green; status_text.Text = "Đang theo dõi"; temperature_text.Text = myFeeds.channel.field1 + ":"; temperature.Text = myFeeds.feeds[1].field1; ph_text.Text = myFeeds.channel.field2 + ":"; pH.Text = myFeeds.feeds[1].field2; turb_text.Text = myFeeds.channel.field3 + ":"; turb.Text = myFeeds.feeds[1].field3; update_text.Text = "Cập nhật lần cuối vào:"; update_time.Text = myFeeds.feeds[1].created_at.ToString("dd/MM/yyyy HH:mm tt"); } catch (Exception) { Is_Exception = true; status_text.TextColor = Color.Red; status_text.Text = "Lỗi Internet"; } // do something with time... //} cts = null; if (Is_Exception != true) { await Task.Delay(2300); } } }