The way we handled this was:
• A NetSuite Suitelet handles the OAuth authentication flow with Microsoft and manages the record-keeping (creating/updating the link-back records on NetSuite records after each upload).
• The integration uses the Microsoft Graph API to upload files and resolve SharePoint site/drive locations. File uploads go directly from the browser to the Graph API endpoint.
So basically you want a way to present something visually in NetSuite for the user and in that step you handle the Authentication flow with that user. Then you would need to check if Sharepoint API has a native way to present a form or for your use case it could be even simpler: Once the user authenticate you resolve or load the Sharepoint form URL, done, your NetSuite button becomes pretty much a bookmark for that URL, now if you want to pre-fill fields and what not, that is a different story you will have to dig out from the Sharepoint API.