/// <summary> /// Destroy friendship with someone /// </summary> /// <param name="provider">credential provider</param> /// <param name="userId">target user id</param> /// <param name="screenName">target user screen name</param> /// <remarks> /// user id or user screeen name must set. /// </remarks> public static TwitterUser DestroyFriendship(this CredentialProvider provider, long?userId = null, string screenName = null) { if (userId == null && String.IsNullOrEmpty(screenName)) { throw new ArgumentException("User id or screen name is must set."); } List <KeyValuePair <string, string> > arg = new List <KeyValuePair <string, string> >(); if (userId != null) { arg.Add(new KeyValuePair <string, string>("user_id", userId.ToString())); } if (!String.IsNullOrEmpty(screenName)) { arg.Add(new KeyValuePair <string, string>("screen_name", screenName)); } var ret = provider.RequestAPIv1("friendships/destroy.json", CredentialProvider.RequestMethod.POST, arg); if (ret != null && ret.Root != null) { return(TwitterUser.FromNode(ret.Root)); } else { return(null); } }
/// <summary> /// Create friendship with someone /// </summary> /// <param name="provider">credential provider</param> /// <param name="userId">target user id</param> /// <param name="screenName">target user screen name</param> /// <param name="follow">send his tweet to specified device</param> /// <remarks> /// user id or user screeen name must set. /// </remarks> public static TwitterUser CreateFriendship(this CredentialProvider provider, long?userId = null, string screenName = null, bool follow = false) { if (userId == null && String.IsNullOrEmpty(screenName)) { throw new ArgumentException("User id or screen name is must set."); } var para = CreateParamList(); if (userId != null) { para.Add(new KeyValuePair <string, string>("user_id", userId.ToString())); } if (!String.IsNullOrEmpty(screenName)) { para.Add(new KeyValuePair <string, string>("screen_name", screenName)); } if (follow) { para.Add(new KeyValuePair <string, string>("follow", "true")); } var ret = provider.RequestAPIv1("friendships/create.json", CredentialProvider.RequestMethod.POST, para); if (ret != null && ret.Root != null) { return(TwitterUser.FromNode(ret.Root)); } else { return(null); } }
/// <summary> /// Get users /// </summary> private static IEnumerable <TwitterUser> GetUsers(this CredentialProvider provider, string partialUri, IEnumerable <KeyValuePair <string, string> > para) { var doc = provider.RequestAPIv1(partialUri, CredentialProvider.RequestMethod.GET, para); if (doc == null) { return(null); // request returns error ? } System.Diagnostics.Debug.WriteLine("GetUsers ::: " + Environment.NewLine + doc); return(doc.Root.Element("users").Elements().Select(u => TwitterUser.FromNode(u)).Where(u => u != null)); }
private void ParseSourceTargetUsers(XElement node) { var source = node.Element("source"); var target = node.Element("target"); if (source == null || target == null) { ParseUndefined(node); } SourceUser = TwitterUser.FromNode(source); TargetUser = TwitterUser.FromNode(target); }
/// <summary> /// Get user with full params /// </summary> private static TwitterUser GetUser(this CredentialProvider provider, string partialUri, CredentialProvider.RequestMethod method, long?userId, string screenName) { var para = new List <KeyValuePair <string, string> >(); if (userId != null) { para.Add(new KeyValuePair <string, string>("user_id", userId.ToString())); } if (screenName != null) { para.Add(new KeyValuePair <string, string>("screen_name", screenName)); } var doc = provider.RequestAPIv1(partialUri, method, para); if (doc == null) { return(null); } return(TwitterUser.FromNode(doc.Root)); }
/// <summary> /// Report spam and block someone /// </summary> /// <param name="provider">credential provider</param> /// <param name="userId">block user id</param> /// <param name="screenName">block user screen name</param> /// <remarks> /// user id or user screeen name must set. /// </remarks> public static TwitterUser ReportSpam(this CredentialProvider provider, long?userId = null, string screenName = null) { if (userId == null && String.IsNullOrEmpty(screenName)) { throw new ArgumentException("User id or screen name is must set."); } var para = CreateParamList(); if (userId != null) { para.Add(new KeyValuePair <string, string>("user_id", userId.ToString())); } if (!String.IsNullOrEmpty(screenName)) { para.Add(new KeyValuePair <string, string>("screen_name", screenName)); } var ret = provider.RequestAPIv1("users/report_spam.json", CredentialProvider.RequestMethod.POST, para); if (ret != null && ret.Root != null) { return(TwitterUser.FromNode(ret.Root)); } return(null); }