コード例 #1
0
        private ListDataCollection GetAppOnlyContextData(ListDataCollection coll)
        {
            try
            {
                var token = GetAppOnlyToken();

                using (var clientContext = TokenHelper.GetClientContextWithAccessToken(sharePointSiteUrl.ToString(), token))
                {
                    if (clientContext != null)
                    {
                        var       list = clientContext.Web.Lists.GetByTitle(ConfigurationManager.AppSettings.Get("ListName"));
                        CamlQuery q    = new CamlQuery();
                        q.ViewXml = "<View><Query><OrderBy FieldRef='ID' Ascending='False'/></Query></View>";
                        var items = list.GetItems(q);
                        clientContext.Load(items);

                        clientContext.ExecuteQuery();

                        return(populateData(items));
                    }
                }
            }
            catch (ThreadAbortException)
            {
                //do nothing
            }
            catch (Exception ex)
            {
                coll.Add(new ListDataModel()
                {
                    ContentType = "", Created = DateTime.MinValue, CreatedBy = "", Modified = DateTime.MinValue, ModifiedBy = "", Title = "No data found :" + ex.Message
                });
            }
            return(coll);
        }
コード例 #2
0
        public ActionResult Index()
        {
            ListDataCollection coll = new ListDataCollection();

            coll = GetClientContextData(coll);
            //coll = GetAppOnlyContextData(coll);
            return(View(coll));
        }
コード例 #3
0
        private ListDataCollection populateData(ListItemCollection items)
        {
            ListDataCollection coll = new ListDataCollection();

            foreach (ListItem itm in items)
            {
                coll.Add(new ListDataModel()
                {
                    ContentType = itm.ContentType.ToString(), Created = Convert.ToDateTime(itm["Created"]), CreatedBy = itm["Author"].ToString(), Modified = Convert.ToDateTime(itm["Modified"]), ModifiedBy = itm["Editor"].ToString(), Title = itm["Title"].ToString()
                });
            }
            return(coll);
        }
コード例 #4
0
        private ListDataCollection GetClientContextData(ListDataCollection coll)
        {
            try
            {
                if (!string.IsNullOrEmpty(this.Request.QueryString["error"]))
                {
                    coll.Add(new ListDataModel()
                    {
                        ContentType = "", Created = DateTime.MinValue, CreatedBy = "", Modified = DateTime.MinValue, ModifiedBy = "", Title = "Error :" + this.Request.QueryString["error_description"]
                    });
                    return(coll);
                }
                GetandCacheClientbasedTokens();
                string refreshToken = TokenCache.GetCachedRefreshToken(Request.Cookies);

                string accessToken = TokenHelper.GetAccessToken(
                    refreshToken,
                    TokenHelper.SharePointPrincipal,
                    sharePointSiteUrl.Authority,
                    TokenHelper.GetRealmFromTargetUrl(sharePointSiteUrl)).AccessToken;

                using (ClientContext clientContext =
                           TokenHelper.GetClientContextWithAccessToken(sharePointSiteUrl.ToString(),
                                                                       accessToken))
                {
                    if (clientContext != null)
                    {
                        var       list = clientContext.Web.Lists.GetByTitle("TestList");
                        CamlQuery q    = new CamlQuery();
                        q.ViewXml = "<View><Query><OrderBy FieldRef='ID' Ascending='False'/></Query></View>";
                        var items = list.GetItems(q);
                        clientContext.Load(items);

                        clientContext.ExecuteQuery();

                        return(populateData(items));
                    }
                }
            }

            catch (Exception ex)
            {
                coll.Add(new ListDataModel()
                {
                    ContentType = "", Created = DateTime.MinValue, CreatedBy = "", Modified = DateTime.MinValue, ModifiedBy = "", Title = "No data found :" + ex.Message
                });
            }
            return(coll);
        }