コード例 #1
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="uriBase">The base url of the REST service.</param>
 /// <param name="baseParams">Querystring or post parameters sent with every request.</param>
 /// <param name="oAuthParams">Oauth parameters to pass to the service.</param>
 /// <param name="timeout">The amount of time in milliseconds to wait for a response.</param>
 public ClientInterceptor(Uri uriBase, Dictionary<string, string> baseParams, OAuthParameters oAuthParams = null, int timeout = 5000)
 {
     Init(uriBase, baseParams, oAuthParams, timeout);
 }
コード例 #2
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="uriBase">The base url of the REST service.</param>
 /// <param name="oAuthParams">Oauth parameters to pass to the service.</param>
 /// <param name="timeout">The amount of time in milliseconds to wait for a response.</param>
 public ClientInterceptor(Uri uriBase, OAuthParameters oAuthParams = null, int timeout = 5000)
 {
     Init(uriBase, _baseParams, oAuthParams, timeout);
 }
コード例 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        curUser = Membership.GetUser();

        if (Request.PathInfo.StartsWith("/twitter/"))
        {
            var oauth = new OAuthConsumer();
            var requestToken = (RequestToken)Session["TwitterToken"];
            string verifier = Request.QueryString["oauth_verifier"];
            string tokenSecret = Request.QueryString["oauth_token"];
            AccessToken accessToken = oauth.GetOAuthAccessToken(appSettings["Twitter_AccessURL"],
                appSettings["Twitter_Realm"], appSettings["Twitter_ConsumerKey"],
                appSettings["Twitter_ConsumerSecret"], tokenSecret, verifier, requestToken.Token);
            string curUserId = curUser.ProviderUserKey.ToString();

            var oAuthParams = new OAuthParameters(appSettings["Twitter_ConsumerKey"],
                appSettings["Twitter_ConsumerSecret"], appSettings["Twitter_Realm"],
                accessToken.Token, accessToken.TokenSecret);

            Func<OAuthParameters> OAuthDirect = () => oAuthParams;
            var account = new AccountClient(OAuthDirect);

            var tUser = Json.Deserialize<Bridgeport.TwitterAPI.User>(account.VerifyCredentials().Data);

            using (var db = new Data.ToketeeData().Context)
            {
                var q = from u in db.User
                        where u.UserId == curUserId
                        select u;
                if (q.Any()) // User does not exist
                {

                    var user = new Data.Entities.User()
                    {
                        UserId = curUserId,
                    };
                    var twitterUser = new TwitterData.TwitterUser()
                        {
                            rUser = user,
                            Token = accessToken.Token,
                            Secret = accessToken.TokenSecret,
                            AuthAttemptCount = 0,
                            AuthStatus = 1,
                            AppUser = true,
                            AuthTime = DateTime.Now.ToUniversalTime()
                        };
                    UserOps.UserObjToTwitterUser(tUser, twitterUser);

                    db.User.Add(user);
                    db.TwitterUser.Add(twitterUser);
                }
                else // User exists
                {
                    var qry = q.Single();

                    TwitterData.TwitterUser tu;
                    if (qry.TwitterUsers.Count() != 0) // Twitter user exists
                    {
                        var q2 = from u in qry.TwitterUsers
                                 where u.Id == long.Parse(tUser.Id)
                                 select u;

                        tu = q2.Single();
                    }
                    else
                    {
                        tu = new TwitterData.TwitterUser() { rUser = qry };
                        db.TwitterUser.Add(tu);
                    }

                    tu.Token = accessToken.Token;
                    tu.Secret = accessToken.TokenSecret;
                    tu.AuthAttemptCount = 0;
                    tu.AuthStatus = 1;
                    tu.AppUser = true;
                    tu.AuthTime = DateTime.Now.ToUniversalTime();

                    UserOps.UserObjToTwitterUser(tUser, tu);
                }
                db.SaveChanges();
            }

        }
    }
コード例 #4
0
 /// <summary>
 /// Internal init method called by all the constructors.
 /// </summary>
 /// <param name="uriBase"></param>
 /// <param name="baseParams"></param>
 /// <param name="oAuthParams"></param>
 /// <param name="timeout"></param>
 private void Init(Uri uriBase, Dictionary<string, string> baseParams, OAuthParameters oAuthParams = null, int timeout = 5000)
 {
     _oAuthParams = oAuthParams;
     _timeout = timeout;
     this._uriBase = uriBase;
     _baseParams = baseParams;
 }
コード例 #5
0
 public ClientInterceptor(OAuthParameters OAuthParams = null, int Timeout = 5000)
 {
     this.OAuthParams = OAuthParams;
     this.Timeout = Timeout;
 }