Share SharePoint document programmatically
Introduction:
Sometimes it is required to share the certain documents with outside users. It is possible that user can share that document as hard copy. If that document is hosted on SharePoint user can make a shareable link.
Description:
Sharing a document to the outside users are possible via directly going to SharePoint and creating a shareable link. But what if you want to generate a shareable link using the C# code.
You can follow below code to generate shareable link in Online SharePoint.
1. Get the link
You need to pass the document link to below function as shown.
currentLink = https://organization.sharepoint.com/cf_car/JTN_89330b3c-beb5-e811-a968-000d3a324f4c/Untitled2.png
2. Get the base url of your SharePoint and generate the service context
using (var context = new ClientContext(Model.SharePointBaseURL)){}
3. Authenticate the user
foreach (var c in Model.AdminPassword) passWord.AppendChar(c); context.Credentials = new SharePointOnlineCredentials(Model.AdminUserName, passWord);
4. CreateAnonymousLink method which will generate the shareable link
var orgEditLink = Web.CreateAnonymousLink(context, currentLink, true);
5. Execute the query
context.ExecuteQuery();
6. Finally get the public link
editUrl = orgEditLink.Value;
Complete code:
private static string UpdateLinkTOShareable(string currentLink, Entity document)
{
string editUrl = string.Empty;
using (var context = new ClientContext(Model.SharePointBaseURL))
{
var passWord = new SecureString();
foreach (var c in Model.AdminPassword) passWord.AppendChar(c);
context.Credentials = new SharePointOnlineCredentials(Model.AdminUserName, passWord);
try
{
var orgEditLink = Web.CreateAnonymousLink(context, currentLink, true);
context.ExecuteQuery();
editUrl = orgEditLink.Value;
}
catch (Exception ex)
{
}
/*Code to make link Public End*/
return editUrl;
}
}
Related posts:
From Client Secrets to Certificate-Based Authentication: Building a Secure Integration with Azure Ke...

From Multiple Data Sources to Azure Databricks: A Zero-Downtime Power BI Report Data Migration for F...
Using AI for Data Discipline That Drives Better AI Outcomes

