public async Task <ITwitterCredentials> AuthenticateWithCachingAsync() { var configRepo = new ConfigRepository(); var config = configRepo.LoadNullable(); if (config != null) { var t = config.TwitterAccessToken; var userCred = new TwitterCredentials( t.ConsumerKey, t.ConsumerSecret, t.AccessTokenKey, t.AccessTokenSecret ); return(userCred); } else { var userCred = await AuthenticateAsync(); var twitterAccessToken = new TwitterAccessToken( userCred.ConsumerKey, userCred.ConsumerSecret, userCred.AccessToken, userCred.AccessTokenSecret ); var newConfig = new Config(twitterAccessToken); configRepo.Save(newConfig); return(userCred); } }
private async void OnTwitterSignInAPIClick(object sender, RoutedEventArgs e) { var requestToken = await TwitterOAuthAPI.InvokeTwitterLogin(); // 3. get oatuh_token and oauth_verifier requestToken = requestToken.Substring(requestToken.IndexOf("?") + 1); String[] data = requestToken.Split(new String[] { "&" }, StringSplitOptions.RemoveEmptyEntries); String token = data[0].Replace("oauth_token=", ""); String verifier = data[1].Replace("oauth_verifier=", ""); // 4. get access token TwitterAccessToken accessToken = await TwitterOAuthAPI.GetAccessToken(token, verifier); // 5. get user profile String json = await TwitterOAuthAPI.GetUserInfo(accessToken, verifier); // convert to object DataContractJsonSerializer tJsonSerial = new DataContractJsonSerializer(typeof(Twitter.UserProfile)); MemoryStream tMS = new MemoryStream(Encoding.UTF8.GetBytes(json)); Twitter.UserProfile user = tJsonSerial.ReadObject(tMS) as Twitter.UserProfile; txtTwitterResult.Text = String.Format("name: {0}, screen_name: {1}", user.name, user.screen_name); var bitmapImage = new BitmapImage(); bitmapImage.UriSource = new Uri(user.profile_image_url); imgTwitter.Source = bitmapImage; txtTwitterResult.Visibility = imgTwitter.Visibility = Visibility.Visible; }
DeleteAccessTokenFile() { try { File.Delete(TwitterAccessToken.GetAccessTokenFilePath()); } catch (DirectoryNotFoundException) { } }
TestExists2() { // File exists. using (StreamWriter oStreamWriter = new StreamWriter(TwitterAccessToken.GetAccessTokenFilePath())) { oStreamWriter.Write(Token + "\t" + Secret); } Assert.IsTrue(TwitterAccessToken.Exists()); }
TestDelete() { // No file. Assert.IsFalse(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); TwitterAccessToken.Delete(); Assert.IsFalse(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); }
TestSave() { m_oTwitterAccessToken.Save(Token, Secret); Assert.IsTrue(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); String sFileContents = FileUtil.ReadTextFile( TwitterAccessToken.GetAccessTokenFilePath()); Assert.AreEqual(Token + "\t" + Secret, sFileContents); }
TestSave() { m_oTwitterAccessToken.Save(Token, Secret); Assert.IsTrue(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); String sFileContents; using (StreamReader oStreamReader = new StreamReader(TwitterAccessToken.GetAccessTokenFilePath())) { sFileContents = oStreamReader.ReadToEnd(); } Assert.AreEqual(Token + "\t" + Secret, sFileContents); }
TestTryLoad2() { // File exists. using (StreamWriter oStreamWriter = new StreamWriter(TwitterAccessToken.GetAccessTokenFilePath())) { oStreamWriter.Write(Token + "\t" + Secret); } String sToken, sSecret; Assert.IsTrue(m_oTwitterAccessToken.TryLoad( out sToken, out sSecret)); Assert.AreEqual(Token, sToken); Assert.AreEqual(Secret, sSecret); }
TestDelete2() { // File exists. using (StreamWriter oStreamWriter = new StreamWriter(TwitterAccessToken.GetAccessTokenFilePath())) { oStreamWriter.Write(Token + "\t" + Secret); } Assert.IsTrue(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); TwitterAccessToken.Delete(); Assert.IsFalse(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); }
TestTryLoad3() { // Test caching. m_oTwitterAccessToken.Save(Token, Secret); Assert.IsTrue(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); DeleteAccessTokenFile(); Assert.IsFalse(File.Exists( TwitterAccessToken.GetAccessTokenFilePath())); String sToken, sSecret; Assert.IsTrue(m_oTwitterAccessToken.TryLoad( out sToken, out sSecret)); Assert.AreEqual(Token, sToken); Assert.AreEqual(Secret, sSecret); }
public Twitter(TwitterAccessToken accessToken) { // we should store this somewhere }
SetUp() { m_oTwitterAccessToken = new TwitterAccessToken(); DeleteAccessTokenFile(); }
public TwitterClient(TwitterAccessToken token) { _token = token; }
//************************************************************************* // Constructor: TwitterNetworkAnalyzerBase() // /// <summary> /// Initializes a new instance of the <see /// cref="TwitterNetworkAnalyzerBase" /> class. /// </summary> //************************************************************************* public TwitterNetworkAnalyzerBase() { m_oTwitterAccessToken = null; AssertValid(); }
//************************************************************************* // Method: BeforeGetNetwork() // /// <summary> /// Performs tasks required before getting a network. /// </summary> /// /// <remarks> /// The derived class must call this method before getting each network. /// </remarks> //************************************************************************* protected void BeforeGetNetwork() { AssertValid(); // TwitterAccessToken caches the access token it reads from disk. Make // sure the latest access token is read. m_oTwitterAccessToken = new TwitterAccessToken(); }
TestExists() { // No file. Assert.IsFalse(TwitterAccessToken.Exists()); }
//************************************************************************* // Constructor: TwitterAccessTokenTest() // /// <summary> /// Initializes a new instance of the <see /// cref="TwitterAccessTokenTest" /> class. /// </summary> //************************************************************************* public TwitterAccessTokenTest() { m_oTwitterAccessToken = null; }
public void SetUp() { m_oTwitterAccessToken = new TwitterAccessToken(); DeleteAccessTokenFile(); }
public void TearDown() { DeleteAccessTokenFile(); m_oTwitterAccessToken = null; }