示例#1
1
        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");
        }
示例#2
0
        protected override void OnFormClosing(FormClosingEventArgs e)
        {
            if (e.CloseReason != CloseReason.None)
            {
                return;
            }
            Validate();
            string error;

            if (txtPin.Text.Length == 0)
            {
                error = "Please enter the pin code from twitter page";
                errPin.SetError(txtPin, error);
                e.Cancel = true;
                return;
            }
            var pin = txtPin.Text;

            var accessToken = _twitterService.GetAccessToken(_requestToken, pin);

            if (accessToken == null)
            {
                error    = "The pin entered is invalid";
                e.Cancel = true;
                errPin.SetError(txtPin, error);
                return;
            }

            _twitterPersistenceService.Save(new TwitterAccountInfo
            {
                AccessToken       = accessToken.Token,
                AccessTokenSecret = accessToken.TokenSecret
            });
        }
示例#3
0
        /// <summary>
        /// Logs into Twitter, using OAuth. The user will need to copy/paste the Twitter auth code back into the console program.
        /// </summary>
        /// <returns>TwitterService</returns>
        private static TwitterService LoginTwitter()
        {
            // Pass your credentials to the service
            TwitterService service = new TwitterService(_consumerKey, _consumerSecret);

            // Step 1 - Retrieve an OAuth Request Token
            OAuthRequestToken requestToken = service.GetRequestToken();

            // Step 2 - Redirect to the OAuth Authorization URL
            Uri uri = service.GetAuthorizationUri(requestToken);

            Process.Start(uri.ToString());

            Console.Write("Enter Twitter auth key: ");
            string key = Console.ReadLine();

            // Step 3 - Exchange the Request Token for an Access Token
            string           verifier = key; // <-- This is input into your application by your user
            OAuthAccessToken access   = service.GetAccessToken(requestToken, verifier);

            // Step 4 - User authenticates using the Access Token
            service.AuthenticateWith(access.Token, access.TokenSecret);

            return(service);
        }
示例#4
0
文件: Form1.cs 项目: RihanMeij/Bee
        private void GetCounts_Click(object sender, EventArgs e)
        {
            var accessToken = twitterService.GetAccessToken(requestToken, Pin.Text);

            twitterService.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);

            List <string> outputStrings = new List <string>(Input.Lines.Count());

            foreach (var line in Input.Lines)
            {
                if (!string.IsNullOrEmpty(line))
                {
                    var profileInfo = twitterService.GetUserProfileFor(new GetUserProfileForOptions()
                    {
                        ScreenName = line
                    });
                    if (profileInfo != null)
                    {
                        outputStrings.Add(string.Format("{0} : {1}", line, profileInfo.FollowersCount));
                    }
                }
            }

            Output.Lines = outputStrings.ToArray();
        }
示例#5
0
        public ActionResult TwitterCallback(string oauth_token, string oauth_verifier)
        {
            if (!CheckLogin())
            {
                return(RedirectToAction("Login", "Account"));
            }
            //Get the user's ID
            string uid = GetUserID();
            //Get ASP.NET User Object
            ApplicationUser currentUser = GetUser(uid);
            //Get the LPUser based on ASP.NET User's e-mail
            LPUser lpCurrentUser = GetLPUser((string)currentUser.Email);


            var requestToken = new OAuthRequestToken {
                Token = oauth_token
            };
            string  Key         = System.Configuration.ConfigurationManager.AppSettings["twKey"];
            string  Secret      = System.Configuration.ConfigurationManager.AppSettings["twSecret"];
            Twitter twitterUser = new Twitter {
            };

            try
            {
                TwitterService   service     = new TwitterService(Key, Secret);
                OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier);
                service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
                VerifyCredentialsOptions option = new VerifyCredentialsOptions();
                TwitterUser user = service.VerifyCredentials(option);

                TempData["Token"]   = oauth_token;
                TempData["VToken"]  = oauth_verifier;
                TempData["UserTag"] = user.ScreenName;
                TempData["Name"]    = user.Name;
                TempData["Userpic"] = user.ProfileImageUrl;

                int    TwID    = lpCurrentUser.UserID;
                var    Token   = oauth_token;
                var    VToken  = oauth_verifier;
                String TwName  = user.ScreenName;
                String TagName = user.Name;
                twitterUser.UserID   = lpCurrentUser.UserID;
                twitterUser.TwName   = TwName;
                twitterUser.TwTag    = TagName;
                twitterUser.TwOauth  = Token;
                twitterUser.TwVOauth = VToken;
                twitterUser.Date     = DateTime.Now;
                twitterUser.EndDate  = DateTime.Now.AddMinutes(60);
                repository.Add(twitterUser);
                repository.Save();
                return(RedirectToAction("Settings/" + lpCurrentUser.UserID));
            }
            catch
            {
                throw new System.InvalidOperationException("Twitter didnt like it");
            }
        }
示例#6
0
        // This URL is registered as the application's callback at http://dev.twitter.com
        public ActionResult AuthorizeCallback(string oauth_token, string oauth_verifier)
        {
            var requestToken = new OAuthRequestToken {
                Token = oauth_token
            };

            // Step 3 - Exchange the Request Token for an Access Token
            TwitterService   service     = new TwitterService("RP210WVfv1GbkYOd3oaHw", "z6p22FQTTU3ADIpjp6PThKyVWLAmikUfUfiOdycfm4w");
            OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier);

            // Step 4 - User authenticates using the Access Token
            service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);

            IEnumerable <TwitterStatus> tweets = service.ListTweetsOnUserTimeline(250);

            if (tweets != null)
            {
                @ViewBag.msg += string.Format("<p>{0} tweets</p>", tweets.Count());

                foreach (var tweet in tweets)
                {
                    TwitterStatus result = service.DeleteTweet(tweet.Id);
                    @ViewBag.msg += string.Format("<p>{0} - {1}</p>", tweet.Id, tweet.Text);
                }
            }
            else
            {
                @ViewBag.msg += string.Format("<p>{0} tweets</p>", 0);
            }

            @ViewBag.msg += "<hr>";

            IEnumerable <TwitterStatus> tweets1 = service.ListRetweetsByMe(250);

            if (tweets1 != null)
            {
                @ViewBag.msg += string.Format("<p>{0} retweets</p>", tweets1.Count());

                foreach (var tweet in tweets1)
                {
                    TwitterStatus result = service.DeleteTweet(tweet.Id);
                    @ViewBag.msg += string.Format("<p>{0} - {1}</p>", tweet.Id, tweet.Text);
                }
            }
            else
            {
                @ViewBag.msg += string.Format("<p>{0} retweets</p>", 0);
            }

            //TwitterUser user = service.VerifyCredentials();
            //@ViewBag.msg = string.Format("Your username is {0}", user.ScreenName);

            return(View());
        }
示例#7
0
 private void browser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
 {
     if (e.Uri.ToString() == "https://api.twitter.com/oauth/authorize")
     {
         var verifier    = GetVerifierFromPage();
         var accessToken = twitterService.GetAccessToken(requestToken, verifier);
         twitterService.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
         var mainWindow = new MainWindow {
             service = twitterService
         };
         mainWindow.Show();
         this.Close();
     }
 }
示例#8
0
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            try {
                OAuthAccessToken access = service.GetAccessToken(requestToken, txtUpdate.Text);

                SettingHelper.Token       = access.Token;
                SettingHelper.TokenSecret = access.TokenSecret;
                SettingHelper.Save();
                this.Close();
            }
            catch {
                MessageBox.Show(SettingHelper.MessageInvalidUserSettings);
                return;
            }
        }
        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_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());
        }