protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var authorizer = new UniversalAuthorizer
            {
                CredentialStore = new InMemoryCredentialStore
                {
                    ConsumerKey = "",
                    ConsumerSecret = ""
                },
                Callback = "http://github.com/JoeMayo/LinqToTwitter"
            };

            await authorizer.AuthorizeAsync();

            SharedState.Authorizer = authorizer;

            DataContext = new SampleStreamViewModel();
        }
Example #2
0
        private async void TweetButton_Click(object sender, RoutedEventArgs e)
        {
            var authorizer = new UniversalAuthorizer
            {
                CredentialStore = new InMemoryCredentialStore
                {
                    ConsumerKey = "",
                    ConsumerSecret = ""
                }
            };

            await authorizer.AuthorizeAsync();
            var ctx = new TwitterContext(authorizer);

            string userInput = tweetText.Text;
            Status tweet = await ctx.TweetAsync(userInput);

            ResponseTextBlock.Text = tweet.Text;

            await new MessageDialog("You Tweeted: " + tweet.Text, "Success!").ShowAsync();
        }
Example #3
0
        private async void PopulatePassportData()
        {
            if (apiKey == null) { IsLoginVisible = Visibility.Visible; return; }

            var data = StorageService.Instance.Storage.RetrieveList<PassportDataModel>();
            if (data != null && data.Count > 0)
            {
                IsLoginVisible = Visibility.Visible;
                IsAPIEditorVisible = Visibility.Collapsed;
                IsLoggedInVisibility = Visibility.Collapsed;

                var dm = data.Where(x => x.PassType == GroupingType).FirstOrDefault();
                if (dm != null) {
                    
                    if (_twitterCtx == null)
                    {
                        var authorizer = new UniversalAuthorizer
                        {
                            CredentialStore = new SingleUserInMemoryCredentialStore
                            {
                                AccessToken = dm.Token,
                                AccessTokenSecret = dm.TokenSecret,
                                ConsumerKey = apiKey.APIKey,
                                ConsumerSecret = apiKey.APISecret
                            },
                            SupportsCompression = true,
                            Callback = apiKey.APICallbackUrl
                        };

                        await authorizer.CredentialStore.LoadAsync();

                        _twitterCtx = new TwitterContext(authorizer);
                    }

                    
                    var verifyResponse = await (from acct in _twitterCtx.Account
                            where acct.Type == AccountType.VerifyCredentials
                            select acct)
                           .SingleOrDefaultAsync();

                    LoggedInUser = verifyResponse.User;

                    if (_LoggedInUser != null) {
                        IsLoggedInVisibility = Visibility.Visible;
                        IsLoginVisible = Visibility.Collapsed;
                    }

                    await UpdateTweetsAsync();
                    
                }
            }
            else {
                //no passport so show login button
                IsLoginVisible = Visibility.Visible;
                IsAPIEditorVisible = Visibility.Collapsed;
            }
        }
Example #4
0
        public async void AttemptTwitterLogin()
        {
            
            var authorizer = new UniversalAuthorizer
            {
                CredentialStore = new SingleUserInMemoryCredentialStore
                {
                    ConsumerKey = apiKey.APIKey,
                    ConsumerSecret = apiKey.APISecret
                },
                SupportsCompression = true,
                Callback = apiKey.APICallbackUrl
            };

            await authorizer.AuthorizeAsync();

            _twitterCtx = new TwitterContext(authorizer);

            var dm = new PassportDataModel();
            dm.Token = authorizer.CredentialStore.OAuthToken;
            dm.TokenSecret = authorizer.CredentialStore.OAuthTokenSecret;
            dm.Verifier = authorizer.Parameters["oauth_verifier"];
            dm.PassType = GroupingType;

            dm.UserId = authorizer.CredentialStore.UserID.ToString();
            dm.UserName = authorizer.CredentialStore.ScreenName;
            dm.FullName = authorizer.CredentialStore.ScreenName;
            dm.ScreenName = authorizer.CredentialStore.ScreenName;

            dm.APIKeyFKID = apiKey.Id;


            StorageService.Instance.Storage.Insert(dm);

            PopulatePassportData();

            
        }