public JsonResult getplayList()
        {
            //getTokenTwitter();
            LinkedIn LinkedIn = new LinkedIn();

            //client.Headers.Add("Content-Type", "application/json; charset=utf-8");
            try
            {
                if (Session["Twitter_Token"] != null)
                {
                    //client.Headers.Add("x-li-format", "json");
                    var content = client.DownloadString("https://api.twitter.com/1.1/statuses/retweets_of_me.json?oauth_token=" + Session["Twitter_Token"].ToString() + "&oauth_token_secret=" + Session["Twitter_Token_s"].ToString());

                    //var content = client.DownloadString("https://api.twitter.com/1.1/statuses/retweets_of_me.json");
                    serializer.MaxJsonLength = Int32.MaxValue;
                    LinkedIn = serializer.Deserialize <LinkedIn>(content);
                    log.Info("Serialization Completed");
                }
            }
            catch (Exception ex)
            {
                log.Error("Error Message : " + ex.Message);
            }
            return(Json(LinkedIn, JsonRequestBehavior.AllowGet));
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Please specify social network to target spam tool (default:Facebook):");
            Console.WriteLine("1. Facebook");
            Console.WriteLine("2. LinkedIn");
            String choice = Console.ReadLine();

            SocialNetwork network;

            if (choice.Equals("2"))
            {
                network = new LinkedIn(CreateTestProfiles());
            }
            else
            {
                network = new Facebook(CreateTestProfiles());
            }

            SocialSpammer spammer = new SocialSpammer(network);

            spammer.SendSpamToFriends("*****@*****.**",
                                      "Hey! This is Anna's friend Josh. Can you do me a favor and like this post [link]?");
            spammer.SendSpamToCoworkers("*****@*****.**",
                                        "Hey! This is Anna's boss Jason. Anna told me you would ne interested in [link].");

            Console.ReadKey();
        }
Esempio n. 3
0
        // GET: LinkedInAuth
        public ActionResult Auth()
        {
            WebClient client = new WebClient();

            string code  = Request["code"];
            string state = Request["state"];

            string url = "https://www.linkedin.com/uas/oauth2/accessToken";

            string currentUrl = System.Web.HttpContext.Current.Request.Url.AbsoluteUri;

            if (currentUrl.IndexOf("?") >= 0)
            {
                currentUrl = currentUrl.Substring(0, currentUrl.IndexOf("?"));
            }
            string content = "grant_type=authorization_code"
                             + "&code=" + code
                             + "&redirect_uri=" + System.Web.HttpContext.Current.Server.UrlEncode(currentUrl)
                             + "&client_id=77ne8opwwucq5l"
                             + "&client_secret=5AySUuNe4m8ealLz";


            client.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");

            string   response = client.UploadString(url, content);
            LinkedIn resp     = JsonConvert.DeserializeObject <LinkedIn>(response);
            string   redirect = "/signin-linkedin.html?access_token=" + resp.access_token + "&expires_in=" + resp.expires_in;

            return(Redirect(redirect));
        }
Esempio n. 4
0
        public void GetLikesCount()
        {
            var url = "http://www.smashingmagazine.com/2014/12/10/mastering-fireworks-css-properties-panel-css-professionalzr/#comment-1252863";

            var likesCount    = Facebook.GetNumberOfLikes(url);
            var likesCountTw  = Twitter.GetNumberOfTweets(url);
            var likesCountLi  = LinkedIn.GetNumberOfShares(url);
            var likesCountGoo = Google.GetNumberOfShares(url);
            var likesCountRed = Reddit.GetNumberOfVotes(url);
        }
Esempio n. 5
0
        public void UpdateLikesCount()
        {
            var articles = new FeedService().GetArticlesWithoutBody(32997);

            foreach (var a in articles)
            {
                a.LikesCount = Facebook.GetNumberOfLikes(a.Url) +
                               Twitter.GetNumberOfTweets(a.Url) +
                               LinkedIn.GetNumberOfShares(a.Url) +
                               Google.GetNumberOfShares(a.Url) +
                               Reddit.GetNumberOfVotes(a.Url);
                new FeedService().UpdateArticle(a);
            }
        }
Esempio n. 6
0
        public void TrimAndUppercaseFirst()
        {
            Email    = Email?.TrimAndUppercaseFirst();
            Skype    = Skype?.TrimAndUppercaseFirst();
            LinkedIn = LinkedIn?.TrimAndUppercaseFirst();

            DesirablePosition    = DesirablePosition.TrimAndUppercaseFirst();
            ExperienceAtITLab    = ExperienceAtITLab.TrimAndUppercaseFirst();
            ProfessionalPurposes = ProfessionalPurposes.TrimAndUppercaseFirst();

            CurrentPosition    = CurrentPosition.TrimAndUppercaseFirst();
            CurrentWork        = CurrentWork.TrimAndUppercaseFirst();
            EmploymentDuration = EmploymentDuration.TrimAndUppercaseFirst();
        }
Esempio n. 7
0
        public JsonResult LinkedIndata()//With Postman
        {
            LinkedIn LinkedInData = new LinkedIn();

            try
            {
                var client  = new RestClient("https://api.linkedin.com/v1/people/~?format=json");
                var request = new RestRequest(Method.GET);
                request.AddHeader("Postman-Token", "e2f54cdf-c9d3-47a1-8c49-c07dc09c76c9");
                request.AddHeader("Cache-Control", "no-cache");
                request.AddHeader("Authorization", "Bearer AQUpylIsxl51pKuB_vw-ENuWZxgkLSDaJxV-Pzjqdcx5EW_vPgCNAG1rpRYBQZIrVxWX8_SPrSGAH8sraN7KpfWxAQaPHpMPZhAVxFb860MgxjJHclDm7Ns9OImy79bqaguIyXx6er6FfZwLsMC8snP3ByDGK-Lnr4BItMNzsxs06BrmuGabZ-XM2XC74CalsUGzhHphhDNFH-HK8itIfJBmzseQquxd5CvPLqx-7CytpUH1SXh9jyYr-SqZvi99HoEki8tIizmrzCIUJ_ABZpfc1ehrFUxu7wOVVhnFsNYLRWuA64FbwypokE_ZyIBi-IZjsk5ahgRTnoN1PyZqqcuvAU4z3A");
                IRestResponse response = client.Execute(request);
                LinkedInData = serializer.Deserialize <LinkedIn>(response.Content);
            }
            catch (Exception ex)
            {
                log.Error("Error Message : " + ex.Message);
            }
            return(Json(LinkedInData, JsonRequestBehavior.AllowGet));
        }
        public static void Start()
        {
            LinkedIn observable = new LinkedIn();

            UnemployedEngineer jack   = new UnemployedEngineer(observable, "jack");
            UnemployedHr       emily  = new UnemployedHr(observable, "emily");
            UnemployedEngineer angely = new UnemployedEngineer(observable, "angely");
            UnemployedHr       john   = new UnemployedHr(observable, "john");

            observable.NewJobsAvailabel();

            observable.UnRegisterObserver(jack);
            observable.UnRegisterObserver(angely);

            observable.NewJobsAvailabel();

            observable.RegisterObserver(jack);
            observable.RegisterObserver(angely);

            observable.NewJobsAvailabelPullMode();
        }
Esempio n. 9
0
        public JsonResult profile()//Without Postman
        {
            LinkedIn LinkedIn = new LinkedIn();

            client.Headers.Add("Content-Type", "application/json; charset=utf-8");
            try
            {
                if (Session["Linkedin_Token"] != null)
                {
                    client.Headers.Add("x-li-format", "json");
                    var content = client.DownloadString("https://api.linkedin.com/v1/people/~?oauth2_access_token=" + Session["Linkedin_Token"].ToString());
                    serializer.MaxJsonLength = Int32.MaxValue;
                    LinkedIn = serializer.Deserialize <LinkedIn>(content);
                    log.Info("Serialization Completed");
                }
            }
            catch (Exception ex)
            {
                log.Error("Error Message : " + ex.Message);
            }
            return(Json(LinkedIn, JsonRequestBehavior.AllowGet));
        }
Esempio n. 10
0
 public void TestMultiDimentionalArray()
 {
     LinkedIn.IteratNDimensionalJaggedArray();
 }
Esempio n. 11
0
 private async Task <HttpResponseMessage> GetEmail(string code)
 {
     return(await LinkedIn.Email(
                code
                ));
 }
Esempio n. 12
0
 private async Task <HttpResponseMessage> GetDadosBasicos(string code)
 {
     return(await LinkedIn.DadosBasicos(
                code
                ));
 }
Esempio n. 13
0
 private async Task <HttpResponseMessage> GetAccessToken(string code)
 {
     return(await LinkedIn.AccessToken(
                code, _configuration
                ));
 }
        static IProfile InitService(String serviceName)
        {
            CloudRail.AppKey = "[Your CloudRail Key]";
            int    port        = 8082;
            String redirectUri = "http://localhost:" + port + "/";

            IProfile service = null;

            switch (serviceName.ToLower())
            {
            case "facebook":
                service = new Facebook(
                    new LocalReceiver(port),
                    "[Facebook Client Identifier]",
                    "[Facebook Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "github":
                service = new GitHub(
                    new LocalReceiver(port),
                    "[GitHub Client Identifier]",
                    "[GitHub Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "googleplus":
                service = new GooglePlus(
                    new LocalReceiver(port),
                    "[Google Plus Client Identifier]",
                    "[Google Plus Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "heroku":
                service = new Heroku(
                    new LocalReceiver(port),
                    "[Heroku Client Identifier]",
                    "[Heroku Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "instagram":
                service = new Instagram(
                    new LocalReceiver(port),
                    "[Instagram Client Identifier]",
                    "[Instagram Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "linkedin":
                service = new LinkedIn(
                    new LocalReceiver(port),
                    "[LinkedIn Client Identifier]",
                    "[LinkedIn Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "producthunt":
                service = new ProductHunt(
                    new LocalReceiver(port),
                    "[Product Hunt Client Identifier]",
                    "[Product Hunt Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "slack":
                service = new Slack(
                    new LocalReceiver(port),
                    "[Slack Client Identifier]",
                    "[Slack Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "twitter":
                service = new Twitter(
                    new LocalReceiver(port),
                    "[Twitter Client Identifier]",
                    "[Twitter Client Secret]",
                    redirectUri
                    );
                break;

            case "microsoftlive":
                service = new MicrosoftLive(
                    new LocalReceiver(port),
                    "[Windows Live Client Identifier]",
                    "[Windows Live Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;

            case "yahoo":
                service = new Yahoo(
                    new LocalReceiver(port),
                    "[Yahoo Client Identifier]",
                    "[Yahoo Client Secret]",
                    redirectUri,
                    "someState"
                    );
                break;
            }

            return(service);
        }
Esempio n. 15
0
        public void Parse(int id)
        {
            var lFeed = FeedService.GetFeed(id);

            if (lFeed == null)
            {
                return;
            }

            var rFeed = FeedService.GetRemoteFeed(lFeed.Url);

            if (rFeed == null)
            {
                lFeed.Updated = DateTime.Now;
                FeedService.UpdateFeed(lFeed);
                return;
            }

            lFeed.Articles = FeedService.GetArticles(lFeed.Id);

            var lTags = CacheClient.Default.GetOrAdd <List <Tag> >
                            ("parsingLocalTags", CachePeriod.ForMinutes(15), () => FeedService.GetTagsByArticlesCount(100));

            foreach (var rArticle in rFeed.Articles)
            {
                rArticle.Tags = GetArticleTags(rArticle, lTags);
                try
                {
                    var lArticle = lFeed.Articles.Find(le => le.Name == rArticle.Name);
                    if (lArticle == null)
                    {
                        rArticle.FeedId     = lFeed.Id;
                        rArticle.LikesCount = Facebook.GetNumberOfLikes(rArticle.Url) +
                                              Twitter.GetNumberOfTweets(rArticle.Url) +
                                              LinkedIn.GetNumberOfShares(rArticle.Url) +
                                              Google.GetNumberOfShares(rArticle.Url) +
                                              Reddit.GetNumberOfVotes(rArticle.Url);

                        rArticle.Tags = GetArticleTags(rArticle, lTags);

                        rArticle.Id   = FeedService.InsertArticle(rArticle);
                        rArticle.Feed = lFeed;
                        LuceneSearch.AddUpdateIndex(rArticle);
                    }
                }
                catch (Exception ex)
                {
                    Mail.SendMeAnEmail("Error in insert article", "FeedId: " + lFeed.Id + " " + ex.ToString());
                }
            }

            //validation not to import single article more than once
            var lArticles = FeedService.GetArticles(lFeed.Id);

            foreach (var rArticle in rFeed.Articles)
            {
                var lArticle = lArticles.Find(le => le.Name == rArticle.Name);
                if (lArticle == null)
                {
                    //we have a problem
                    Mail.SendMeAnEmail("Parse feed multiple articles will be inserted", "Local feedId: " + lFeed.Id);
                }
            }
            lFeed.Updated = DateTime.Now;
            FeedService.UpdateFeed(lFeed);
        }
Esempio n. 16
0
 public LinkedInIterator(LinkedIn linkedIn, String type, String email)
 {
     this.linkedIn = linkedIn;
     this.type     = type;
     this.email    = email;
 }
Esempio n. 17
0
        public void Parse(Feed lFeed)
        {
            try
            {
                lFeed.Updated = DateTime.Now;

                var rFeed = FeedService.GetRemoteFeed(lFeed);
                if (rFeed == null)
                {
                    return;
                }

                if (rFeed.Name != lFeed.Name || rFeed.Description != lFeed.Description || rFeed.SiteUrl != lFeed.SiteUrl)
                {
                    lFeed.Name        = rFeed.Name;
                    lFeed.Description = rFeed.Description;
                    lFeed.SiteUrl     = rFeed.SiteUrl;
                    FeedService.UpdateFeed(lFeed);
                }

                lFeed.Articles = FeedService.GetArticlesWithoutBody(lFeed.Id);

                var lTags = CacheClient.Default.GetOrAdd("parsingLocalTags",
                                                         CachePeriod.ForMinutes(15),
                                                         () => FeedService.GetTagsWithArticlesCountGreaterThan(0));

                var uniqueArticles = rFeed.Articles.GroupBy(a => a.Url).Select(a => a.First()).ToList();
                foreach (var rArticle in uniqueArticles)
                {
                    try
                    {
                        if (!lFeed.Public &&
                            (
                                rArticle.Published > DateTime.MinValue &&
                                rArticle.Published <= DateTime.Now.AddYears(-1))
                            )
                        {
                            continue;
                        }

                        var lArticle = lFeed.Articles.Find(le => le.Url == rArticle.Url);
                        if (lArticle != null)
                        {
                            if (lArticle.Name != rArticle.Name)
                            {
                                lArticle.Name = rArticle.Name;
                                lArticle.Body = rArticle.Body;
                                FeedService.UpdateArticle(lArticle);

                                if (!Debugger.IsAttached)
                                {
                                    LuceneSearch.AddUpdateIndex(lArticle);
                                    Redis.UpdateArticleName(lArticle);
                                }
                            }
                            rFeed.Articles.Remove(rArticle);
                            continue;
                        }

                        rArticle.FeedId = lFeed.Id;
                        if (rFeed.Public && rArticle.Published <= DateTime.Now.AddDays(-32))
                        {
                            rArticle.Published = DateTime.Now;
                        }

                        if (rArticle.FeedId == 5569 && rArticle.Name.ToLower().Contains("comment on"))
                        {
                            continue;
                        }

                        rArticle.Tags = GetArticleTags(rArticle, lTags, rFeed.Encoding);

                        if (lFeed.Public)
                        {
                            rArticle.LikesCount = Facebook.GetNumberOfLikes(rArticle.Url) +
                                                  Twitter.GetNumberOfTweets(rArticle.Url) +
                                                  LinkedIn.GetNumberOfShares(rArticle.Url) +
                                                  Google.GetNumberOfShares(rArticle.Url) +
                                                  Reddit.GetNumberOfVotes(rArticle.Url);
                        }

                        lock (_insertArticleLock)
                        {
                            rArticle.Id = FeedService.InsertArticle(rArticle);
                        }
                        rArticle.Feed = lFeed;

                        if (!Debugger.IsAttached)
                        {
                            LuceneSearch.AddUpdateIndex(rArticle);
                            Redis.AddArticle(rArticle);
                        }
                    }
                    catch (Exception ex)
                    {
                        Mail.SendMeAnEmail("Error in insert article", "FeedId: " + lFeed.Id + " " + ex.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                Mail.SendMeAnEmail("Error in parse feed", +lFeed.Id + " " + ex.ToString());
            }
        }