public ActionResult AuthorizeCallback(string oauth_token, string oauth_verifier) { TwitterService service = new TwitterService(_consumerKey, _consumerSecret); var requestToken = new OAuthRequestToken {Token = oauth_token}; OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier); service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret); TwitterUser user = service.VerifyCredentials(); ViewModel.Message = string.Format("Your username is {0}", user.ScreenName); return View("Index"); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { if (e.Parameter is TwitterService) { TwitterClient = e.Parameter as TwitterService; List<Tweet> lists = await TwitterClient.requestTwitterApi(_getHomeTimelineUrl); foreach (Tweet tweet in lists) { ViewModel.tweets.Add(tweet); } List<Tweet> mentions = await TwitterClient.requestTwitterApi(_getMentionsUrl); foreach (Tweet tweet in mentions) { MentionsViewModel.tweets.Add(tweet); } List<Tweet> userstweets = await TwitterClient.requestTwitterApi(_getUserTimelineUrl); foreach (Tweet tweet in userstweets) { ProfileViewModel.tweets.Add(tweet); } } else { //no tweets } base.OnNavigatedTo(e); }
public void Can_parse_ids_greater_than_53_bits() { const string json = "{ \"id\": 90071992547409921}"; var status = new TwitterService().Deserialize<TwitterStatus>(json); Assert.IsNotNull(status); Assert.AreEqual(90071992547409921, status.Id); }
public void Can_get_media_links_from_entities() { var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(_accessToken, _accessTokenSecret); var tweet = service.GetTweet(128818112387756032); Assert.IsNotNull(tweet.Entities); Assert.AreEqual(1, tweet.Entities.Media.Count); var media = tweet.Entities.Media[0]; Assert.AreEqual("http://p.twimg.com/AcmnZAXCMAEaDD1.jpg", media.MediaUrl); Assert.AreEqual("https://p.twimg.com/AcmnZAXCMAEaDD1.jpg", media.MediaUrlHttps); Assert.AreEqual("http://twitter.com/sarah_hatton/status/128818112387756032/photo/1", media.ExpandedUrl); Assert.AreEqual("pic.twitter.com/xCdS2Emt", media.DisplayUrl); Assert.AreEqual(TwitterMediaType.Photo, media.MediaType); Assert.AreEqual(69, media.Indices[0]); Assert.AreEqual(89, media.Indices[1]); Assert.AreEqual("128818112391950337", media.IdAsString); Assert.AreEqual(128818112391950337, media.Id); // Sizes Assert.AreEqual(4, media.Sizes.Count()); Assert.AreEqual("fit", media.Sizes.Large.Resize); Assert.AreEqual(597, media.Sizes.Large.Height); Assert.AreEqual(800, media.Sizes.Large.Width); }
public void Can_get_reverse_geocode() { var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(_accessToken, _accessTokenSecret); var places = service.ReverseGeocode(45.42153, -75.697193).ToList(); Assert.IsNotEmpty(places); Assert.AreEqual(4, places.Count); places = places.OrderBy(p => p.Id).ToList(); Assert.AreEqual("Ottawa, Ontario", places[0].FullName); Assert.AreEqual(TwitterPlaceType.City, places[0].PlaceType); Assert.AreEqual("06183ca2a30a18e8", places[0].Id); Assert.AreEqual(1, places[0].ContainedWithin.Count()); Assert.AreEqual("89b2eb8b2b9847f7", places[0].ContainedWithin.ToList()[0].Id); Assert.AreEqual("Canada", places[1].FullName); Assert.AreEqual("3376992a082d67c7", places[1].Id); Assert.AreEqual(TwitterPlaceType.Country, places[1].PlaceType); Assert.AreEqual("Ontario, Canada", places[2].FullName); Assert.AreEqual(TwitterPlaceType.Admin, places[2].PlaceType); Assert.AreEqual("Québec, Canada", places[3].FullName); Assert.AreEqual(TwitterPlaceType.Admin, places[3].PlaceType); }
public void Can_tweet_with_protected_resource_info() { var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(_accessToken, _accessTokenSecret); var status = service.SendTweet(new SendTweetOptions { Status = DateTime.Now.Ticks.ToString() }); Assert.IsNotNull(status); }
public void Can_get_public_timeline() { var service = new TwitterService(); var tweets = service.ListTweetsOnPublicTimeline(); Assert.IsNotNull(tweets); Assert.AreEqual(20, tweets.Count()); Assert.IsNotNull(service.Response); Assert.AreEqual(HttpStatusCode.OK, service.Response.StatusCode); var unfavorited = 20; foreach (var tweet in tweets) { Assert.IsNotNullOrEmpty(tweet.RawSource); Assert.AreNotEqual(default(DateTime), tweet.CreatedDate); Console.WriteLine("{0} said '{1}'", tweet.User.ScreenName, tweet.Text); if(tweet.IsFavorited) { unfavorited--; } } Assert.IsTrue(unfavorited > 0); AssertRateLimitStatus(service); }
public void Can_support_secure_urls_in_entitities() { var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(_accessToken, _accessTokenSecret); var tweet = service.GetTweet(131501393033961472); Console.WriteLine(tweet.RawSource); }
public async Task Can_get_request_token_async() { var service = new TwitterService(_consumerKey, _consumerSecret); var result = await service.GetRequestTokenAsync(); Assert.AreEqual(result.Response.StatusCode, HttpStatusCode.OK); Assert.NotNull(result.Value); }
public void Can_get_request_token() { var service = new TwitterService(_consumerKey, _consumerSecret); var requestToken = service.GetRequestToken(); AssertResultWas(service, HttpStatusCode.OK); Assert.NotNull(requestToken); }
public ActionResult Authorize() { TwitterService service = new TwitterService(_consumerKey, _consumerSecret); OAuthRequestToken requestToken = service.GetRequestToken(); var uri = service.GetAuthorizationUri(requestToken); return new RedirectResult(uri.ToString(), false /*permanent*/); }
public void GetTweets_Can_Successfully_Retrieve_Values_From_Twitter() { var query = "#ltnet"; var twitterService = new TwitterService(); var tweets = twitterService.GetTweets(query, this.date); Assert.That(tweets.Count(), Is.GreaterThan(0)); }
public void GetTweers_Returns_Empty_List_When_No_Results_Found() { var empty = 0; var query = "#hashtagfortesting"; var twitterService = new TwitterService(); var tweets = twitterService.GetTweets(query, this.date); Assert.AreEqual(empty, tweets.Count()); }
public void GetTweers_Returns_Empty_List_When_Internal_Exception_Happens() { var empty = 0; string query = null; var twitterService = new TwitterService(); var tweets = twitterService.GetTweets(query, this.date); Assert.AreEqual(empty, tweets.Count()); }
public string GetTweetsOnHashTags(string hashTags) { var service = new TwitterService(consumerKey, consumerSecret); service.AuthenticateWith(accessToken, accessTokenSecret); SearchOptions so = new SearchOptions(); so.Q = "#"+hashTags; so.Count = 100; var tweeting = service.Search(so); IEnumerable<TwitterStatus> returnValue = tweeting.Statuses; TweetsInst tweets = null; MulTweetInstance multweets = new MulTweetInstance(); foreach (var twt in returnValue) { tweets = new TweetsInst(); if (twt.Author.ScreenName != null) { tweets.author = twt.Author.ScreenName; } else { tweets.author = ""; } if (twt.Author.ProfileImageUrl != null) { tweets.UserImage = twt.Author.ProfileImageUrl; } else { tweets.UserImage = ""; } if (twt.User != null) { tweets.User_ID = Convert.ToString(twt.User.Id); } else { tweets.User_ID = null; } if (twt.Text != null) { tweets.tweet = twt.Text; } else { tweets.tweet = ""; } if (twt.Location != null) { tweets.latitude = Convert.ToString(twt.Location.Coordinates.Latitude); } else { tweets.latitude = ""; } if (twt.Location != null) { tweets.longitude = Convert.ToString(twt.Location.Coordinates.Longitude); } else { tweets.longitude = null; } if (twt.Place != null) { tweets.country = twt.Place.Country; } else { tweets.country = ""; } multweets.mulTweet.Add(tweets); } string output = JsonConvert.SerializeObject(multweets); return output; }
public OAuthDialog(IAccessTokenStore accessTokenStore, ITwitterApplicationCredentials applicationCredentials) { _accessTokenStore = accessTokenStore; _applicationCredentials = applicationCredentials; InitializeComponent(); pinTextBox.Visibility = Visibility.Hidden; pinLbl.Visibility = Visibility.Hidden; pinInstruction.Visibility = Visibility.Hidden; _service = new TwitterService(_applicationCredentials.ConsumerKey, _applicationCredentials.ConsumerSecret); }
public void Can_get_basic_place() { var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(_accessToken, _accessTokenSecret); // Presidio var place = service.GetPlace("df51dec6f4ee2b2c"); Assert.IsNotNull(place); Assert.AreEqual("df51dec6f4ee2b2c", place.Id); Assert.AreEqual("Presidio", place.Name); Assert.AreEqual("United States", place.Country); Assert.AreEqual("US", place.CountryCode); Assert.AreEqual("Presidio, San Francisco", place.FullName); }
public void TestSetup() { var consumerKey = ConfigurationManager.AppSettings["consumerKey"]; var consumerSecret = ConfigurationManager.AppSettings["consumerSecret"]; if (string.IsNullOrEmpty(consumerKey)) Assert.Inconclusive("You must set the consumer key for integration tests to run."); if (string.IsNullOrEmpty(consumerSecret)) Assert.Inconclusive("You must set the consumer secret for integration tests to run."); var auth = new ApplicationOnlyAuth(consumerKey, consumerSecret); _sut = new TwitterService(auth); }
public void Given_Last_Tweet_Date_GetTweets_Can_Successfully_Retrieve_Latest_Values_From_Twitter() { var query = "#ltnet"; var twitterService = new TwitterService(); var tweets = twitterService.GetTweets(query, this.date).ToList(); if (tweets.Count() > 1) { var fromDate = tweets.Last().Published; var latestTweets = twitterService.GetTweets(query, fromDate); Assert.That(tweets.Count(), Is.GreaterThan(latestTweets.Count())); } }
public void Can_exchange_for_access_token() { var service = new TwitterService(_consumerKey, _consumerSecret); var requestToken = service.GetRequestToken(); AssertResultWas(service, HttpStatusCode.OK); Assert.NotNull(requestToken); var uri = service.GetAuthorizationUri(requestToken); Process.Start(uri.ToString()); Console.WriteLine("Press the any key when you have confirmation of your code transmission."); var verifier = "1234567"; // <-- Debugger breakpoint and edit with the actual verifier OAuthAccessToken accessToken = service.GetAccessToken(requestToken, verifier); AssertResultWas(service, HttpStatusCode.OK); Assert.IsNotNull(accessToken); }
public void Can_initialize_generated_service() { _username = ConfigurationManager.AppSettings["TwitterUsername"]; _password = ConfigurationManager.AppSettings["TwitterPassword"]; _consumerKey = ConfigurationManager.AppSettings["OAuthConsumerKey"]; _consumerSecret = ConfigurationManager.AppSettings["OAuthConsumerSecret"]; _token = ConfigurationManager.AppSettings["OAuthAccessToken"]; _tokenSecret = ConfigurationManager.AppSettings["OAuthTokenSecret"]; _service = new TwitterService(_consumerKey, _consumerSecret); var ignore = ConfigurationManager.AppSettings["IgnoreStatusUpdateTests"]; if(!bool.TryParse(ignore, out _ignoreTestsThatPostToTwitter)) { _ignoreTestsThatPostToTwitter = true; } }
static void Main(string[] args) { var consumerKey = ConfigurationManager.AppSettings["consumerKey"]; if (string.IsNullOrEmpty(consumerKey)) { Console.Write("Enter the consumer key: "); consumerKey = Console.ReadLine(); } var consumerSecret = ConfigurationManager.AppSettings["consumerSecret"]; if (string.IsNullOrEmpty(consumerSecret)) { Console.Write("Enter the consumer secret: "); consumerSecret = Console.ReadLine(); } Console.Write("Enter the desired screen name: "); var screenName = Console.ReadLine(); Console.Write("Enter how many tweets to retrieve: "); var numberOfTweets = int.Parse(Console.ReadLine() ?? ""); Console.WriteLine("Retrieving user timeline..."); var auth = new ApplicationOnlyAuth(consumerKey, consumerSecret); var service = new TwitterService(auth); var timeline = service.GetUserTimeline(screenName, numberOfTweets); foreach (var tweet in timeline.Tweets) { Console.WriteLine(); Console.WriteLine("{0:MM-dd-yyyy HH:mm:ss} : {1}", tweet.Created, tweet.Text); Console.WriteLine("Retweeted {0} time, favorited {1} times", tweet.RetweetCount.GetValueOrDefault(0), tweet.FavoriteCount.GetValueOrDefault(0)); } Console.Write("Press any key to exit..."); Console.ReadLine(); }
public void Can_get_direct_messages() { var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(_accessToken, _accessTokenSecret); var dms = service.ListDirectMessagesReceived(); Assert.IsNotNull(dms); Assert.IsTrue(dms.Count() <= 20); Assert.IsNotNull(service.Response); AssertResultWas(service, HttpStatusCode.OK); foreach (var tweet in dms) { Assert.IsNotNull(tweet.RawSource); Assert.AreNotEqual(default(DateTime), tweet.CreatedDate); Console.WriteLine("{0} said '{1}'", tweet.SenderScreenName, tweet.Text); } AssertRateLimitStatus(service); }
public AuthenticateResult Authenticate(Server server, Connection connection, UserInfo userInfo) { // ニックネームとパスワードのチェック if (String.IsNullOrEmpty(userInfo.Nick)) { return new AuthenticateResult(ErrorReply.ERR_NONICKNAMEGIVEN, "No nickname given"); } if (String.IsNullOrEmpty(userInfo.Password)) { return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect"); } // ログインチェック // この段階でTwitterServiceは作っておく connection.SendGatewayServerMessage("* アカウント認証を確認しています..."); TwitterService twitter = new TwitterService(userInfo.UserName, userInfo.Password); User twitterUser = null; try { twitterUser = twitter.VerifyCredential(); } catch (WebException we) { // Twitter の接続に失敗 connection.SendGatewayServerMessage("* アカウント認証に失敗しました。ユーザ名またはパスワードを確認してください。"); return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect"); } catch (Exception ex) { // Twitter の接続に失敗 connection.SendGatewayServerMessage("* アカウント認証に失敗しました。ユーザ名またはパスワードを確認してください。内部的なエラーが発生しました。"); Trace.TraceError(ex.ToString()); return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect"); } connection.SendGatewayServerMessage(String.Format("* アカウント: {0} (ID:{1})", twitterUser.ScreenName, twitterUser.Id)); return new TwitterAuthenticateResult(twitterUser); // 成功 }
public void Can_make_protected_resource_request_with_access_token() { var service = new TwitterService(_consumerKey, _consumerSecret); var request = service.GetRequestToken(); AssertResultWas(service, HttpStatusCode.OK); Assert.NotNull(request); var uri = service.GetAuthorizationUri(request); Process.Start(uri.ToString()); Console.WriteLine("Press the any key when you have confirmation of your code transmission."); var verifier = "1234567"; // <-- Debugger breakpoint and edit with the actual verifier var access = service.GetAccessToken(request, verifier); AssertResultWas(service, HttpStatusCode.OK); Assert.IsNotNull(access); service.AuthenticateWith(access.Token, access.TokenSecret); var mentions = service.ListTweetsMentioningMe(new ListTweetsMentioningMeOptions()); Assert.IsNotNull(mentions); Assert.AreEqual(20, mentions.Count()); }
public void Authenticate() { var twitterService = new TwitterService(); twitterService.Authenticate(); }
/// <summary> /// Loads the tweet text data for each id in the corpus. /// </summary> /// <param name="service">TwitterService</param> /// <param name="corpus">List of CorpusDataRow</param> /// <param name="outputPath">File path to output data file.</param> /// <returns>List of CorpusDataRow (with Tweet DTO populated).</returns> private static List <CorpusDataRow> LoadTweets(TwitterService service, List <CorpusDataRow> corpus, string outputPath) { List <CorpusDataRow> outputCorpus = new List <CorpusDataRow>(); int skipCount = 0; for (int index = GetResumeIndex(corpus, outputPath); index < corpus.Count; index++) { CorpusDataRow row = corpus[index]; // Fetch the tweet. var status = service.GetTweet(new GetTweetOptions() { Id = row.Id }); status.Text = status.Text.Replace(",", " "); status.Text = status.Text.Replace("\n", " "); status.Text = status.Text.Replace("\r", " "); status.Text = status.Text.Replace("\t", " "); if (service.Response.StatusCode == System.Net.HttpStatusCode.OK) { // Convert the TwitterStatus to a Tweet DTO. row.Tweet = Mapper.Map <TwitterStatus, Tweet>(status); // Save the result to file. SaveResult(row, outputPath); outputCorpus.Add(row); if ((index + 1) % 50 == 0) { Console.WriteLine("Processed " + (index + 1) + " tweets."); } } else { // Check the rate limit. TwitterRateLimitStatus rateSearch = service.Response.RateLimitStatus; if (rateSearch.RemainingHits < 1) { DateTime resetTime = rateSearch.ResetTime + TimeSpan.FromMinutes(1); Console.WriteLine("Rate Limit reached. Sleeping until " + resetTime); Thread.Sleep(resetTime - DateTime.Now); // Try this record again. index--; } else { // Some other error. Maybe 404. Skip this record. skipCount++; Console.WriteLine("Skipped " + skipCount + " records. Got " + service.Response.StatusCode + "."); } } } Console.WriteLine("Saved " + outputCorpus.Count + ", Skipped " + skipCount + "."); return(outputCorpus); }
public IHttpActionResult GetFeedPath(string token, string tokenSecret, double latitude, double longitude, string screenname) { var settingsReader = new AppSettingsReader(); var consumerKey = settingsReader.GetValue("TwitterKey", typeof(string)).ToString(); var consumerSecret = settingsReader.GetValue("TwitterSecret", typeof(string)).ToString(); var service = new TwitterService(consumerKey, consumerSecret); service.AuthenticateWith(token, tokenSecret); var response = service.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { ScreenName = screenname, Count = 5 }) ?? new List <TwitterStatus>(); var statuses = new List <Tweets>(); foreach (var twitterStatus in response) { if (twitterStatus.Entities == null) { continue; } var urls = twitterStatus.Entities.Media.Select(rawLinks => rawLinks.MediaUrl).ToList(); var encrypted = false; foreach (var media in twitterStatus.Entities.Media) { if (media.MediaType != TwitterMediaType.Photo) { continue; } using (var client = new WebClient()) { var image = client.DownloadData(media.MediaUrl); var ms = new MemoryStream(image); var bmp = new Bitmap(Image.FromStream(ms)); var extracted = Steganography.Extract(bmp); var decryptedMessage = Encryption.Decrypt(extracted); if (string.IsNullOrEmpty(decryptedMessage)) { continue; } var embedded = new JavaScriptSerializer().Deserialize <EmbeddedDetails>(decryptedMessage); var currentLocation = new GeoCoordinate { Latitude = latitude, Longitude = longitude }; var requiredLocation = new GeoCoordinate { Latitude = embedded.Latitude, Longitude = embedded.Longitude }; if (!GeoLocation.WithinRadius(currentLocation, requiredLocation)) { continue; } embedded.FinalMystery = null; encrypted = true; statuses.Add(new Tweets { Text = twitterStatus.Text, ScreenName = twitterStatus.User.ScreenName, Name = twitterStatus.User.Name, MediaUrls = urls, ProfileImageUrl = twitterStatus.User.ProfileImageUrl, DecryptedMessage = embedded }); } } if (!encrypted) { statuses.Add(new Tweets { Text = twitterStatus.Text, ScreenName = twitterStatus.User.ScreenName, Name = twitterStatus.User.Name, MediaUrls = urls, ProfileImageUrl = twitterStatus.User.ProfileImageUrl }); } } return(Ok(statuses)); }
/// <summary> /// Static constructor. /// </summary> static Jarvis() { // Inicializamos el Servicio de Twitter empleando el uso de la lib TweetSharp. Jarvis.mainService = new TwitterService(costumerKey, costumerSecret, accesToken, accesTokenSecret); }
public void GetRecentTweets_WithOK_True() { // Arrange var restMock = new Mock <IRestClient>(); var service = new TwitterService(new TokenService("Test")); var twitterResponseMock = new List <TwitterResponse>() { new TwitterResponse() { UID = "1", CreatedAt = DateTime.Now.AddHours(-1), FullText = "Test Data", Truncated = false }, new TwitterResponse() { UID = "2", CreatedAt = DateTime.Now.AddHours(-1), FullText = "Test Data", Truncated = false }, new TwitterResponse() { UID = "3", CreatedAt = DateTime.Now.AddHours(-1), FullText = "Test Data", Truncated = false }, new TwitterResponse() { UID = "4", CreatedAt = DateTime.Now.AddHours(-1), FullText = "Test Data", Truncated = false }, new TwitterResponse() { UID = "5", CreatedAt = DateTime.Now.AddHours(-1), FullText = "Test Data", Truncated = false }, new TwitterResponse() { UID = "6", CreatedAt = DateTime.Now.AddHours(-1), FullText = "Test Data", Truncated = false } }; // Act restMock .Setup(x => x.Execute <List <TwitterResponse> >(It.IsAny <RestRequest>())) .Returns(new RestResponse <List <TwitterResponse> >() { StatusCode = HttpStatusCode.OK, ResponseStatus = ResponseStatus.Completed, Data = twitterResponseMock }); service.Client = restMock.Object; // Assert Assert.Equal(twitterResponseMock, service.GetRecentTweets(12)); }
internal TwitterSearchEndpoint(TwitterService service) { Service = service; }
public static void tweetpc() { string apiKey = "your_api_key"; string apiSecret = "your_api_secret"; string accessToken = "_your_access_token"; string accesstokSec = "your_access_token_sec"; var service = new TwitterService(apiKey, apiSecret); service.AuthenticateWith(accessToken, accesstokSec); string path = @"C:\Users\ay-_-\Documents\Picture Bot"; //path which includes the pictures int number = chooseNum(); var sorted = (from fn in Directory.GetFiles(path) let m = Regex.Match(fn, @"(?<order>\d+)") where m.Success let n = int.Parse(m.Groups["order"].Value) orderby n select fn).ToList(); var photo = sorted[number]; string myval = photo.ToString(); using (var stream = new FileStream(myval, FileMode.Open)) { var result = service.SendTweetWithMedia(new SendTweetWithMediaOptions { Images = new Dictionary <string, Stream> { { "image bot", stream } } }); if (File.Exists(myval)) { File.Delete(myval); } } //********************** TWEET BING PICTURE************************ string path2 = @"C:\Users\ay-_-\Documents\Bing Picture"; var sorted2 = (from fn in Directory.GetFiles(path2) let m = Regex.Match(fn, @"(?<order>\d+)") where m.Success let n = int.Parse(m.Groups["order"].Value) orderby n select fn).ToList(); var photo2 = sorted2[0]; string myval2 = photo2.ToString(); string link = "https://www.bing.com/ " + DateTime.Now; using (var stream2 = new FileStream(myval2, FileMode.Open)) { var result = service.SendTweetWithMedia(new SendTweetWithMediaOptions { Status = link, Images = new Dictionary <string, Stream> { { "image bot tweet", stream2 } } }); if (File.Exists(myval2)) { File.Delete(myval2); } } }
public frmHome() { InitializeComponent(); service = new TwitterService(ConsumerKey, ConsumerSecret, AccessToken, AccessSecret); }
private static void AssertRateLimitStatus(TwitterService service) { var rate = service.Response.RateLimitStatus; Assert.IsNotNull(rate); Assert.AreNotEqual(0, rate.HourlyLimit); Console.WriteLine(); Console.WriteLine("{0} / {1} API calls remaining", rate.RemainingHits, rate.HourlyLimit); }
internal TwitterAccountEndpoint(TwitterService service) { Service = service; }
public void Can_get_entities_on_direct_messages() { var service = new TwitterService { IncludeEntities = true }; service.AuthenticateWith(_consumerKey, _consumerSecret, _accessToken, _accessTokenSecret); var tweets = service.ListDirectMessagesSent(new ListDirectMessagesSentOptions()); if(!tweets.Any()) { Assert.Ignore("No direct messages available to verify entities"); } Console.WriteLine(service.Response.Response); foreach (var tweet in tweets) { Assert.IsNotNull(tweet.Entities); var coalesced = tweet.Entities.Coalesce(); var text = tweet.Text; Assert.IsNotNull(tweet.TextAsHtml); Console.WriteLine("Tweet: " + text); Console.WriteLine("HTML: " + tweet.TextAsHtml); foreach(var entity in coalesced) { switch(entity.EntityType) { case TwitterEntityType.HashTag: var hashtag = ((TwitterHashTag) entity).Text; Console.WriteLine(hashtag); var hashtagText = text.Substring(entity.StartIndex, entity.EndIndex - entity.StartIndex); Assert.AreEqual("#" + hashtag, hashtagText); break; case TwitterEntityType.Mention: var mention = ((TwitterMention) entity).ScreenName; Console.WriteLine(mention); var mentionText = text.Substring(entity.StartIndex, entity.EndIndex - entity.StartIndex); Assert.AreEqual("@" + mention, mentionText); break; case TwitterEntityType.Url: var url = ((TwitterUrl) entity).Value; Console.WriteLine(url); var urlText = text.Substring(entity.StartIndex, entity.EndIndex - entity.StartIndex); Assert.AreEqual(url, urlText); break; default: throw new ArgumentOutOfRangeException(); } } Console.WriteLine(); } }
public override TaskStatus Run() { Info("Sending tweets..."); bool success = true; bool atLeastOneSucceed = false; var files = SelectFiles(); if (files.Length > 0) { TwitterService service; try { service = new TwitterService(); service.AuthenticateWith(ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret); Info("Authentication succeeded."); } catch (ThreadAbortException) { throw; } catch (Exception e) { ErrorFormat("Authentication failed.", e); return(new TaskStatus(Status.Error, false)); } foreach (FileInf file in files) { try { var xdoc = XDocument.Load(file.Path); foreach (XElement xTweet in xdoc.XPathSelectElements("Tweets/Tweet")) { var status = xTweet.Value; var tweet = service.SendTweet(new SendTweetOptions { Status = status }); InfoFormat("Tweet '{0}' sent. id: {1}", status, tweet.Id); } if (!atLeastOneSucceed) { atLeastOneSucceed = true; } } catch (ThreadAbortException) { throw; } catch (Exception e) { ErrorFormat("An error occured while sending the tweets of the file {0}.", e, file.Path); success = false; } } } var tstatus = Status.Success; if (!success && atLeastOneSucceed) { tstatus = Status.Warning; } else if (!success) { tstatus = Status.Error; } Info("Task finished."); return(new TaskStatus(tstatus, false)); }
internal TwitterStatusesEndpoint(TwitterService service) { Service = service; }
public TwitterApi(ApiKeys keys) { _twitterService = new TwitterService(keys.ConsumerKey, keys.ConsumerKeySecret, keys.AccessToken, keys.AccessTokenSecret); }
public ActionResult ExternalLoginConfirmation(RegisterExternalLoginModel model, string returnUrl) { string provider = null; string providerUserId = null; if (User.Identity.IsAuthenticated || !OAuthWebSecurity.TryDeserializeProviderUserId(model.ExternalLoginData, out provider, out providerUserId)) { return(RedirectToAction("Manage")); } if (ModelState.IsValid) { // Insert a new user into the database using (UsersContext db = new UsersContext()) { UserProfile user = db.UserProfiles.FirstOrDefault(u => u.UserName.ToLower() == model.UserName.ToLower()); // Check if user already exists if (user == null) { // Insert name into the profile table UserProfile profile = db.UserProfiles.Add(new UserProfile { UserName = model.UserName }); db.SaveChanges(); OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName); OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false); //need to check to see if it is facebook or twitter if (provider == "twitter") { if (Session["AccessToken"] != null && Session["AccessTokenSecret"] != null) //used to distinugish between facebook and twitter regisration { //"9kCMAgidv1NzN8TfMVgZw", "RimlGsenvejdoRlw0NSazYzXJBO6olF2IBMJcw11Uc" //creating new tweetsharp service TwitterService service = new TwitterService(Settings.Settings.TwitterConsumerKey, Settings.Settings.TwitterConsumerSecret, Session["AccessToken"].ToString(), Session["AccessTokenSecret"].ToString()); TwitterUser me = service.VerifyCredentials(); ContextDb _db = new ContextDb(); Models.User temp = new Models.User { UserId = profile.UserId, Email = model.Email, Image = me.ProfileImageUrl, Name = me.Name, RemainingProposals = 100, RemainingVotes = 100 }; temp = _db.User.Add(temp); _db.SaveChanges(); CheckChanceState(temp.UserId); DatabaseCallsApi _api = new DatabaseCallsApi(); _api.AddOrUpdateService(temp.UserId, "twitter", Session["AccessToken"].ToString(), Session["AccessTokenSecret"].ToString()); Session.Remove("AccessToken"); Session.Remove("AccessTokenSecret"); } } else { //setting new facebook service FacebookAPI facebook = new FacebookAPI(FacebookToken); dynamic facebookData = facebook.GetUsersData(); if (facebookData != null) { ContextDb _db = new ContextDb(); Models.User temp = new Models.User { UserId = profile.UserId, Email = facebookData.email.ToString(), Image = facebookData.picture["data"]["url"].ToString(), Name = facebookData.name.ToString(), RemainingProposals = 1, RemainingVotes = 3 }; temp = _db.User.Add(temp); _db.SaveChanges(); CheckChanceState(temp.UserId); DatabaseCallsApi _api = new DatabaseCallsApi(); _api.AddOrUpdateService(temp.UserId, Provider, FacebookToken); } } return(RedirectToLocal(returnUrl)); } else { ModelState.AddModelError("UserName", "User name already exists. Please enter a different user name."); } } } ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(provider).DisplayName; ViewBag.ReturnUrl = returnUrl; return(View(model)); }
public ReplyBot() { //connect to Twitter with login credentials service = new TwitterService(ConsumerKey, ConsumerSecret); service.AuthenticateWith(AccessToken, AccessTokenSecret); }
private void DoWhatThisAppNeedToDo() { DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add(new DataColumn("No.", typeof(string))); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("Location", typeof(string))); dt.Columns.Add(new DataColumn("Tweet", typeof(string))); dt.Columns.Add(new DataColumn("Semantic_Polarity", typeof(string))); //Client client = new Client("9091d4c1", "88e03d5f1f488db656ed6ab5d4a7a91e"); TwitterClientInfo twitterClientInfo = new TwitterClientInfo(); twitterClientInfo.ConsumerKey = "jfaKfFmSdtvZRAwO8waULkGqK"; twitterClientInfo.ConsumerSecret = "4a9RpM2ujRJb9WoE3avzwvvNUyjQC0ox3e0mess2YBAmcuV7MD"; TwitterService service = new TwitterService(twitterClientInfo); service.AuthenticateWith("368763386-jgygtatu9MZLGeEvR6pbGKvL1rjLSapSW6Q5Dq5m", "BZl9edQUEk6uGpeLi63gXGzcae1kOSpdTNi3kyrio9VLT"); //Sentiment sentiment = null; string maxid = "100000"; // dummy value string count = "50"; string polarity = ""; int tweetcount = 1; int positiveCount = 0; int negativeCount = 0; int neutralCount = 0; if (maxid != null) { var tweets = service.Search(new SearchOptions { Q = searchText, Count = Convert.ToInt32(count), Lang = "en", Resulttype = TwitterSearchResultType.Mixed }); List <TwitterStatus> resultList = new List <TwitterStatus>(tweets.Statuses); maxid = resultList.Last().IdStr; if (tweets != null) { foreach (var tweet in tweets.Statuses) { if (tweet.Text != null) { //sentiment = client.Sentiment(text: tweet.Text); } if (tweet.Text.Contains("🙂") || tweet.Text.Contains("❤️") || tweet.Text.Contains("👍") || tweet.Text.Contains("😡")) { polarity = "positive"; } else if (tweet.Text.Contains("😛") || tweet.Text.Contains("😠") || tweet.Text.Contains("😡") || tweet.Text.Contains("☹️") || tweet.Text.Contains("👎")) { polarity = "negative"; } else { //polarity = sentiment.Polarity; } if (polarity == "positive") { positiveCount++; } else if (polarity == "negative") { negativeCount++; } else if (polarity == "neutral") { neutralCount++; } dr = dt.NewRow(); dr["No."] = tweetcount; dr["Name"] = tweet.User.Name; dr["Location"] = tweet.User.Location; dr["Tweet"] = tweet.Text; if (tweet.Text != null) { dr["Semantic_Polarity"] = ""; //polarity; } dt.Rows.Add(dr); //ResultSearch.Add(new KeyValuePair<String, String>(tweet.Id.ToString(), tweet.Text)); tweetcount++; } } else { Response.Write("<script>alert('Fail')</script>"); } while (maxid != null && tweetcount < Convert.ToInt32(count)) { maxid = resultList.Last().IdStr; tweets = service.Search(new SearchOptions { Q = searchText, Count = Convert.ToInt32(count), MaxId = Convert.ToInt64(maxid), Lang = "en", Resulttype = TwitterSearchResultType.Mixed }); //resultList = new List<TwitterStatus>(tweets_search.Statuses); foreach (var tweet in tweets.Statuses) { try { if (tweet.Text != null) { //sentiment = client.Sentiment(text: tweet.Text); } dr = dt.NewRow(); if (tweet.Text.Contains("🙂") || tweet.Text.Contains(":)") || tweet.Text.Contains(":-)") || tweet.Text.Contains("❤️") || tweet.Text.Contains("👍")) { polarity = "positive"; } else if (tweet.Text.Contains("😛") || tweet.Text.Contains(":P") || tweet.Text.Contains(":-P") || tweet.Text.Contains("😠") || tweet.Text.Contains("😡") || tweet.Text.Contains("☹️") || tweet.Text.Contains("👎")) { polarity = "negative"; } else { //polarity = sentiment.Polarity; } if (polarity == "positive") { positiveCount++; } else if (polarity == "negative") { negativeCount++; } else if (polarity == "neutral") { neutralCount++; } dr["No."] = tweetcount; dr["Name"] = tweet.User.Name; dr["Location"] = tweet.User.Location; dr["Tweet"] = tweet.Text; if (tweet.Text != null) { dr["Semantic_Polarity"] = ""; //polarity; } dt.Rows.Add(dr); //ResultSearch.Add(new KeyValuePair<String, String>(tweet.Id.ToString(), tweet.Text)); tweetcount++; } catch { } } } } /*double total = positiveCount + negativeCount + neutralCount; * * double postivePercentage = (positiveCount / total) * 100; * double negativePercentage = (negativeCount / total) * 100; * double neutralPercentage = (neutralCount / total) * 100; * * postiveTextBox.Visible = true; * negativeTextBox.Visible = true; * neutralTextBox.Visible = true; * * postiveTextBox.Text = postivePercentage.ToString()+"%"; * negativeTextBox.Text= negativePercentage.ToString()+"%"; * neutralTextBox.Text=neutralPercentage.ToString()+"%";*/ ViewState["CurrentTable"] = dt; GridView1.DataSource = dt; GridView1.DataBind(); }
private void CreateAuthenticatedService(string consumerKey, string consumerSecret, string accessToken, string accessTokenSecret) { _twitterService = new TwitterService(consumerKey, consumerSecret); _twitterService.AuthenticateWith(accessToken, accessTokenSecret); }
/// <summary> /// Static constructor. /// </summary> static Jarvis() { Jarvis.mainService = new TwitterService(config.CostumerKey, config.CostumerSecret, config.AccessToken, config.AccessTokenSecret); }
public JsonResult Index(string searchString) { var srvc = new TwitterService(this._context, searchString); return(Json(srvc.ViewModel, JsonRequestBehavior.DenyGet)); }
internal TwitterFavoritesEndpoint(TwitterService service) { Service = service; }
public IHttpActionResult GuessAnswer(GuessAnswer guessAnswer) { var settingsReader = new AppSettingsReader(); var consumerKey = settingsReader.GetValue("TwitterKey", typeof(string)).ToString(); var consumerSecret = settingsReader.GetValue("TwitterSecret", typeof(string)).ToString(); var service = new TwitterService(consumerKey, consumerSecret); service.AuthenticateWith(guessAnswer.Token, guessAnswer.TokenSecret); var response = service.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { ScreenName = guessAnswer.Screenname }) ?? new List <TwitterStatus>(); var statuses = new List <Tweets>(); var missionName = string.Empty; var result = false; foreach (var twitterStatus in response) { if (twitterStatus.Entities == null) { continue; } var urls = twitterStatus.Entities.Media.Select(rawLinks => rawLinks.MediaUrl).ToList(); foreach (var media in twitterStatus.Entities.Media) { if (media.MediaType != TwitterMediaType.Photo) { continue; } using (var client = new WebClient()) { var image = client.DownloadData(media.MediaUrl); var ms = new MemoryStream(image); var bmp = new Bitmap(Image.FromStream(ms)); var extracted = Steganography.Extract(bmp); var decryptedMessage = Encryption.Decrypt(extracted); if (string.IsNullOrEmpty(decryptedMessage)) { continue; } var embedded = new JavaScriptSerializer().Deserialize <EmbeddedDetails>(decryptedMessage); if (embedded.FinalMystery != null) { if (embedded.FinalMystery.ToLower().Equals(guessAnswer.Guess.ToLower())) { result = true; missionName = embedded.Mystery; } } } } } if (result) { service.AuthenticateWith(guessAnswer.Token, guessAnswer.TokenSecret); service.SendTweet(new SendTweetOptions { Status = $"{guessAnswer.Screenname} mission '{missionName}' accomplished!", }); return(Ok(new GuessResult { message = "Congratulations! You win!" })); } return(Ok(new GuessResult { message = "Incorrect, try again." })); }
public async Task <ActionResult> PostUserFeed( string Message, string Link, string Privacy, IList <string> FriendList) { if (string.IsNullOrEmpty(Message)) { return(Json("Can not post a stutas without a message")); } string msg = ""; var db = HttpContext.GetOwinContext().Get <ApplicationDbContext>(); // find the user. I am skipping validations and other checks. var userid = User.Identity.GetUserId(); var user = db.Users.Where(x => x.Id == userid).FirstOrDefault(); if (user.facebook_connect && user.facebook_chk) { msg = msg + "Post to facebook "; if (string.IsNullOrEmpty(Privacy)) { Privacy = "EVERYONE"; } string linkParameter = string.Empty; if (!string.IsNullOrEmpty(Link)) { linkParameter = string.Format("&link={0}", Link); } string FriendTagList = string.Empty; if (FriendList != null) { FriendTagList = string.Format("&place=155021662189&tags={0}", string.Join(",", FriendList)); } #region facebook garph api post to user feed var access_token = HttpContext.Items["access_token"].ToString(); if (!string.IsNullOrEmpty(access_token)) { var appsecret_proof = access_token.generateAppSecretProof(); var fb = new FacebookClient(access_token); #region post dynamic myInfo = await fb.PostTaskAsync( (string.Format("me/feed?message={0}{1}{2}", Message, linkParameter, FriendTagList) + "&privacy={{'value':'" + Privacy + "'}}") .GraphAPICall(appsecret_proof), null); #endregion } else { msg = "Missing Access Token"; } #endregion } if (user.twitter_connect && user.twitter_chk) { msg = msg + " Post to twitter "; #region code for post in twitter var service = new TwitterService(_consumerKey, _consumerSecret); service.AuthenticateWith(UserToken.Token, UserToken.TokenSecert); var result = service.SendTweet(new SendTweetOptions { Status = Message }); #endregion } if (user.google_connect && user.google_chk) { msg = msg + " Post to google+ "; } user.twitter_chk = false; user.facebook_chk = false; user.google_chk = false; db.SaveChanges(); return(Json(msg)); }
async void OnTapGestRecogTapOne(object sender, EventArgs args) { bool answer = await DisplayAlert("Challenge Complete", "Share Out a Tweet?", "Yes", "No"); // var labelTest = new Uri("https://apple.co/31pfZiv"); var labelTest = new Uri("https://bit.ly/2ZPx82e"); if (answer == true) { if (App.User.IsAuthenticated == true) { var testAuth = TwitterService.GetTwitterContext(); _auth = testAuth.Authorizer; try { using (var ctx = new TwitterContext(_auth)) { await ctx.TweetAsync("Green Shoots " + saveChallenge + " challenge is complete!" + " learn more @ " + labelTest); await DisplayAlert("Green Shoots", "Congrats - Tweet Sent Out", "OK"); } } catch (TwitterQueryException ex) when(ex.StatusCode == HttpStatusCode.Forbidden) // In case of duplicate { // return false; await DisplayAlert("Green Shoots", "Duplicate Tweet", "OK"); } } else if (App.User.IsAuthenticated == false) { var twitterAuth = new XAuthAuthorizer(); var cred = new InMemoryCredentialStore(); cred.ConsumerKey = loggedInAccount.Properties["oauth_consumer_key"]; cred.ConsumerSecret = loggedInAccount.Properties["oauth_consumer_secret"]; cred.OAuthToken = loggedInAccount.Properties["oauth_token"]; cred.OAuthTokenSecret = loggedInAccount.Properties["oauth_token_secret"]; cred.UserID = ulong.Parse(loggedInAccount.Properties["user_id"]); cred.ScreenName = loggedInAccount.Properties["screen_name"]; auth0 = new PinAuthorizer() { CredentialStore = cred, }; try { var TwitterCtx = new TwitterContext(auth0); await TwitterCtx.TweetAsync("Green Shoots " + saveChallenge + " challenge is complete!" + " learn more @ " + labelTest); await DisplayAlert("Green Shoots", "Congrats - Tweet Sent Out", "OK"); } catch (TwitterQueryException ex) when(ex.StatusCode == HttpStatusCode.Forbidden) // In case of duplicate { // return false; await DisplayAlert("Green Shoots", "Duplicate Tweet", "OK"); } } } else if (answer == false) { } }
public TwitterManeger() { _service = new TwitterService(_consumerKey, _consumerSecret); _service.AuthenticateWith(_accessToken, _accessTokenSecret); }
private static List <CorpusDataRow> SearchTweets(string keyword, Sentiment sentiment, int count, TwitterService service, string outputPath) { List <CorpusDataRow> outputCorpus = new List <CorpusDataRow>(); long?lastId = null; int index = 0; int skipCount = 0; keyword += sentiment == Sentiment.Positive ? " :)" : " :("; while (skipCount == 0 && outputCorpus.Count < count) { // Fetch the tweet. var statusList = service.Search(new SearchOptions() { Q = keyword, Lang = "en", IncludeEntities = false, Count = count, MaxId = lastId }); lastId = statusList.Statuses.Last().Id; foreach (var status in statusList.Statuses) { if (!status.Text.StartsWith("RT") && !status.Text.Contains(":P") && !((status.Text.Contains(":)") || status.Text.Contains(":-)") || status.Text.Contains(": )") || status.Text.Contains(":D") || status.Text.Contains("=)")) && (status.Text.Contains(":(") || status.Text.Contains(":-(") || status.Text.Contains(": ("))) && outputCorpus.Where(c => c.Tweet.Text == status.Text).Count() == 0) { status.Text = status.Text.Replace(",", " "); status.Text = status.Text.Replace("\n", " "); status.Text = status.Text.Replace("\r", " "); status.Text = status.Text.Replace("\t", " "); status.Text = status.Text.Replace(":)", " "); status.Text = status.Text.Replace(":-)", " "); status.Text = status.Text.Replace(": )", " "); status.Text = status.Text.Replace(":D", " "); status.Text = status.Text.Replace("=)", " "); status.Text = status.Text.Replace(":(", " "); status.Text = status.Text.Replace(":-(", " "); status.Text = status.Text.Replace(": (", " "); if (service.Response.StatusCode == System.Net.HttpStatusCode.OK) { // Convert the TwitterStatus to a Tweet DTO. CorpusDataRow row = new CorpusDataRow(); row.Id = status.Id; row.Keyword = keyword; row.Tweet = Mapper.Map <TwitterStatus, Tweet>(status); row.Sentiment = sentiment; // Save the result to file. SaveResult(row, outputPath); outputCorpus.Add(row); if ((index + 1) % 50 == 0) { Console.WriteLine("Processed " + (index + 1) + " tweets."); } } else { // Check the rate limit. TwitterRateLimitStatus rateSearch = service.Response.RateLimitStatus; if (rateSearch.RemainingHits < 1) { DateTime resetTime = rateSearch.ResetTime + TimeSpan.FromMinutes(1); Console.WriteLine("Rate Limit reached. Sleeping until " + resetTime); Thread.Sleep(resetTime - DateTime.Now); // Try this record again. index--; } else { // Some other error. Maybe 404. Skip this record. skipCount++; Console.WriteLine("Skipped " + skipCount + " records. Got " + service.Response.StatusCode + "."); } } } } } Console.WriteLine("Saved " + outputCorpus.Count + ", Skipped " + skipCount + "."); return(outputCorpus); }
/// <summary> /// Twitter情報取得 /// </summary> /// <param name="service"></param> public static void SetServiceProp(TwitterService service) { MainService = service; }
public static void StatusChanged() { SqlContext.Pipe.Send("StatusChanged"); SqlCommand command = null; SqlDataAdapter dataAdapter = null; DataSet ds = null; try { var triggContext = SqlContext.TriggerContext; switch (triggContext.TriggerAction) { case TriggerAction.Update: SqlContext.Pipe.Send("TriggerAction.Update"); /* Retrieve the connection that the trigger is using. */ using (var connection = new SqlConnection(@"context connection=true")) { connection.Open(); command = new SqlCommand(@"SELECT * FROM INSERTED;", connection); dataAdapter = new SqlDataAdapter(command); ds = new DataSet(); dataAdapter.Fill(ds); var table = ds.Tables[0]; var row = table.Rows[0]; var columns = table.Columns; var statusText = (String)row["StatusText"] ?? ""; var memberId = (Int32)row["MemberID"]; SqlContext.Pipe.Send(String.Format("StatusText = {0}", statusText)); SqlContext.Pipe.Send(String.Format("MemberID = {0}", memberId)); var targetAccount = MemberAccount.GetMemberAccountByMemberID(memberId, connection); if (MemberAccount.IsTwitterReady(targetAccount)) { SqlContext.Pipe.Send("Target account is Twitter ready."); TwitterService.UpdateStatus(targetAccount.Username, targetAccount.Password, statusText); SqlContext.Pipe.Send("Twitter status updated successfully."); } } break; } } catch (Exception e) { SqlContext.Pipe.Send(String.Format("StatusChanged trigger exception: {0}", e.Message)); } finally { try { if (command != null) { command.Dispose(); } if (ds != null) { ds.Dispose(); } if (dataAdapter != null) { dataAdapter.Dispose(); } } catch { } } }
internal TwitterListsEndpoint(TwitterService service) { Service = service; }
public void Can_delete_direct_message() { var service = new TwitterService { IncludeEntities = true }; service.AuthenticateWith(_consumerKey, _consumerSecret, _accessToken, _accessTokenSecret); var created = service.SendDirectMessage(new SendDirectMessageOptions { ScreenName = _hero, Text = "http://tweetsharp.com @dimebrain #thisisatest " + DateTime.Now.Ticks }); AssertResultWas(service, HttpStatusCode.OK); Assert.IsNotNull(created); Assert.IsFalse(created.Id == 0); var deleted = service.DeleteDirectMessage(new DeleteDirectMessageOptions { Id = created.Id}); Assert.IsNotNull(deleted); Assert.AreEqual(deleted.Id, created.Id); }
private static void AssertResultWas(TwitterService service, HttpStatusCode statusCode) { Assert.IsNotNull(service.Response); Assert.AreEqual(statusCode, service.Response.StatusCode); }
public TwitterApi(string ConsumerKey, string ConsumerSecret, string callback) { twitter = new TwitterService(ConsumerKey, ConsumerSecret); callbackURL = callback; }
private TwitterService GetAuthenticatedService() { var service = new TwitterService(_consumerKey, _consumerSecret); service.TraceEnabled = true; service.AuthenticateWith(_accessToken, _accessTokenSecret); return service; }
internal TwitterGeoEndpoint(TwitterService service) { Service = service; }