Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }
Example #7
0
        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);
        }
Example #11
0
 public Twitter(TwitterAccessToken accessToken)
 {
     // we should store this somewhere
 }
        SetUp()
        {
            m_oTwitterAccessToken = new TwitterAccessToken();

            DeleteAccessTokenFile();
        }
Example #13
0
 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;
        }