Thursday, January 7, 2021

Get file url from SharePoint by name

 List docs = web.Lists.GetByTitle("DOCUMENTS");

Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(newFile);

clientContext.ExecuteQuery();


clientContext.Load(uploadFile.ListItemAllFields, item => item["EncodedAbsUrl"]);

clientContext.ExecuteQuery();


var fileUrl = uploadFile.ListItemAllFields["EncodedAbsUrl"].ToString();


string link = ctx.Web.CreateAnonymousLinkForDocument(fileUrl, ExternalSharingDocumentOption.View);


string linkwithExpiration = ctx.Web.CreateAnonymousLinkWithExpirationForDocument(fileUrl, ExternalSharingDocumentOption.Edit, DateTime.Now.AddMonths(1));


SharingResult result = ctx.Web.ShareDocument(fileUrl, "reven@peakfinders.com", ExternalSharingDocumentOption.View, true, "Documents shared Sucessfully");


Wednesday, January 6, 2021

How to read site page contents in SharePoint using CSOM?

 var listTitle = "Site Pages";

var list = ctx.Web.Lists.GetByTitle(listTitle);

var items = list.GetItems(CamlQuery.CreateAllItemsQuery());

ctx.Load(items, icol => icol.Include( i => i["WikiField"], i => i["Roaf"], i => i["FileRef"], i => i.ContentType));

ctx.ExecuteQuery();

foreach (var item in items)

{

     Console.WriteLine(">>> {0}", item["FileRef"]);

     switch (item.ContentType.Name)

     {

        case "Site Page":

          Console.WriteLine(item["Roaf"]);

          break;

        case "Wiki Page":

          Console.WriteLine(item["WikiField"]);

          break;


     }    

 }

How to enable JSON response for SharePoint 2013 REST APIs ?

 headers: { "accept": "application/json", },


Instead using headers: { "accept": "application/json;odata=verbose", },

Could not load file or assembly SharePoint Online CSOM DLL

 https://www.microsoft.com/en-us/download/details.aspx?id=42038

Add-Type -Path 'C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll'

Add-Type -Path 'C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll'   

Access denied in office 365 / SharePoint Online

  •  Login your Office 365 account.
  • Go to the SharePoint admin center.
  • Select Settings.
  • Under Custom Script choose:


  • Prevent users from running custom script on personal sites or Allow users to run custom script on personal sites.
  • Prevent users from running custom script on user created sites or Allow users to run custom script on self-service created sites.


var tenant = new Tenant(ctx);
    var SiteProp = tenant.GetSitePropertiesByUrl(http://devprasad007-admin.sharepoint.com, true);
    ctx.Load(SiteProp);
ctx.ExecuteQuery(); SiteProp.DenyAddAndCustomizePages = DenyAddAndCustomizePagesStatus.Disabled;
var result = SiteProp.Update();
ctx.Load(result); ctx.ExecuteQuery(); while (!result.IsComplete) { Thread.Sleep(result.PollingInterval); ctx.Load(result); ctx.ExecuteQuery(); 

    }