private async void Authenticate() { ParseUser user = await ParseFacebookUtils.LogInAsync(webView, new[] { "user_about_me" }); webView.Visibility = Visibility.Collapsed; if (user.IsNew) { var client = new Facebook.FacebookClient(); client.AccessToken = ParseFacebookUtils.AccessToken; dynamic result = await client.GetTaskAsync("me"); string firstName = result.first_name; string lastName = result.last_name; var photo = string.Format("http://graph.facebook.com/{0}.{1}/picture", firstName, lastName); user.Add("FirstName", firstName); user.Add("LastName", lastName); user.Add("Photo", photo); await user.SaveAsync(); } ((App)App.Current).AuthenticatedUser = user; if (this.Model.NavigateCommand.CanExecute(null)) { this.Model.NavigateCommand.Execute(null); } }
/// <summary> /// Post message on Facebook. /// This is done by creating a facebook client and user using the acces token received with the OnNavigatedTo() method. /// The message is typed in by the user. /// </summary> private async void PostOnFb(string fbMessage) { //Checks if user is logged in. if (AccessToken == "0") { var dialog = new MessageDialog("You need to login before you can post on Facebook"); await dialog.ShowAsync(); } else { try { Facebook.FacebookClient fbClient = new Facebook.FacebookClient(AccessToken); dynamic fbUser = await fbClient.GetTaskAsync("me"); if (fbMessage == "") { errorTextBlock.Text = "You cannot place an empty message"; } else { await fbClient.PostTaskAsync("/me/feed", new { message = fbMessage }); var dialog = new MessageDialog("Message is succesfully published on your wall!"); await dialog.ShowAsync(); } } catch (Exception ex) { var dialog = new MessageDialog("An error occured while posting your message on Facebook: " + ex); await dialog.ShowAsync(); } } }
private static async Task SaveUserFacebookDetails() { var client = new Facebook.FacebookClient(App.AccessToken); var result = await client.GetTaskAsync("fql", new { q = "SELECT uid, name, pic_square, contact_email FROM user WHERE uid = '" + App.FacebookId + "'" }); var jsonCollection = new JsonDictionary(result.ToString().Replace("data:", "")); if (jsonCollection.ContainsKey("contact_email")) { App.UserPreferences.UserDetails.Email = jsonCollection["contact_email"]; } if (jsonCollection.ContainsKey("name")) { App.UserPreferences.UserDetails.Name = jsonCollection["name"]; } if (jsonCollection.ContainsKey("pic_square")) { App.UserPreferences.UserDetails.ProfilePicUrl = jsonCollection["pic_square"]; } if (jsonCollection.ContainsKey("user_mobile_phone")) { App.UserPreferences.UserDetails.ContactNumber = jsonCollection["user_mobile_phone"]; } if (jsonCollection.ContainsKey("uid")) { App.UserPreferences.UserDetails.FacebookId = jsonCollection["uid"]; } SettingsUtility.UpdateUserSettings(App.UserPreferences); }
Windows.Storage.ApplicationDataContainer kubInfo = Windows.Storage.ApplicationData.Current.LocalSettings; //Creates local storage location for Kub info. public MainGameMain() { this.InitializeComponent(); MainGameMain.instance = this; Connect(); FillComboBox(); threadSafeTimer.Interval = new TimeSpan(0, 0, 1); threadSafeTimer.Start(); threadSafeTimer.Tick += ThreadSafeEntry; this.NavigationCacheMode = NavigationCacheMode.Required; // Sets Facebook client, user and profile picture for last logged in user. try { if (fbInfo.Values["token"].ToString() != "0") { fbClient = new Facebook.FacebookClient(fbInfo.Values["token"].ToString()); fbUser = fbClient.GetTaskAsync("me"); fbProfilePic.Source = new BitmapImage(new Uri(fbInfo.Values["profilePicUrl"].ToString(), UriKind.Absolute)); } } catch { return; } }
private async void FetchFacebookNewFeed() { // get facebook new feed var fb = new Facebook.FacebookClient(Session.ActiveSession.CurrentAccessTokenData.AccessToken); var parameters = new Dictionary <string, object>(); parameters[""] = ""; dynamic result = await fb.GetTaskAsync("/me/home", parameters); foreach (var data in result[0]) { ISNPost tmp = new ISNPost(); ISNUser usr = new ISNUser(); try { tmp.id = data["id"]; tmp.message = data["message"]; usr.id = data["from"]["id"]; usr.name = data["from"]["name"]; usr.picture = "http://graph.facebook.com/" + data["from"]["id"] + "/picture"; tmp.user = usr; itemsList.Add(tmp); } catch (Exception exc) { continue; } } //this.myProgressRing.Visibility = Visibility.Collapsed; }
private async void Test_Click(object sender, RoutedEventArgs e) { var fb = new Facebook.FacebookClient(Session.ActiveSession.CurrentAccessTokenData.AccessToken); var parameters = new Dictionary <string, object>(); parameters[""] = ""; dynamic result = await fb.GetTaskAsync("/565811000225586", parameters); }
private async void RetriveUserInfo() { var token = Session.ActiveSession.CurrentAccessTokenData.AccessToken; var client = new Facebook.FacebookClient(token); dynamic result = await client.GetTaskAsync("me"); var currentUser = new Facebook.Client.GraphUser(result); //this.userInfo.Text = this.BuildUserInfoDisplay(currentUser); }
/// <summary> /// Handles user login. /// clientID is from Facebook developer page. /// Sets the scope needed to publish messages on users wall. /// Creates LoginUrl and redirect URL. /// Authentication is handled by WebAuthenticationBroker for save Authentication. /// </summary> public async void FBLogin() { try { //Facebook app id var clientId = "1269278043097270"; //Facebook permissions var scope = "public_profile, publish_actions, manage_pages"; var redirectUri = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString(); var fb = new Facebook.FacebookClient(); Uri loginUrl = fb.GetLoginUrl(new { client_id = clientId, redirect_uri = redirectUri, response_type = "token", scope = scope }); Uri startUri = loginUrl; Uri endUri = new Uri(redirectUri, UriKind.Absolute); WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, startUri, endUri); //Get acces token out of resonse data to create a facebook client and facebook user. if (webAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success) { var outputToken = webAuthenticationResult.ResponseData.ToString(); var pattern = string.Format("{0}#access_token={1}&expires_in={2}", WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), "(?<access_token>.+)", "(?<expires_in>.+)"); var match = Regex.Match(outputToken, pattern); var access_token = match.Groups["access_token"]; var expires_in = match.Groups["expires_in"]; accessToken = access_token.Value; TokenExpiry = DateTime.Now.AddSeconds(double.Parse(expires_in.Value)); fbClient = new Facebook.FacebookClient(accessToken); fbUser = await fbClient.GetTaskAsync("me"); WebRequest profilePicRequest = HttpWebRequest.Create(string.Format("https://graph.facebook.com/{0}/picture", fbUser.id)); WebResponse response = await profilePicRequest.GetResponseAsync(); var pictureUrl = response.ResponseUri.ToString(); fbProfilePic.Visibility = Visibility.Visible; fbProfilePic.Source = new BitmapImage(new Uri(pictureUrl, UriKind.Absolute)); fbInfo.Values["token"] = accessToken; fbInfo.Values["profilePicUrl"] = pictureUrl; } else { return; } } catch { return; } }
private async void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) { var fb = new Facebook.FacebookClient(App.AccessToken); var result = await fb.GetTaskAsync("fql", new { //q = "SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me() LIMIT 25)" //q = "SELECT aid FROM album WHERE (owner=1383951117)" q = "SELECT src_big,src_small,target_id FROM photo WHERE pid IN (SELECT pid FROM photo_tag WHERE subject='') OR pid IN (SELECT pid FROM photo WHERE aid IN (SELECT aid FROM album WHERE (owner='1383951117') AND type!='profile')) and place_id in (SELECT page_id FROM place WHERE distance(latitude, longitude, '41.878700', '-87.636620') < '50000')" }); //System.Threading.Thread.Sleep(4000); System.Diagnostics.Debug.WriteLine("Result: " + result.ToString()); JObject ob = JObject.Parse(result.ToString()); JArray data = (JArray)ob["data"]; int i; List<Uri> small=new List<Uri>(); List<Uri> big = new List<Uri>(); for(i=0;i<data.Count;i++) { JObject a=(JObject)data[i]; JValue b = (JValue)a["src_big"]; big.Add(new Uri(b.Value.ToString())); b = (JValue)a["src_small"]; small.Add(new Uri(b.Value.ToString())); } my_popup_cs.IsOpen = false; var GroupedURLs = new List<ImageViewModel>(); for (int j = 0; j < small.Count; j++) { var objImageViewModel = new ImageViewModel(); if (small.ElementAtOrDefault(j) != null) { objImageViewModel.First = big[j]; objImageViewModel.big = big[j]; } GroupedURLs.Add(objImageViewModel); } ic.ItemsSource = GroupedURLs; }
private static async Task <List <FriendEntity> > DownloadFriends(String accessToken) { var facebookFriendList = new List <FriendEntity>(); var client = new Facebook.FacebookClient(accessToken); dynamic result = await client.GetTaskAsync("fql", new { q = "SELECT uid,name,pic_big,birthday_date FROM user WHERE uid in (SELECT uid2 FROM friend where uid1 = me());" }); //JArray resultsList = JObject.Parse(result.ToString())["data"]; var resultsList = result["data"]; for (var i = 0; i < resultsList.Count; i++) { try { var friendObject = resultsList[i]; var friend = new FriendEntity { FacebookId = friendObject.uid.ToString(), Name = friendObject.name, ProfilePictureUrl = friendObject.pic_big, Birthday = (friendObject.birthday_date == null) ? String.Empty : BirthdayUtility.FormatFBUserBirthday(friendObject.birthday_date.ToString()) }; facebookFriendList.Add(friend); } catch (Exception ex) { AppLog.WriteToLog(DateTime.Now, "Error getting friend data from object" + ex.Message + ex.StackTrace + ex.InnerException + ex.Data, LogLevel.Error); } } return(facebookFriendList); }
private async void loginButton_SessionStateChanged(object sender, Facebook.Client.Controls.SessionStateChangedEventArgs e) { if (e.SessionState == Facebook.Client.Controls.FacebookSessionState.Opened) { var fb = new Facebook.FacebookClient(this.loginButton.CurrentSession.AccessToken); var result = await fb.GetTaskAsync("fql", new { q = "SELECT username,uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())" }); System.Diagnostics.Debug.WriteLine("Result: " + result.ToString()); Dispatcher.BeginInvoke(() => NavigationService.Navigate(new Uri("/map1.xaml?u=" + tbFbUser.Text, UriKind.Relative))); } else if (e.SessionState == Facebook.Client.Controls.FacebookSessionState.Closed) { // this.queryButton.Visibility = Visibility.Collapsed; //this.multiQueryButton.Visibility = Visibility.Collapsed; } // MessageBox.Show(tbUser.Text); // Dispatcher.BeginInvoke(() => MessageBox.Show(tbUser.Text)); }
public async void GenerateGigs(DateTime startDate, DateTime endDate, List <string> venues, System.Windows.Forms.RichTextBox rtbOutput) { var secrets = new ClientInformation(); using (System.IO.StreamReader r = new System.IO.StreamReader(@"C:\FacebookSecrets.json")) { string json = r.ReadToEnd(); secrets = JsonConvert.DeserializeObject <ClientInformation>(json); } var fb = new Facebook.FacebookClient(); dynamic result = fb.Get("oauth/access_token", new { client_id = secrets.ClientID, client_secret = secrets.ClientSecret, grant_type = "client_credentials" }); fb.AccessToken = result.access_token; Gigs = new List <Gig>(); foreach (string venue in venues) { var venueDetails = await fb.GetTaskAsync(string.Format("/{0}/events", venue)); var extractedGigs = JsonConvert.DeserializeObject <List <Gig> >(JObject.Parse(venueDetails.ToString()).SelectToken("data").ToString()); foreach (var gig in extractedGigs.Where(g => g.StartTime >= startDate && g.StartTime < endDate)) { Gigs.Add(gig); } } rtbOutput.Text = PrintGigs(startDate, endDate); }
public async void retrieveFbFriendList() { if (App.fbaccesstokenkey != null && App.fbaccesstokenkey != "") { dynamic friends = null; try { var facebookClient = new Facebook.FacebookClient(App.fbaccesstokenkey); var parameters = new Dictionary <string, object>(); parameters["access_token"] = App.fbaccesstokenkey; //parameters["fields"] = "id,name"; //parameters["limit"] = "5000"; //parameters["offset"] = "0"; friends = await facebookClient.GetTaskAsync("/me/friends"); List <FbFriend> resultList = new List <FbFriend>(); // Thread.Sleep(2000); foreach (var item in friends.data) { var newdata = item; string item1 = newdata.id.ToString(); string item2 = newdata.name.ToString(); FbFriend newFriend = new FbFriend(item1, item2); if (resultList.Contains(newFriend)) { item1 = item1 + "duplicate"; } resultList.Add(new FbFriend(item1, item2)); } App.fbFriendsData.friends = resultList; App.fbFriendsData.writeToFile(); Dispatcher.BeginInvoke(() => { //MessageBox.Show("Retrieved Friend List, Count: " + resultList.Count, "Result", MessageBoxButton.OK); List <AlphaKeyGroup <FbFriend> > DataSource = AlphaKeyGroup <FbFriend> .CreateGroups(resultList, System.Threading.Thread.CurrentThread.CurrentUICulture, (FbFriend s) => { return(s.name); }, true); FriendList.ItemsSource = DataSource; }); } catch (Exception ex) { Dispatcher.BeginInvoke(() => { if (friends != null) { MessageBox.Show("Exception during post: " + friends.ToString(), "Error", MessageBoxButton.OK); } else { MessageBox.Show("Exception during post: " + ex.ToString(), "Error", MessageBoxButton.OK); } }); } } }
private async void query_Click(object sender, RoutedEventArgs e) { var fb = new Facebook.FacebookClient(this.loginButton.CurrentSession.AccessToken); var result = await fb.GetTaskAsync("fql", new { q = new { friends = "SELECT message, created_time, likes.friends, post_id, permalink FROM stream WHERE source_id In(select page_id from page where name='" + namapage.Text + "')", friendinfo = "select name, uid from user where uid IN(SELECT likes.friends FROM #friends)" } }); StringBuilder temp = new StringBuilder(result.ToString()); temp.Replace('"', '|'); temp.Replace("|", ""); temp.Replace("{", ""); temp.Replace("}", ""); temp.Replace("[", ""); temp.Replace("]", ""); temp.Replace(":", ""); //temp.Replace("likes", ""); temp.Replace("name", ""); temp.Replace("friends,", ""); temp.Replace("friends", ""); temp.Replace(",friendinfo,", "+"); temp.Replace("fql_result_set", ""); temp.Replace("data", ""); temp.Replace(",uid", "-"); temp.Replace("message", "#$Isi Post : "); temp.Replace("https", "https:"); String[] data = temp.ToString().Split('+'); String[] idpengguna = data[1].Split(','); StringBuilder temp2 = new StringBuilder(data[0]); temp2.Replace(",created_time", "$created_time"); temp2.Replace(",likes", "$like"); temp2.Replace(",post_id", "$Post ID : "); temp2.Replace(",permalink", "$permalink"); String finalDetailPost = ""; String[] replicas = temp2.ToString().Split('#'); String likepenggunamentah = ""; String datausersementara = ""; foreach(String replica in replicas) { String[] pecahreplica = replica.Split('$'); foreach(String i in pecahreplica) { if(i.Contains("like")) { datausersementara = datausersementara + i; } } } String likepost = datausersementara.Replace("like", "#"); String[] likeposts = likepost.Split('#'); likepenggunamentah = datausersementara.Replace("like", ","); //System.Diagnostics.Debug.WriteLine(datausersementara); String[] likepengguna = likepenggunamentah.Split(','); int count; String hasilAkhir=""; foreach(String pengguna in idpengguna) { count = 0; String[] cek = pengguna.Split('-'); foreach(String like in likepengguna) { if(cek[1]==like) { count++; } } if(count>=5) { rewardmakan = rewardmakan + "-)" + cek[0] + "\n"; } else if(count>2 && count<5) { rewardminum = rewardminum + "-)" + cek[0] + "\n"; } hasilAkhir = hasilAkhir + cek[0] + " : " + count.ToString() + " likes\n"; } this.hasilquery.Text = "LIKE DATA :\n"+hasilAkhir; hadiahmakan.Text = rewardmakan; hadiahminum.Text = rewardminum; String tempdatauser = ""; int hitung; //finalizing int indeks; indeks = 0; String[] userperpost = tempdatauser.Split('@'); String finaldatauserpost = ""; foreach(String beriindeks in userperpost) { finaldatauserpost= finaldatauserpost + beriindeks + "#" + indeks.ToString() + "@"; indeks++; } foreach (String replica in replicas) { String[] pecahreplica = replica.Split('$'); String[] veryfinaluser = finaldatauserpost.Split('@'); if (!replica.Contains("permalink,")) { foreach (String i in pecahreplica) { if (!i.Contains("like") && !i.Contains("permalink") && !i.Contains("created_time")) { finalDetailPost = finalDetailPost + i + "\n"; } else if (i.Contains("created_time")) { String waktu = ""; waktu = i.Replace("created_time", ""); int timedifb; timedifb = Convert.ToInt32(waktu); DateTime unixYear0 = new DateTime(1970, 1, 1); long unixTimeStampInTicks = timedifb * TimeSpan.TicksPerSecond; DateTime dtUnix = new DateTime(unixYear0.Ticks + unixTimeStampInTicks); waktu = dtUnix.ToString("dd-MM-yyyy"); finalDetailPost = finalDetailPost + "Waktu Pembuatan : " + waktu + "\n"; } else if (i.Contains("like")) { finalDetailPost = finalDetailPost + "Post ini di-Like oleh : \n"; foreach (String nama in idpengguna) { String[] cek3 = nama.Split('-'); if (i.Contains(cek3[1])) { finalDetailPost = finalDetailPost + "-)" + cek3[0] + "\n"; } } } } } } this.detailpostfb.Text = finalDetailPost; System.Diagnostics.Debug.WriteLine(finalDetailPost); }
private async System.Threading.Tasks.Task RetriveUserInfo() { var client = new Facebook.FacebookClient(this.loginButton.CurrentSession.AccessToken); dynamic result = await client.GetTaskAsync("me"); var currentUser = new Facebook.Client.GraphUser(result); this.userInfo.Text = this.BuildUserInfoDisplay(currentUser); }
async System.Threading.Tasks.Task updateFriendsInfo() { try { var fb = new Facebook.FacebookClient(session.AccessToken); string query = "select uid, first_name, last_name from user where uid in (select uid2 from friend where uid1 = me()) and is_app_user"; var result = await fb.GetTaskAsync("fql", new { q = query }); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(result.ToString())); RootObject obj = new RootObject(); DataContractJsonSerializer ser = new DataContractJsonSerializer(obj.GetType()); obj = ser.ReadObject(ms) as RootObject; List<string> ids = new List<string>(); List<string> last_names = new List<string>(); List<string> first_names = new List<string>(); foreach (User u in obj.data) { ids.Add(u.uid); last_names.Add(u.last_name); first_names.Add(u.first_name); //System.Diagnostics.Debug.WriteLine("UID: " + u.uid + u.first_name + u.last_name); } ADFacebookWP8Impl.friendsInfo(ids.ToArray(), last_names.ToArray(), first_names.ToArray()); //System.Diagnostics.Debug.WriteLine("Result: " + result); } catch (Exception) { System.Diagnostics.Debug.WriteLine("updateFriendsInfo failed "); } }
private static async Task<List<FriendEntity>> DownloadFriends(String accessToken) { var facebookFriendList = new List<FriendEntity>(); var client = new Facebook.FacebookClient(accessToken); dynamic result = await client.GetTaskAsync("fql", new { q = "SELECT uid,name,pic_big,birthday_date FROM user WHERE uid in (SELECT uid2 FROM friend where uid1 = me());" }); //JArray resultsList = JObject.Parse(result.ToString())["data"]; var resultsList = result["data"]; for (var i = 0; i < resultsList.Count; i++) { try { var friendObject = resultsList[i]; var friend = new FriendEntity { FacebookId = friendObject.uid.ToString(), Name = friendObject.name, ProfilePictureUrl = friendObject.pic_big, Birthday = (friendObject.birthday_date == null) ? String.Empty : BirthdayUtility.FormatFBUserBirthday(friendObject.birthday_date.ToString()) }; facebookFriendList.Add(friend); } catch (Exception ex) { AppLog.WriteToLog(DateTime.Now, "Error getting friend data from object" + ex.Message + ex.StackTrace + ex.InnerException + ex.Data, LogLevel.Error); } } return facebookFriendList; }
async System.Threading.Tasks.Task updateMyInfo() { try { var client = new Facebook.FacebookClient(session.AccessToken); dynamic result = await client.GetTaskAsync("me"); var currentUser = new Facebook.Client.GraphUser(result); ADFacebookWP8Impl.myInfo(currentUser.Id, currentUser.LastName, currentUser.FirstName); } catch (Exception) { } }
internal async static void OnFacebookAuthenticationFinished(AccessTokenData session) { fb = new Facebook.FacebookClient(Session.ActiveSession.CurrentAccessTokenData.AccessToken); result = await fb.GetTaskAsync("me"); currentUser = new Facebook.Client.GraphUser(result); }