Not certain if this will help. I had a project were the Field Crew Lead wanted all photos taken transferred to to a specific drive. This script would copy all attachment's and transfer them to a directory on my C: drive
For the inTable you will want to change database name to your specific database name. Essentially making a path direct to the attachments table.
I saved this as a python script so I could run it every Monday. I don' t know if you will be able to plop them direct into a One Drive folder but you could send them to your C: drive and then combine the script in a .bat file to copy them direct to One Drive.
However, all that aside. You should try to convince the end users to use a Dashboard
import arcpy
from arcpy import da
import os
inTable = "Database Connections\\<database name>.sde\\GIS.SitePhotos_WORKGROUPS__ATTACH"
fileLocation = "C:\Photos700\ExtBTS"
with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:
for item in cursor:
attachment = item[0]
filenum = str(item[-1]) + ".jpg"
filename = filenum
open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())
del item
del filenum
del filename
del attachment