public static bool CreateFriend(OneUser me, OneUser other) { try { var fb = new FacebookClient(); dynamic result = fb.Post(string.Format("{0}/friends/{1}", me.Id, other.Id), new { access_token = me.AccessToken }); if (result) { result = fb.Post(string.Format("{0}/friends/{1}", other.Id, me.Id), new { access_token = other.AccessToken }); if (result) { return(true); } } } catch (Exception ex) { if (ex.Message.IndexOf("already friends") >= 0) { return(true); //既に友達になっている } } return(false); }
ListViewItem OneUser2Item(OneUser oneUser) { var item = new ListViewItem(); item.SubItems.Add(oneUser.Name); item.SubItems.Add(oneUser.Id); item.SubItems.Add(oneUser.Gender); item.SubItems.Add(oneUser.AccessToken); item.SubItems.Add(oneUser.LoginUrl); item.SubItems.Add(oneUser.Password); return(item); }
public static OneUser GetOneUser(String userId, string loginUrl) { try { var fb = new FacebookClient(); dynamic result = fb.Get(string.Format("{0}", userId)); var o = new OneUser() { Id = userId, LoginUrl = loginUrl, Name = result["name"], Gender = result["gender"] }; return(o); } catch (Exception) { ; } return(null); }
//友達の追加 private void MainMenuFriend_Click(object sender, EventArgs e) { if (listViewUser.SelectedItems.Count <= 0) { return; } OneUser me = null; var ar = new List <OneUser>(); for (var i = 0; i < listViewUser.Items.Count; i++) { var item = listViewUser.Items[i]; var oneUser = Item2OneUser(item); if (listViewUser.SelectedItems[0] == item) { me = oneUser; //自分 if (string.IsNullOrEmpty(me.AccessToken)) { MessageBox.Show("アプリ許可が無いので、友達を作成することはできません", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; //AccessTokenが無い場合、友達の作成はできない } } else { //AccessTokenがある(アプリ許可されているユーザ)のみが対象になる if (!string.IsNullOrEmpty(oneUser.AccessToken)) { ar.Add(oneUser); //自分以外 } } } var dlg = new FriendDlg(ar); if (DialogResult.OK == dlg.ShowDialog()) { foreach (var a in dlg.Ar) { if (!FbUtil.CreateFriend(me, a)) { MessageBox.Show("友達の追加に失敗しました", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } } }