I want to write a "simple" application that reads PDF files on the SharePoint site of the nonprofit I volunteer for, extracts an attribute (let's take "Subject" as an example) and writes it into the custom column "Subject" that I've created in my SharePoint folders.
I've been reading web sites all morning on this, and quite frankly it's overwhelming. There are so many options for how to do this, and it's very hard to tell which are obsolete and of those that aren't, which are actually easy for my intended purpose.
There are web sites that recommend using System.Net.NetworkCredential (which I'm 98% sure no longer works), there's the SharePoint REST API (which I guess underlies everything, once you've got a token), Microsoft Graph API, SharePoint Web Services (which are probably obsolete), and CSOM.
The PnP Framework lives, I think, on top of CSOM, and it claims it will make my life easier, but its "getting started" section talks about a Microsoft 365 tenant, whatever that is. It's got a nice introductory YouTube video, but it has sections on "PnP Framework" and "PnP Core" but no indication how to know which one applies to which user needs. It's also got sample code that omits 90% of what you need to know and assumes you already have an appsettings.json, azureAppId, certificatePassword, certificatePath, and azureTenantName.
I realize that I could read the entire OAuth 2 spec, and for some reason folks recommend that for newbies, but that spec covers 1,000 scenarios and I have no idea which parts apply to what I'm doing.
This stack exchange question looks possible, but the answer points me to the Microsoft "auto code flow" which seems like good information but is at such a high level, I can't figure out what code I need to write.
So yeah, I'm an OAuth 2 newbie.
So folks who have done this kind of thing before - if you were tasked with the application I mentioned (copying PDF "Subject" attribute into a custom column in SharePoint), which technology would you use? Should I skip Graph API (which I've used before for a different purpose and wasn't too impressed with) and go with PnP Framework instead?
EDIT
@grisha, your answer is amazing! You definitely have the exact knowledge I was hoping to find.
I've been a software engineer for 40 years, but almost exclusively in the Windows desktop environment. I recently started setting up some pipelines in Azure DevOps for work so I'm familiar with the Azure environment.
I created an Azure account for the nonprofit, and now I'm facing the home page where Azure helpfully offers about a million things it can do for me. Where do I start?