private async void TwitterTests_LogonAsync() { var loader = new OAuthCredentialLoader(); Assert.IsNotNull(loader, "Unable to construct OAuthCredentialLoader"); var credentials = loader.Load("OAuth.default.secret.json"); Assert.IsNotNull(credentials); Assert.AreEqual("http://checkoutmystuff.net/", credentials.CallbackUri); var twitterAuth = new TwitterOAuthTokens { AccessToken = credentials.AccessToken, AccessTokenSecret = credentials.AccessTokenSecret, CallbackUri = credentials.CallbackUri, ConsumerKey = credentials.ConsumerKey, ConsumerSecret = credentials.ConsumerSecret }; TwitterService.Instance.Initialize(twitterAuth); //TwitterService.Instance.Initialize(credentials.ConsumerKey, credentials.ConsumerSecret, credentials.CallbackUri); // Login to Twitter var loggedIn = await TwitterService.Instance.LoginAsync(); Assert.IsTrue(loggedIn, "FAILED to login."); var user = await TwitterService.Instance.GetUserAsync(); Assert.IsNotNull(user, "FAILED to get the user."); }
public bool Iniciar(string consumerKey, string consumerSecret, string callbackUri) { if (string.IsNullOrEmpty(consumerKey)) { throw new ArgumentNullException(nameof(consumerKey)); } if (string.IsNullOrEmpty(consumerSecret)) { throw new ArgumentNullException(nameof(consumerSecret)); } if (string.IsNullOrEmpty(callbackUri)) { throw new ArgumentNullException(nameof(callbackUri)); } var oAuthTokens = new TwitterOAuthTokens { ConsumerKey = consumerKey, ConsumerSecret = consumerSecret, CallbackEnlace = callbackUri }; return(Iniciar(oAuthTokens)); }
private void Connect() { try { var twitterAuth = new TwitterOAuthTokens { //AccessToken = _oauthCredentials.AccessToken, //AccessTokenSecret = _oauthCredentials.AccessTokenSecret, CallbackUri = CallbackUrl, ConsumerKey = ConsumerKey, ConsumerSecret = ConsumerSecrect }; TwitterService.Instance.Initialize(ConsumerKey, ConsumerSecrect, CallbackUrl); //TwitterService.Instance.Initialize(twitterAuth); TwitterService.Instance.Logout(); } catch (Exception ex) { // GULP - In order to logout you have to initialize, seems like a chicken/egg problem } InitializeTwitter(); }
private async void InitializeTwitter() { try { IsBusy = true; if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) { Message = "No Internet"; return; } Message = "Logging into Twitter..."; var twitterAuth = new TwitterOAuthTokens { //AccessToken = _oauthCredentials.AccessToken, //AccessTokenSecret = _oauthCredentials.AccessTokenSecret, CallbackUri = CallbackUrl, ConsumerKey = ConsumerKey, ConsumerSecret = ConsumerSecrect }; //TwitterService.Instance.Initialize(twitterAuth); TwitterService.Instance.Initialize(ConsumerKey, ConsumerSecrect, CallbackUrl); // Login to Twitter if (!await TwitterService.Instance.LoginAsync()) { Message = "Logon Failed."; return; } var user = await TwitterService.Instance.GetUserAsync(); if (user != null) { UserScreenName = user.ScreenName; UserImage = new Uri(user.ProfileImageUrl); Message = $"Logged in as {user.ScreenName}"; } } catch (TwitterException tex) { if (tex.Errors?.Errors?.Length > 0 && tex.Errors.Errors[0].Code == 89) { } Message = $"Failed to logon: {tex.Message}"; } finally { IsBusy = false; } }
public bool Iniciar(TwitterOAuthTokens oAuthTokens) { tokens = oAuthTokens ?? throw new ArgumentNullException(nameof(oAuthTokens)); isInitialized = true; twitterDataProvider = null; return(true); }
public TwitterDataProvider(TwitterOAuthTokens tokens) { _tokens = tokens; boveda = new PasswordVault(); if (_client == null) { HttpClientHandler handler = new HttpClientHandler { AutomaticDecompression = DecompressionMethods.GZip }; _client = new HttpClient(handler); } }
public async Task TestInvalidOAuth() { var config = new TwitterDataConfig { QueryType = TwitterQueryType.User, Query = "lumia" }; var tokens = new TwitterOAuthTokens { ConsumerKey = "INVALID", ConsumerSecret = "INVALID", AccessToken = "INVALID", AccessTokenSecret = "INVALID" }; var dataProvider = new TwitterDataProvider(tokens); await ExceptionsAssert.ThrowsAsync <OAuthKeysRevokedException>(async() => await dataProvider.LoadDataAsync(config)); }
public async Task TestInvalidOAuth() { var config = new TwitterDataConfig { QueryType = TwitterQueryType.User, Query = "lumia" }; var tokens = new TwitterOAuthTokens { ConsumerKey = "INVALID", ConsumerSecret = "INVALID", AccessToken = "INVALID", AccessTokenSecret = "INVALID" }; var dataProvider = new TwitterDataProvider(tokens); await ExceptionsAssert.ThrowsAsync<OAuthKeysRevokedException>(async () => await dataProvider.LoadDataAsync(config)); }