Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            if (args.Count() != 3)
            {
                Console.WriteLine("Syntax: Wictor.Office365.ClaimsDemo.exe url username password");
            }
            MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper(args[0], args[1], args[2]);

            using (ClientContext context = new ClientContext(args[0])) {
                context.ExecutingWebRequest += claimsHelper.clientContext_ExecutingWebRequest;

                /* get title */
                //context.Load(context.Web);
                //context.ExecuteQuery();
                //Console.WriteLine("Name of the web is: " + context.Web.Title);

                /* get lists */
                var results = context.LoadQuery(context.Web.Lists.Include(list => list.Title, list => list.Id));
                context.ExecuteQuery();
                results.ToList().ForEach(x =>
                {
                    Console.WriteLine(x.Title);
                });



                Console.ReadLine();
            }
        }
Ejemplo n.º 2
0
        public static TokenContainer getTokens(string url, string userName, string password)
        {
            TokenContainer       tc           = new TokenContainer();
            MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper(url, userName, password);
            CookieContainer      cc           = claimsHelper.GetCookieContainer();

            tc.FedAuth = cc.GetCookies(new Uri(url))["FedAuth"].Value;
            tc.RtFa    = cc.GetCookies(new Uri(url))["rtFa"].Value;
            return(tc);
        }
 public static ClientContext GetContext()
 {
     if (ctx == null)
     {
         //ctx = ClaimClientContext.GetAuthenticatedContext(SharepointUrl);
         MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper(SharepointUrl, "*****@*****.**", "1418Taktus");
         ctx = new ClientContext(SharepointUrl);
         ctx.ExecutingWebRequest += claimsHelper.clientContext_ExecutingWebRequest;
     }
     return ctx;
 }
Ejemplo n.º 4
0
        public static CookieContainer GetCookies(string url, PSCredential credential)
        {
            if (credential == null || string.IsNullOrEmpty(credential.UserName) ||
                credential.Password == null || credential.Password.Length == 0)
            {
                throw new ArgumentException(
                          "Explicit credentials are needed to connect to Office 365.");
            }
            var credentials = credential.GetCredentials();
            var helper      = new MsOnlineClaimsHelper(credential.UserName,
                                                       credential.Password.ToInsecureString(), url);

            return(helper.CookieContainer);
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            if (args.Count() != 3)
            {
                Console.WriteLine("Syntax: Wictor.Office365.ClaimsDemo.exe url username password");
            }
            MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper(args[0], args[1], args[2]);

            using (ClientContext context = new ClientContext(args[0])) {
                context.ExecutingWebRequest += claimsHelper.clientContext_ExecutingWebRequest;

                context.Load(context.Web);

                context.ExecuteQuery();

                Console.WriteLine("Name of the web is: " + context.Web.Title);
            }
        }
Ejemplo n.º 6
0
        public static ClientContext GetContext(string url)
        {
            var username = ConfigHelper.SharepointUsername;
            var password = ConfigHelper.SharepointPassword;

            if (msOnlineHelper == null)
            {
                msOnlineHelper = new MsOnlineClaimsHelper(username, password, url);
            }

            ClientContext ctx = new ClientContext(url);

            ctx.ExecutingWebRequest += new EventHandler <WebRequestEventArgs>(ctx_ExecutingWebRequest);

            //Upload(ctx, "https://faulkner.sharepoint.com/Shared Documents", "c:\\temp\\test.txt");

            return(ctx);
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            //lets create config file for funnelback and read it first
            Dictionary <string, string> fnb_config = new Dictionary <string, string>();

            try
            {
                using (StreamReader sr = new StreamReader("funnelback.cfg"))
                {
                    String line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        // Console.WriteLine(line);
                        //Dictionary<string, string> fnb_dictionary = new Dictionary<string, string>();
                        string[] words = line.Split('=');
                        fnb_config.Add(words[0], words[1]);
                        // Console.WriteLine(words[0] + words[1]);
                    }
                }
            }
            catch (Exception e)
            {
                // Let the user know what went wrong.
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }
            // Console.WriteLine(fnb_config);

            foreach (KeyValuePair <string, string> pair in fnb_config)
            {
                Console.WriteLine("{0}, {1}",
                                  pair.Key,
                                  pair.Value);
            }

            string[] wanted_fields = { "" };
            // wanted_fields=new string[] {""};
            if (fnb_config.ContainsKey("wanted_fields"))
            {
                string wanted_fields_string = fnb_config["wanted_fields"];
                wanted_fields = wanted_fields_string.Split(',');
            }
            string[] cdata_fields = { "" };
            if (fnb_config.ContainsKey("cdata_fields"))
            {
                string cdata_fields_string = fnb_config["cdata_fields"];
                wanted_fields = cdata_fields_string.Split(',');
            }
            string[] lookup_fields = { "" };
            if (fnb_config.ContainsKey("lookup_fields"))
            {
                string lookup_fields_string = fnb_config["lookup_fields"];
                wanted_fields = lookup_fields_string.Split(',');
            }

            string target_site   = fnb_config["target_site"];
            string username      = fnb_config["username"];
            string password      = fnb_config["password"];
            string output_folder = fnb_config["output_folder"];
            string auth_method   = fnb_config["auth_method"];

            FunnelbackXmlConfig fbx = new FunnelbackXmlConfig();

            fbx.outputFolder = output_folder;
            fbx.targetSite   = target_site;
            fbx.WantedFields = wanted_fields;
            fbx.CDataFields  = cdata_fields;
            fbx.LookupFields = lookup_fields;



            //get all we need for claims authentication

            MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper(target_site, username, password);

            //from now on we can use sharepoint being authenticated
            using (ClientContext ctx = new ClientContext(target_site))
            {
                ctx.ExecutingWebRequest += claimsHelper.clientContext_ExecutingWebRequest;

                ctx.Load(ctx.Web);
                ctx.ExecuteQuery();

                //
                //List all users
                FunnelbackConfig config = new FunnelbackConfig("funnelback.cfg");
                FunnelbackUser   m      = new FunnelbackUser(ctx, config);
                m.ListUsers();
                //End of users


                if (ctx != null)
                {
                    using (StreamWriter writer = new StreamWriter(fbx.outputFolder + "\\first.xml"))
                    {
                        Site              oSite = ctx.Site;
                        WebCollection     oWebs = oSite.RootWeb.Webs;
                        FunnelbackXmlSite fbxs  = new FunnelbackXmlSite();
                        fbxs.ww    = oSite.RootWeb;
                        fbxs.myfbx = fbx;
                        fbxs.Process();
                        ctx.Load(oWebs);
                        ctx.ExecuteQuery();
                        writer.WriteLine(@"<?xml version='1.0'?>");
                        writer.WriteLine(@"<sharepoint>");
                        foreach (Web oWebsite in oWebs)
                        {
                            ListCollection collList = oWebsite.Lists;
                            ctx.Load(collList); // Query for Web
                            ctx.ExecuteQuery(); // Execute

                            writer.WriteLine(@"<site>");
                            writer.WriteLine("<title>{0}</title>", oWebsite.Title);
                            foreach (List oList in collList)
                            {
                                writer.WriteLine("<list>{0}</list>", oList.Title);
                                List      oListy    = collList.GetByTitle(oList.Title);
                                CamlQuery camlQuery = new CamlQuery();
                                camlQuery.ViewXml = "<View><RowLimit>100</RowLimit></View>";
                                ListItemCollection collListItem = oListy.GetItems(camlQuery);
                                ctx.Load(collListItem,
                                         items => items.IncludeWithDefaultProperties(
                                             item => item.DisplayName,
                                             item => item.HasUniqueRoleAssignments
                                             ));
                                ctx.ExecuteQuery();
                                foreach (ListItem oListItem in collListItem)
                                {
                                    FunnelbackXmlRecord oFXR = new FunnelbackXmlRecord();
                                    oFXR.myfbx = fbx;
                                    oFXR.li    = oListItem;
                                    oFXR.FunnelbackWriteXml();

                                    FunnelbackItem oFI = new FunnelbackItem(oListItem);
                                    oFI.config = new FunnelbackConfig("funnelback.cfg");

                                    XmlSerializer ser = new XmlSerializer(typeof(FunnelbackItem));
                                    XmlWriter     tx  = XmlWriter.Create(fbx.outputFolder + "\\" + oFI.GetSafeFilename("xml"));
                                    ser.Serialize(tx, oFI);
                                    tx.Close();
                                }
                            }
                            writer.WriteLine(@"</site>");
                        }
                        writer.WriteLine(@"</sharepoint>");
                    }
                }
            }
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            //lets create config file for funnelback and read it first
            Dictionary<string, string> fnb_config = new Dictionary<string, string>();

            try
            {
                using (StreamReader sr = new StreamReader("funnelback.cfg"))
                {
                    String line;
                    while ((line = sr.ReadLine()) != null)
                    {
                       // Console.WriteLine(line);
                        //Dictionary<string, string> fnb_dictionary = new Dictionary<string, string>();
                        string[] words = line.Split('=');
                        fnb_config.Add(words[0],words[1]);
                       // Console.WriteLine(words[0] + words[1]);
                    }
                }
            }
            catch (Exception e)
            {
                // Let the user know what went wrong.
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }
               // Console.WriteLine(fnb_config);

            foreach (KeyValuePair<string, string> pair in fnb_config)
            {
                Console.WriteLine("{0}, {1}",
                pair.Key,
                pair.Value);
            }

            string[] wanted_fields = { "" };
               // wanted_fields=new string[] {""};
            if (fnb_config.ContainsKey("wanted_fields"))
            {
                string wanted_fields_string = fnb_config["wanted_fields"];
                 wanted_fields = wanted_fields_string.Split(',');

            }
            string[] cdata_fields = { "" };
            if (fnb_config.ContainsKey("cdata_fields"))
            {
                string cdata_fields_string = fnb_config["cdata_fields"];
                wanted_fields = cdata_fields_string.Split(',');

            }
            string[] lookup_fields = { "" };
            if (fnb_config.ContainsKey("lookup_fields"))
            {
                string lookup_fields_string = fnb_config["lookup_fields"];
                wanted_fields = lookup_fields_string.Split(',');

            }

            string target_site = fnb_config["target_site"];
            string username = fnb_config["username"];
            string password = fnb_config["password"];
            string output_folder = fnb_config["output_folder"];
            string auth_method = fnb_config["auth_method"];

            FunnelbackXmlConfig fbx = new FunnelbackXmlConfig();

            fbx.outputFolder = output_folder;
            fbx.targetSite = target_site;
            fbx.WantedFields = wanted_fields;
            fbx.CDataFields = cdata_fields;
            fbx.LookupFields = lookup_fields;

            //get all we need for claims authentication

            MsOnlineClaimsHelper claimsHelper = new MsOnlineClaimsHelper(target_site,username,password);

            //from now on we can use sharepoint being authenticated
            using (ClientContext ctx = new ClientContext(target_site))
            {
                ctx.ExecutingWebRequest += claimsHelper.clientContext_ExecutingWebRequest;

                ctx.Load(ctx.Web);
                ctx.ExecuteQuery();
                if (ctx != null)
                {
                    using (StreamWriter writer = new StreamWriter(fbx.outputFolder + "\\first.xml"))
                    {
                        Site oSite = ctx.Site;
                        WebCollection oWebs = oSite.RootWeb.Webs;
                        FunnelbackXmlSite fbxs = new FunnelbackXmlSite();
                        fbxs.ww = oSite.RootWeb;
                        fbxs.myfbx = fbx;
                        fbxs.Process();
                        ctx.Load(oWebs);
                        ctx.ExecuteQuery();
                        writer.WriteLine(@"<?xml version='1.0'?>");
                        writer.WriteLine(@"<sharepoint>");
                        foreach (Web oWebsite in oWebs)
                        {

                            ListCollection collList = oWebsite.Lists;
                            ctx.Load(collList); // Query for Web
                            ctx.ExecuteQuery(); // Execute

                            writer.WriteLine(@"<site>");
                            writer.WriteLine("<title>{0}</title>", oWebsite.Title);
                            foreach (List oList in collList)
                            {
                                writer.WriteLine("<list>{0}</list>", oList.Title);
                                List oListy = collList.GetByTitle(oList.Title);
                                CamlQuery camlQuery = new CamlQuery();
                                camlQuery.ViewXml = "<View><RowLimit>100</RowLimit></View>";
                                ListItemCollection collListItem = oListy.GetItems(camlQuery);
                                ctx.Load(collListItem,
                                         items => items.IncludeWithDefaultProperties(
                                            item => item.DisplayName,
                                            item => item.HasUniqueRoleAssignments
                                         ));
                                ctx.ExecuteQuery();
                                foreach (ListItem oListItem in collListItem)
                                {
                                    FunnelbackXmlRecord oFXR = new FunnelbackXmlRecord();
                                    oFXR.myfbx = fbx;
                                    oFXR.li = oListItem;
                                    oFXR.FunnelbackWriteXml();

                                    FunnelbackItem oFI = new FunnelbackItem(oListItem);
                                    oFI.config = new FunnelbackConfig("funnelback.cfg");

                                    XmlSerializer ser = new XmlSerializer(typeof(FunnelbackItem));
                                    XmlWriter tx = XmlWriter.Create(@"C:\Users\rpfmorg\output\testoutput.xml");
                                    ser.Serialize(tx, oFI);
                                    tx.Close();
                                }
                            }
                            writer.WriteLine(@"</site>");
                        }
                        writer.WriteLine(@"</sharepoint>");

                    }
                }

            }
        }