public async Task <IUser> Login(enSocialNetwork socialNetwork) { IUser user = null; try { String vkUrl = String.Format("https://oauth.vk.com/authorize?client_id={0}&scope={1}&response_type=token" , 5042701, "offline,messages,friends"); String vkCallBackUrl = String.Format("https://oauth.vk.com/blank.html"); System.Uri StartUri = new Uri(vkUrl); System.Uri EndUri = new Uri(vkCallBackUrl); WebAuthenticationResult response = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, StartUri, EndUri); if (response.ResponseStatus == WebAuthenticationStatus.Success) { user = await GetVkUser(response.ResponseData.ToString()); } } catch (Exception ex) { } return(user); }
public async Task<IUser> Login(enSocialNetwork socialNetwork) { IUser user = null; try { String vkUrl = String.Format("https://oauth.vk.com/authorize?client_id={0}&scope={1}&response_type=token" , 5042701, "offline,messages,friends"); String vkCallBackUrl = String.Format("https://oauth.vk.com/blank.html"); System.Uri StartUri = new Uri(vkUrl); System.Uri EndUri = new Uri(vkCallBackUrl); WebAuthenticationResult response = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None,StartUri,EndUri); if (response.ResponseStatus == WebAuthenticationStatus.Success) { user = await GetVkUser(response.ResponseData.ToString()); } } catch (Exception ex) { } return user; }
public async Task <IUser> GetUserInfoRequest(IUser user, enSocialNetwork enSocialNetwork) { try { HttpClient httpClient = new HttpClient(); string urlGetUser = String.Format("https://api.vk.com/method/users.get?token={0}&user_ids={1}", user.SerializeInfo, user.Uid ); string response = await httpClient.GetStringAsync(new Uri(urlGetUser)); string firstName = response.Split('[')[1].Split(',')[1].Split('\"')[3]; string lastName = response.Split('[')[1].Split(',')[2].Split('\"')[3]; return(new User() { FirstName = firstName, LastName = lastName, Uid = user.Uid, SerializeInfo = user.SerializeInfo }); } catch (Exception ex) { } return(null); }
public async Task <IUser> Login(enSocialNetwork socialNetwork) { IUser user = null; try { switch (socialNetwork) { case enSocialNetwork.VK: user = await LoginToVk(); break; case enSocialNetwork.Twitter: user = await LoginToTwitter(); break; default: break; } } catch (Exception ex) { } return(user); }
public async Task <IDialog> GetDialogWithFriend(DataIUser user, enSocialNetwork socialNetwork, IUser friend) { IDialog dialog = null; try { switch (socialNetwork) { case enSocialNetwork.VK: dialog = await GetVkDialogWithFriend(user, friend); break; case enSocialNetwork.Twitter: dialog = await GetTwitterDialogWithFriend(user, friend); break; default: break; } } catch (Exception ex) { } this.StopRequest(); return(dialog); }
public async Task <IEnumerable <IDialog> > GetDialogs(IUser user, enSocialNetwork socialNetwork) { IList <IDialog> dialogs = null; try { String url = String.Format("https://api.vk.com/method/messages.getDialogs?&count={0}&access_token={1}" , 100.ToString(), user.SerializeInfo); HttpClient httpClient = new HttpClient(); string response = await httpClient.GetStringAsync(new Uri(url)); string[] responseString = response.Split('['); string[] responseDialogsArray = responseString[1].Split('{'); dialogs = new List <IDialog>(); foreach (var item in responseDialogsArray) { try { string uid = item.Split(',')[3].Split(':')[1]; string message = String.Empty; try { message = item.Split(',')[6].Split(':')[1]; } catch (Exception ex) { message = item.Split(',')[6].Split('\"')[0].Trim(); } IUser friend = new User() { Uid = uid, SerializeInfo = user.SerializeInfo }; IMessage friendMessage = new Message() { Content = message }; IDialog dialog = new Dialog(friend, new List <IMessage>() { friendMessage }); dialogs.Add(dialog); } catch (Exception ex) { } } } catch (Exception ex) { } return(dialogs); }
public async Task<IEnumerable<IDialog>> GetDialogs(IUser user, enSocialNetwork socialNetwork) { IList<IDialog> dialogs = null; try { String url = String.Format("https://api.vk.com/method/messages.getDialogs?&count={0}&access_token={1}" , 100.ToString(), user.SerializeInfo); HttpClient httpClient = new HttpClient(); string response = await httpClient.GetStringAsync(new Uri(url)); string[] responseString = response.Split('['); string[] responseDialogsArray = responseString[1].Split('{'); dialogs = new List<IDialog>(); foreach (var item in responseDialogsArray) { try { string uid = item.Split(',')[3].Split(':')[1]; string message = String.Empty; try { message = item.Split(',')[6].Split(':')[1]; } catch (Exception ex) { message = item.Split(',')[6].Split('\"')[0].Trim(); } IUser friend = new User() { Uid = uid, SerializeInfo = user.SerializeInfo }; IMessage friendMessage = new Message() { Content = message }; IDialog dialog = new Dialog(friend, new List<IMessage>() { friendMessage }); dialogs.Add(dialog); } catch (Exception ex) { } } } catch (Exception ex) { } return dialogs; }
public async Task <IEnumerable <IDialog> > GetDialogs(DataIUser user, enSocialNetwork socialNetwork) { IEnumerable <IDialog> dialogs = null; switch (socialNetwork) { case enSocialNetwork.VK: dialogs = await GetVkDialogs(user); break; case enSocialNetwork.Twitter: dialogs = await GetTwitterDialogs(user); break; } return(dialogs); }
public async Task <IUser> GetUserInfoRequest(IUser user, enSocialNetwork socialNetwork) { if (user.HasNotValue()) { return(null); } switch (socialNetwork) { case enSocialNetwork.VK: return(await GetVkUserInfoRequest(user)); case enSocialNetwork.Twitter: return(await GetTwitterInfoRequest(user)); default: break; } return(null); }
public async Task <IEnumerable <DataIUser> > GetUserFriends(DataIUser user, enSocialNetwork socialNetwork) { IEnumerable <DataIUser> dialogs = null; switch (socialNetwork) { case enSocialNetwork.VK: dialogs = await GetUserVkFriends(user); break; case enSocialNetwork.Twitter: dialogs = await GetUserTwitterFriends(user); break; default: break; } return(dialogs); }
public async Task<IEnumerable<IDialog>> GetDialogWithFriend(DataIUser user, enSocialNetwork socialNetwork) { IList<IDialog> dialogs = new List<IDialog>(); try { Account acc = Account.Deserialize(user.SerializeInfo); var request = new OAuth2Request("GET", new Uri("https://api.vk.com/method/messages.getHistory"), null, acc); request.Parameters.Add("user_id", user.Uid); var res = await request.GetResponseAsync(); var responseText = res.GetResponseText(); var msg = JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.VkMessagesResponse>(responseText); msg.Response.RemoveAt(0); IList<XamarinSocialApp.Droid.Data.VkData.MessageInDialog> msg1 = new List<XamarinSocialApp.Droid.Data.VkData.MessageInDialog>(); foreach (var item in msg.Response) { msg1.Add(JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.MessageInDialog>(item.ToString())); } foreach (var item in msg1) { dialogs.Add(new DataDialogs(user, new List<IMessage>() { new DataMessage() { Content = item.Body } })); } } catch (Exception ex) { } return dialogs; }
public async Task<IUser> GetUserInfoRequest(IUser user, enSocialNetwork socialNetwork) { if (user.HasNotValue()) return null; Account accCurrent = Account.Deserialize(user.SerializeInfo); if (accCurrent.HasNotValue()) return null; if (String.IsNullOrWhiteSpace(user.Uid)) return null; var request = new OAuth2Request("GET", new Uri("https://api.vk.com/method/users.get"), null, accCurrent); request.Parameters.Add("uids", user.Uid); var res = await request.GetResponseAsync(); var responseText = res.GetResponseText(); var users = JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.VkUsers>(responseText); var jsonUser = users.response.First(); return new DataUser() { FirstName = jsonUser.first_name, LastName = jsonUser.last_name, ID = jsonUser.uid, Uid = jsonUser.uid }; }
public async Task<IEnumerable<DataIUser>> ShowUserFriends(DataIUser user, enSocialNetwork enSocialNetwork) { Account acc = Account.Deserialize(user.SerializeInfo); var request = new OAuth2Request("GET", new Uri("https://api.vk.com/method/friends.get"), null, acc); request.Parameters.Add("fields", "nickname"); request.Parameters.Add("order", "hints"); var res = await request.GetResponseAsync(); var responseText = res.GetResponseText(); var listFriendsIds = JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.VkUsers>(responseText); IList<DataIUser> friends = new List<DataIUser>(); foreach (var friend in listFriendsIds.response) { friends.Add(new DataUser() { FirstName = friend.first_name, LastName = friend.last_name }); } return friends; }
public async Task<IEnumerable<IDialog>> GetDialogs(DataIUser user, enSocialNetwork socialNetwork) { Account acc = Account.Deserialize(user.SerializeInfo); var request = new OAuth2Request("GET", new Uri("https://api.vk.com/method/messages.getDialogs"), null, acc); request.Parameters.Add("count", "200"); request.Parameters.Add("v", "5.37"); var res = await request.GetResponseAsync(); var responseText = res.GetResponseText(); var msg = JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.VkDialogsResponse>(responseText); IList<IDialog> dialogs = new List<IDialog>(); foreach (var item in msg.Response.Messages) { IUser userDialog = new User() { Uid = item.Message.UserId, SerializeInfo = user.SerializeInfo }; //var userDialog = await GetUserInfoRequest(item.Message.UserId, acc, socialNetwork); dialogs.Add(new DataDialogs(userDialog, new List<IMessage>() { new DataMessage() { Content = item.Message.Body } })); } return dialogs; }
public Task <bool> SendMessage(IUser user, IUser friend, string Message, enSocialNetwork enSocialNetwork) { throw new NotImplementedException(); }
public Task <IUser> Login(enSocialNetwork socialNetwork) { return(modService.Login(socialNetwork)); }
public Task<bool> SendMessage(IUser user, IUser friend, string Message, enSocialNetwork enSocialNetwork) { throw new NotImplementedException(); }
public Task <IDialog> GetDialogWithFriend(IUser user, enSocialNetwork socialNetwork, IUser friend) { throw new NotImplementedException(); }
public async Task<IDialog> GetDialogWithFriend(DataIUser user, enSocialNetwork socialNetwork, IUser friend) { IDialog dialog = null; try { switch (socialNetwork) { case enSocialNetwork.VK: dialog = await GetVkDialogWithFriend(user, friend); break; case enSocialNetwork.Twitter: dialog = await GetTwitterDialogWithFriend(user, friend); break; default: break; } } catch (Exception ex) { } this.StopRequest(); return dialog; }
public async Task<IEnumerable<DataIUser>> GetUserFriends(DataIUser user, enSocialNetwork socialNetwork) { IEnumerable<DataIUser> dialogs = null; switch (socialNetwork) { case enSocialNetwork.VK: dialogs = await GetUserVkFriends(user); break; case enSocialNetwork.Twitter: dialogs = await GetUserTwitterFriends(user); break; default: break; } return dialogs; }
public async Task<IUser> Login(enSocialNetwork socialNetwork) { IUser user = null; try { switch(socialNetwork) { case enSocialNetwork.VK: user = await LoginToVk(); break; case enSocialNetwork.Twitter: user = await LoginToTwitter(); break; default: break; } } catch (Exception ex) { } return user; }
public async Task<IUser> Login(enSocialNetwork socialNetwork) { IUser user = null; try { TaskCompletionSource<int> ts = new TaskCompletionSource<int>(); var auth = new OAuth2Authenticator( clientId: "5042701", scope: "offline,messages,friends", authorizeUrl: new Uri("https://oauth.vk.com/authorize"), redirectUrl: new Uri("https://oauth.vk.com/blank.html")); auth.AllowCancel = true; auth.Completed += (s, ee) => { if (!ee.IsAuthenticated) { ts.SetResult(0); return; } var request = new OAuth2Request("GET", new Uri("https://api.vk.com/method/users.get"), null, ee.Account); request.GetResponseAsync().ContinueWith(t => { if (t.IsCompleted) { Token = ee.Account.Properties["access_token"].ToString(); string account = ee.Account.Serialize(); Account = ee.Account; //AccountStore.Create(Forms.Context).Save(ee.Account, "Vk"); var response = t.Result.GetResponseText(); var users = JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.VkUsers>(response); string uid = users.response[0].uid; string firstName = users.response[0].first_name; string lastName = users.response[0].last_name; user = new User() { FirstName = firstName, LastName = lastName, Uid = uid, SerializeInfo = Account.Serialize(), SocialNetwork = enSocialNetwork.VK }; ts.SetResult(0); } else { ts.SetResult(0); return; } }, UIScheduler); }; var intent = auth.GetUI(Forms.Context); Forms.Context.StartActivity(intent); await ts.Task; } catch (Exception ex) { } return user; }
public async Task <bool> SendMessage(DataIUser user, DataIUser friend, string message, enSocialNetwork socialNetwork) { try { this.StartRequest(); switch (socialNetwork) { case enSocialNetwork.VK: await SendVkMessage(user, friend, message); break; case enSocialNetwork.Twitter: await SendTwitterMessage(user, friend, message); break; default: break; } } catch (Exception ex) { return(false); } finally { this.StopRequest(); } return(true); }
public async Task<bool> SendMessage(DataIUser user, DataIUser friend, string message, enSocialNetwork socialNetwork) { try { this.StartRequest(); switch (socialNetwork) { case enSocialNetwork.VK: await SendVkMessage(user, friend, message); break; case enSocialNetwork.Twitter: await SendTwitterMessage(user, friend, message); break; default: break; } } catch (Exception ex) { return false; } finally { this.StopRequest(); } return true; }
public Task<IEnumerable<IUser>> GetUserFriends(IUser user, enSocialNetwork enSocialNetwork) { throw new NotImplementedException(); }
public async Task<IEnumerable<IDialog>> GetDialogs(DataIUser user, enSocialNetwork socialNetwork) { IEnumerable<IDialog> dialogs = null; switch(socialNetwork) { case enSocialNetwork.VK: dialogs = await GetVkDialogs(user); break; case enSocialNetwork.Twitter: dialogs = await GetTwitterDialogs(user); break; } return dialogs; }
public Task<IDialog> GetDialogWithFriend(IUser user, enSocialNetwork socialNetwork, IUser friend) { throw new NotImplementedException(); }
public async Task<IUser> GetUserInfoRequest(IUser user, enSocialNetwork socialNetwork) { if (user.HasNotValue()) return null; switch (socialNetwork) { case enSocialNetwork.VK: return await GetVkUserInfoRequest(user); case enSocialNetwork.Twitter: return await GetTwitterInfoRequest(user); default: break; } return null; }
public async Task<IUser> GetUserInfoRequest(IUser user, enSocialNetwork enSocialNetwork) { try { HttpClient httpClient = new HttpClient(); string urlGetUser = String.Format("https://api.vk.com/method/users.get?token={0}&user_ids={1}", user.SerializeInfo, user.Uid ); string response = await httpClient.GetStringAsync(new Uri(urlGetUser)); string firstName = response.Split('[')[1].Split(',')[1].Split('\"')[3]; string lastName = response.Split('[')[1].Split(',')[2].Split('\"')[3]; return new User() { FirstName = firstName, LastName = lastName, Uid = user.Uid, SerializeInfo = user.SerializeInfo }; } catch (Exception ex) { } return null; }
public Task<IUser> Login(enSocialNetwork socialNetwork) { return modService.Login(socialNetwork); }
public Task <IEnumerable <IUser> > GetUserFriends(IUser user, enSocialNetwork enSocialNetwork) { throw new NotImplementedException(); }