Description
Storage for EDD via OneDrive is a powerful extension for Easy Digital Downloads that allows you to store and deliver your digital products using Microsoft OneDrive cloud storage. This plugin provides seamless integration with Microsoft Graph API, featuring OAuth2 authentication and secure download links.
Key Features
- OneDrive Integration: Store your digital products securely in Microsoft OneDrive
- OAuth2 Authentication: Secure and easy connection to your Microsoft account
- Temporary Download Links: Generates secure temporary download URLs via @microsoft.graph.downloadUrl
- Easy File Management: Upload files directly to OneDrive through WordPress admin
- Media Library Integration: Browse and select files from your OneDrive within WordPress
- Folder Support: Navigate and organize files in folders
- Security First: Built with WordPress security best practices
- Developer Friendly: Clean, well-documented code with hooks and filters
Configuration
- Register an Azure AD Application at Azure App Registrations
- Add API permissions for Microsoft Graph (Files.Read, Files.ReadWrite, User.Read, offline_access)
- Set Redirect URI to:
https://your-site.com/odse-oauth-callback/ - Create a Client Secret and copy the value
- Go to Downloads > Settings > Extensions > OneDrive Storage
- Enter your Application (client) ID and Client Secret
- Save settings and click “Connect to OneDrive”
Usage
Browsing and Selecting Files
- When creating or editing a download in Easy Digital Downloads
- Click the “Browse OneDrive” button next to the file URL field
- Browse your OneDrive storage using the folder navigation
- Use the breadcrumb navigation bar to quickly jump to parent folders
- Use the search box in the header to filter files by name
- Click “Select” to use an existing file for your download
Uploading New Files
- In the OneDrive browser, click the “Upload” button in the header row
- The upload form will appear above the file list
- Choose your file and click “Upload”
- After a successful upload, the file URL will be automatically set with the OneDrive prefix
- Click the button again to hide the upload form
External services
This plugin connects to Microsoft Graph API (OneDrive) to manage files, create download links, and handle authentication.
It sends the necessary authentication tokens and file requests to Microsoft servers. This happens when you browse your OneDrive files in the dashboard, upload files, or when a customer downloads a file.
- Service: Microsoft Graph API (OneDrive)
- Used for: Authentication, file browsing, uploading, and generating download links.
- Data sent: OAuth tokens, file metadata, file content (during upload).
- URLs:
https://graph.microsoft.com(API calls)https://login.microsoftonline.com(Authentication)
- Legal: Terms of Service, Privacy Policy
Support
For support and bug reports, please use the WordPress.org plugin support forum.
If you find this plugin helpful, please consider leaving a review on WordPress.org.
Other Storage Providers
Looking for a different storage provider? Check out our other plugins:
- Storage for EDD via Box – Use Box for your digital product storage
- Storage for EDD via Dropbox – Use Dropbox for your digital product storage
- Storage for EDD via S3-Compatible – Use S3-compatible services like MinIO, DigitalOcean Spaces, Linode, Wasabi, and more
Privacy Policy
This plugin requires authorization to access your Microsoft OneDrive account for file storage and retrieval. It does not collect or store any personal data beyond the OAuth tokens needed to maintain the connection. All file storage and delivery is handled through Microsoft’s secure infrastructure.
Screenshots
Installation
- Upload the plugin files to the
/wp-content/plugins/storage-for-edd-via-onedrivedirectory, or install the plugin through the WordPress plugins screen directly. - Make sure you have Easy Digital Downloads plugin installed and activated.
- Run
composer installin the plugin directory if installing from source (not needed for release versions). - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Navigate to Downloads > Settings > Extensions > OneDrive Storage to configure the plugin.
FAQ
-
How secure are the download links?
-
The plugin uses Microsoft Graph API’s
@microsoft.graph.downloadUrlwhich provides temporary, pre-authenticated download links. These links are generated on-demand when a customer purchases your product. -
What file types are supported for upload?
-
The plugin supports safe file types including:
* Archives: ZIP, RAR, 7Z, TAR, GZ
* Documents: PDF, DOC, DOCX, TXT, RTF, XLS, XLSX, CSV, PPT, PPTX
* Images: JPG, JPEG, PNG, GIF, WEBP
* Audio: MP3, WAV, OGG, FLAC, M4A
* Video: MP4, AVI, MOV, WMV, FLV, WEBM
* E-books: EPUB, MOBI, AZW, AZW3
* Web files: CSS, JS, JSON, XMLDangerous file types (executables, scripts) are automatically blocked for security.
-
Can I customize the URL prefix for OneDrive files?
-
Yes, developers can customize the URL prefix using the
odse_url_prefixfilter. Add this code to your theme’s functions.php:function customize_onedrive_url_prefix($prefix) { return 'edd-myprefix://'; // Change to your preferred prefix } add_filter('odse_url_prefix', 'customize_onedrive_url_prefix'); -
Can I customize the allowed file types (MIME types)?
-
Yes, developers can customize the allowed MIME types using the
odse_allowed_mime_typesfilter.
Reviews
Contributors & Developers
“Storage for EDD via OneDrive” is open source software. The following people have contributed to this plugin.
Contributors“Storage for EDD via OneDrive” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Storage for EDD via OneDrive” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.5
- Improved: UI styles and enhanced layout consistency for better harmony.
- Improved: Comprehensive code improvements and stability optimizations.
- Added: Skeleton loader with shimmer animation for better UX while loading OneDrive browser modal.
1.0.4
- Use wp_enqueue commands: Replaced inline and in includes/class-media-library.php (admin media library)
1.0.3
- Added: New “Browse” button next to file inputs for easier file selection.
- Improved: Modernized file browser UI with a dedicated modal window.
- Improved: File browser is now context-aware, opening directly to the selected file’s folder.
- Improved: Browse button is automatically hidden if the plugin is not configured.
- Improved: Removed legacy “OneDrive Library” tab from the standard WordPress media uploader for a cleaner interface.
1.0.2
- Added: Native search input type with clear (“X”) icon support for a cleaner UI.
- Improved: Mobile breadcrumb navigation with path wrapping for long directory names.
- Improved: Reduced separator spacing in breadcrumbs on mobile devices.
- Improved: Media library table styling for more consistent file and folder display.
- Improved: Redesigned folder rows with better icons and refined hover effects.
- Improved: Enhanced mobile responsiveness for the file browser table.
- Fixed: Corrected file name and path display order in the media library.
- Improved: Standardized header row spacing and title font sizes for UI consistency.
- Improved: Enhanced notice detail styling for better error/success message readability.
- Improved: More robust handling of file lists with additional data validation.
- Security: Standardized use of wp_json_encode() for client-side data.
- Improved: Unified root folder label as “Home” across all breadcrumb states for consistent navigation.
1.0.1
- Added: Breadcrumb navigation in file browser – click any folder in the path to navigate directly.
- Improved: Integrated search functionality directly into the breadcrumb navigation bar for a cleaner UI.
- Improved: Better navigation experience without needing the Back button.
- Improved: Enhanced styling for search inputs and buttons, including compact padding.
- Fixed: RTL layout issues for breadcrumbs and navigation buttons.
- Cleaned: Removed legacy CSS and unused search container elements.
1.0.0
- Initial release
- Microsoft Graph API OAuth2 integration
- Temporary download link generation via @microsoft.graph.downloadUrl
- Media library integration
- File upload functionality
- Admin settings interface
- Security enhancements and validation
- Internationalization support




