
In this tutorial, you will learn how to upload files and images to Microsoft OneDrive using its file storage API and Python. The complete source code of the Python OneDrive file upload script is given below.
Important Note: Replace the client_id and client_secret with your real OneDrive API client_id and client_secret. Also, update the URLs with your Tenant domain name.
import requests
import json
directory = r"c:\temp\uploads"
data = {'grant_type':"client_credentials",
'resource':"https://graph.microsoft.com",
'client_id':'XXXXX',
'client_secret':'XXXXX'}
URL = "https://login.windows.net/YOURTENANTDOMAINNAME/oauth2/token?api-version=1.0"
r = requests.post(url = URL, data = data)
j = json.loads(r.text)
TOKEN = j["access_token"]
URL = "https://graph.microsoft.com/v1.0/users/YOURONEDRIVEUSERNAME/drive/root:/fotos/HouseHistory"
headers={'Authorization': "Bearer " + TOKEN}
r = requests.get(URL, headers=headers)
j = json.loads(r.text)
print("Uploading file(s) to "+URL)
for root, dirs, files in os.walk(directory):
for filename in files:
filepath = os.path.join(root,filename)
print("Uploading "+filename+"....")
fileHandle = open(filepath, 'rb')
r = requests.put(URL+"/"+filename+":/content", data=fileHandle, headers=headers)
fileHandle.close()
if r.status_code == 200 or r.status_code == 201:
#remove folder contents
print("succeeded, removing original file...")
os.remove(os.path.join(root, filename))
print("Script completed")
raise SystemExitIf you have been searching for the right note-taking or knowledge management app, you have…
Looking for AnyType alternatives? You're not alone. AnyType has gained popularity as a privacy-focused, local-first…
Notion is a popular all-in-one workspace, but many users seek alternatives for different needs (free…
Logseq is a beloved tool in the personal knowledge management (PKM) community. It's free, open-source,…
Looking for a Webshare alternative? You're not alone. Webshare is a popular proxy service with…
Docker changed software development forever. It made containers accessible, gave developers a simple workflow, and…