示例#1
0
 public TweetViewModel()
 {
     if (TwitterToken.IsAvailableToken())
     {
         UserInfomation = TwitterUser.GetUserInfomation(App.Usertoken);
     }
 }
示例#2
0
        //This is the User Home Page
        public ActionResult Index()
        {
            var user = (ClaimsIdentity)User.Identity;

            if (!user.HasClaim("Role", "User"))
            {
                return(RedirectToAction("UserManagement", "Account"));
            }

            var twitterLoginInfo = Session["TwitterLogin"] as TwitterToken;

            if (twitterLoginInfo == null)
            {
                if (user.HasClaim(m => m.Type == "TwitterUserScreenName"))
                {
                    twitterLoginInfo = new TwitterToken()
                    {
                        ScreenName = user.Claims.FirstOrDefault(m => m.Type == "TwitterUserScreenName")?.Value,
                        Token      = user.Claims.FirstOrDefault(m => m.Type == "TwitterToken")?.Value,
                        Secret     = user.Claims.FirstOrDefault(m => m.Type == "TwitterTokenSecret")?.Value,
                        UserId     = user.Claims.FirstOrDefault(m => m.Type == "TwitterUserId")?.Value,
                    };
                }
            }

            ViewBag.TwitterAvailable     = twitterLoginInfo != null;
            ViewBag.TwitterScreenName    = twitterLoginInfo != null ? twitterLoginInfo.ScreenName : "";
            ViewBag.TwitterAuthorization = twitterLoginInfo != null ? (twitterLoginInfo.Token + ":" + twitterLoginInfo.Secret) : "";
            ViewBag.Username             = User.Identity.Name;
            return(View());
        }
示例#3
0
        /*
         * private void GridChange(object visibility) {
         *  if (SettingVisibility.CompareTo(visibility) == 0)
         *      System.Diagnostics.Debug.WriteLine(visibility.ToString());
         *
         *  if (ToolsVisibility.Equals(visibility))
         *      System.Diagnostics.Debug.WriteLine("ahaga");
         *
         *  System.Diagnostics.Debug.WriteLine(SettingVisibility.CompareTo(visibility));
         *
         *  System.Diagnostics.Debug.WriteLine(ToolsVisibility.CompareTo(visibility));
         *  try
         *  {
         *      if (SettingVisibility.Equals(visibility))
         *      {
         *
         *      }
         *
         *  }
         *  catch(Exception e)
         *  {
         *      App.ShowErrorMessage(e);
         *  }
         * }*/

        private void PostTweet(object parameter = null)
        {
            if (TwitterToken.IsAvailableToken())
            {
                TweetWindowInstance.Show();
            }
            else
            {
                GetToken();
            }
        }
		public TwitterOAuthClient(TwitterToken token, string endpoint, IDictionary<string, object> param = null)
			: base(token.Application.ConsumerKey, token.Application.ConsumerSecret, token.TokenKey, token.TokenSecret)
		{
			this.endpoint = token.Endpoints[endpoint];

			var url = this.endpoint.Definition.Url;
			if (param != null) param.ForEach(kvp => url = url.Replace(kvp.Key, kvp.Value.ToString()));

			this.Url = url;
			this.MethodType = this.endpoint.Definition.MethodType == HttpMethod.Get
				? MethodType.Get
				: MethodType.Post;
		}
示例#5
0
        public void StartStream(object paramter = null)
        {
            if (TwitterToken.IsAvailableToken())
            {
                stream = new TwitterUserStream();

                stream.StartStreaming(App.Usertoken, (status) =>
                                      App.Current.Dispatcher.Invoke(() => TimeLineList.Insert(0, status)));
                new WpfMessageBox("Streaming を開始しました", System.Windows.MessageBoxButton.OK).ShowDialog();
            }
            else
            {
                TwitterToken.GetToken();
            }
        }
示例#6
0
        public TwitterClient(IHttpClientFactory httpClientFactory, IHttpUtils httpUtils)
        {
            _TokenClient   = httpClientFactory.CreateClient("tokenclient");
            _TwitterClient = httpClientFactory.CreateClient("twitterclient");
            _httpUtils     = httpUtils;

            string twitterKey    = WebUtility.UrlEncode("uKv");
            string twitterSecret = WebUtility.UrlEncode("ssbP");
            string encodedKey    = httpUtils.ConvertToBase64String($"{twitterKey}:{twitterSecret}");

            _TokenClient.BaseAddress = new Uri("https://api.twitter.com/");
            _TokenClient.DefaultRequestHeaders.Add("Authorization", $"Basic {encodedKey}");

            twitterToken = GetAuthToken().GetAwaiter().GetResult();

            _TwitterClient.BaseAddress = new Uri("https://api.twitter.com/");
            _TwitterClient.DefaultRequestHeaders.Add("Authorization", $"{twitterToken.Token_type} {twitterToken.Access_token}");
        }
		public StreamingClient(TwitterToken token, string endpoint)
		{
			this.endpoint = token.Endpoints[endpoint];
			this.client = new OAuthClient(
				token.Application.ConsumerKey,
				token.Application.ConsumerSecret,
				token.TokenKey,
				token.TokenSecret)
			{
				Url = this.endpoint.Definition.Url,
				MethodType = this.endpoint.Definition.MethodType == HttpMethod.Get
					? MethodType.Get
					: MethodType.Post,
			};

			var profile = TwitterClient.Current.CurrentNetworkProfile;
			if (profile != null)
			{
				if (profile.Proxy != null)
				{
					this.client.ApplyBeforeRequest += req => req.Proxy = profile.Proxy.GetProxy();
				}
			}
		}
示例#8
0
		private static TwitterToken ToTwitterToken(this TokenSettings settings)
		{
			var application = TwitterClient.Current.Applications.FirstOrDefault(app => app.Id == settings.ApplicationId);
			var token = new TwitterToken(application, settings.TokenKey, settings.TokenSecret);
			token.SetFallbackToken(settings.FallbackUserId, settings.FallbackApplicationId);

			return token;
		}
 public TwitterCredentials(TwitterToken tokens, string screenName, long userId)
 {
     Tokens = tokens;
     ScreenName = screenName;
     UserId = userId;
 }