{"id":272489,"date":"2026-01-23T07:17:28","date_gmt":"2026-01-23T07:17:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/storage-for-edd-via-onedrive\/"},"modified":"2026-02-24T09:48:36","modified_gmt":"2026-02-24T09:48:36","slug":"storage-for-edd-via-onedrive","status":"publish","type":"plugin","link":"https:\/\/frp.wordpress.org\/plugins\/storage-for-edd-via-onedrive\/","author":16849722,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Storage for EDD via OneDrive","header_author":"mohammadr3z","header_description":"Enable secure cloud storage and delivery of your digital products through Microsoft OneDrive for Easy Digital Downloads.","assets_banners_color":"1d344f","last_updated":"2026-02-24 09:48:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":0,"downloads":230,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mohammadr3z","date":"2026-01-23 07:34:52"},"1.0.1":{"tag":"1.0.1","author":"mohammadr3z","date":"2026-01-23 07:34:52"},"1.0.2":{"tag":"1.0.2","author":"mohammadr3z","date":"2026-01-23 07:34:52"},"1.0.3":{"tag":"1.0.3","author":"mohammadr3z","date":"2026-01-23 07:34:52"},"1.0.4":{"tag":"1.0.4","author":"mohammadr3z","date":"2026-01-28 19:54:46"},"1.0.5":{"tag":"1.0.5","author":"mohammadr3z","date":"2026-02-04 20:22:10"},"1.1.0":{"tag":"1.1.0","author":"mohammadr3z","date":"2026-02-24 09:48:36"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3445325,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3445325,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3445325,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3445325,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.1.0"],"block_files":[],"assets_screenshots":{"Screenshot-1.png":{"filename":"Screenshot-1.png","revision":3445332,"resolution":"1","location":"assets","locale":""},"Screenshot-2.png":{"filename":"Screenshot-2.png","revision":3445332,"resolution":"2","location":"assets","locale":""},"Screenshot-3.png":{"filename":"Screenshot-3.png","revision":3445332,"resolution":"3","location":"assets","locale":""},"Screenshot-4.png":{"filename":"Screenshot-4.png","revision":3445332,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Admin panel user interface","2":"File selection from OneDrive storage section","3":"File upload to OneDrive storage interface"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[618,5484,2665,28211,2216],"plugin_category":[45],"plugin_contributors":[170856],"plugin_business_model":[],"class_list":["post-272489","plugin","type-plugin","status-publish","hentry","plugin_tags-cloud","plugin_tags-easy-digital-downloads","plugin_tags-edd","plugin_tags-onedrive","plugin_tags-storage","plugin_category-ecommerce","plugin_contributors-mohammadr3z","plugin_committers-mohammadr3z","plugin_committers-thisismrez"],"banners":{"banner":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/banner-772x250.png?rev=3445325","banner_2x":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/banner-1544x500.png?rev=3445325","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/icon-128x128.png?rev=3445325","icon_2x":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/icon-256x256.png?rev=3445325","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/Screenshot-1.png?rev=3445332","caption":"Admin panel user interface"},{"src":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/Screenshot-2.png?rev=3445332","caption":"File selection from OneDrive storage section"},{"src":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/Screenshot-3.png?rev=3445332","caption":"File upload to OneDrive storage interface"},{"src":"https:\/\/ps.w.org\/storage-for-edd-via-onedrive\/assets\/Screenshot-4.png?rev=3445332","caption":""}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>OneDrive Integration<\/strong>: Store your digital products securely in Microsoft OneDrive<\/li>\n<li><strong>OAuth2 Authentication<\/strong>: Secure and easy connection to your Microsoft account<\/li>\n<li><strong>Temporary Download Links<\/strong>: Generates secure temporary download URLs via @microsoft.graph.downloadUrl<\/li>\n<li><strong>Easy File Management<\/strong>: Upload files directly to OneDrive through WordPress admin<\/li>\n<li><strong>Media Library Integration<\/strong>: Browse and select files from your OneDrive within WordPress<\/li>\n<li><strong>Folder Support<\/strong>: Navigate and organize files in folders<\/li>\n<li><strong>Security First<\/strong>: Built with WordPress security best practices<\/li>\n<li><strong>Developer Friendly<\/strong>: Clean, well-documented code with hooks and filters<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<ol>\n<li>Register an Azure AD Application at <a href=\"https:\/\/portal.azure.com\/#blade\/Microsoft_AAD_RegisteredApps\/ApplicationsListBlade\">Azure App Registrations<\/a><\/li>\n<li>Add API permissions for Microsoft Graph (Files.Read, Files.ReadWrite, User.Read, offline_access)<\/li>\n<li>Set Redirect URI to: <code>https:\/\/your-site.com\/odse-oauth-callback\/<\/code><\/li>\n<li>Create a Client Secret and copy the value<\/li>\n<li>Go to Downloads &gt; Settings &gt; Extensions &gt; OneDrive Storage<\/li>\n<li>Enter your Application (client) ID and Client Secret<\/li>\n<li>Save settings and click \"Connect to OneDrive\"<\/li>\n<\/ol>\n\n<h3>Usage<\/h3>\n\n<h4>Browsing and Selecting Files<\/h4>\n\n<ol>\n<li>When creating or editing a download in Easy Digital Downloads<\/li>\n<li>Click the \"Browse OneDrive\" button next to the file URL field<\/li>\n<li>Browse your OneDrive storage using the folder navigation<\/li>\n<li>Use the breadcrumb navigation bar to quickly jump to parent folders<\/li>\n<li>Use the search box in the header to filter files by name<\/li>\n<li>Click \"Select\" to use an existing file for your download<\/li>\n<\/ol>\n\n<h4>Uploading New Files<\/h4>\n\n<ol>\n<li>In the OneDrive browser, click the \"Upload\" button in the header row<\/li>\n<li>The upload form will appear above the file list<\/li>\n<li>Choose your file and click \"Upload\"<\/li>\n<li>After a successful upload, the file URL will be automatically set with the OneDrive prefix<\/li>\n<li>Click the button again to hide the upload form<\/li>\n<\/ol>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Microsoft Graph API (OneDrive) to manage files, create download links, and handle authentication.<\/p>\n\n<p>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.<\/p>\n\n<ul>\n<li><strong>Service<\/strong>: Microsoft Graph API (OneDrive)<\/li>\n<li><strong>Used for<\/strong>: Authentication, file browsing, uploading, and generating download links.<\/li>\n<li><strong>Data sent<\/strong>: OAuth tokens, file metadata, file content (during upload).<\/li>\n<li><strong>URLs<\/strong>:\n\n<ul>\n<li><code>https:\/\/graph.microsoft.com<\/code> (API calls)<\/li>\n<li><code>https:\/\/login.microsoftonline.com<\/code> (Authentication)<\/li>\n<\/ul><\/li>\n<li><strong>Legal<\/strong>: <a href=\"https:\/\/www.microsoft.com\/en-us\/legal\/terms-of-use\">Terms of Service<\/a>, <a href=\"https:\/\/privacy.microsoft.com\/en-us\/privacystatement\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>For support and bug reports, please use the WordPress.org plugin support forum.<\/p>\n\n<p>If you find this plugin helpful, please consider leaving a review on WordPress.org.<\/p>\n\n<h3>Other Storage Providers<\/h3>\n\n<p>Looking for a different storage provider? Check out our other plugins:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/storage-for-edd-via-box\/\">Storage for EDD via Box<\/a> - Use Box for your digital product storage<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/storage-for-edd-via-dropbox\/\">Storage for EDD via Dropbox<\/a> - Use Dropbox for your digital product storage<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/storage-for-edd-via-s3-compatible\/\">Storage for EDD via S3-Compatible<\/a> - Use S3-compatible services like MinIO, DigitalOcean Spaces, Linode, Wasabi, and more<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>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.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/storage-for-edd-via-onedrive<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Make sure you have Easy Digital Downloads plugin installed and activated.<\/li>\n<li>Run <code>composer install<\/code> in the plugin directory if installing from source (not needed for release versions).<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to Downloads &gt; Settings &gt; Extensions &gt; OneDrive Storage to configure the plugin.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20secure%20are%20the%20download%20links%3F\"><h3>How secure are the download links?<\/h3><\/dt>\n<dd><p>The plugin uses Microsoft Graph API's <code>@microsoft.graph.downloadUrl<\/code> which provides temporary, pre-authenticated download links. These links are generated on-demand when a customer purchases your product.<\/p><\/dd>\n<dt id=\"what%20file%20types%20are%20supported%20for%20upload%3F\"><h3>What file types are supported for upload?<\/h3><\/dt>\n<dd><p>The plugin supports safe file types including:\n* Archives: ZIP, RAR, 7Z, TAR, GZ\n* Documents: PDF, DOC, DOCX, TXT, RTF, XLS, XLSX, CSV, PPT, PPTX\n* Images: JPG, JPEG, PNG, GIF, WEBP\n* Audio: MP3, WAV, OGG, FLAC, M4A\n* Video: MP4, AVI, MOV, WMV, FLV, WEBM\n* E-books: EPUB, MOBI, AZW, AZW3\n* Web files: CSS, JS, JSON, XML<\/p>\n\n<p>Dangerous file types (executables, scripts) are automatically blocked for security.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20url%20prefix%20for%20onedrive%20files%3F\"><h3>Can I customize the URL prefix for OneDrive files?<\/h3><\/dt>\n<dd><p>Yes, developers can customize the URL prefix using the <code>odse_url_prefix<\/code> filter. Add this code to your theme's functions.php:<\/p>\n\n<pre><code>function customize_onedrive_url_prefix($prefix) {\n    return 'edd-myprefix:\/\/'; \/\/ Change to your preferred prefix\n}\nadd_filter('odse_url_prefix', 'customize_onedrive_url_prefix');\n<\/code><\/pre><\/dd>\n<dt id=\"can%20i%20customize%20the%20allowed%20file%20types%20%28mime%20types%29%3F\"><h3>Can I customize the allowed file types (MIME types)?<\/h3><\/dt>\n<dd><p>Yes, developers can customize the allowed MIME types using the <code>odse_allowed_mime_types<\/code> filter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Major Refactor: Replaced legacy iframe browser with modern AJAX implementation for improved performance.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Improved: UI styles and enhanced layout consistency for better harmony.<\/li>\n<li>Improved: Comprehensive code improvements and stability optimizations.<\/li>\n<li>Added: Skeleton loader with shimmer animation for better UX while loading OneDrive browser modal.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Use wp_enqueue commands: Replaced inline  and  in includes\/class-media-library.php (admin media library)<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added: New \"Browse\" button next to file inputs for easier file selection.<\/li>\n<li>Improved: Modernized file browser UI with a dedicated modal window.<\/li>\n<li>Improved: File browser is now context-aware, opening directly to the selected file's folder.<\/li>\n<li>Improved: Browse button is automatically hidden if the plugin is not configured.<\/li>\n<li>Improved: Removed legacy \"OneDrive Library\" tab from the standard WordPress media uploader for a cleaner interface.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added: Native search input type with clear (\"X\") icon support for a cleaner UI.<\/li>\n<li>Improved: Mobile breadcrumb navigation with path wrapping for long directory names.<\/li>\n<li>Improved: Reduced separator spacing in breadcrumbs on mobile devices.<\/li>\n<li>Improved: Media library table styling for more consistent file and folder display.<\/li>\n<li>Improved: Redesigned folder rows with better icons and refined hover effects.<\/li>\n<li>Improved: Enhanced mobile responsiveness for the file browser table.<\/li>\n<li>Fixed: Corrected file name and path display order in the media library.<\/li>\n<li>Improved: Standardized header row spacing and title font sizes for UI consistency.<\/li>\n<li>Improved: Enhanced notice detail styling for better error\/success message readability.<\/li>\n<li>Improved: More robust handling of file lists with additional data validation.<\/li>\n<li>Security: Standardized use of wp_json_encode() for client-side data.<\/li>\n<li>Improved: Unified root folder label as \"Home\" across all breadcrumb states for consistent navigation.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added: Breadcrumb navigation in file browser - click any folder in the path to navigate directly.<\/li>\n<li>Improved: Integrated search functionality directly into the breadcrumb navigation bar for a cleaner UI.<\/li>\n<li>Improved: Better navigation experience without needing the Back button.<\/li>\n<li>Improved: Enhanced styling for search inputs and buttons, including compact padding.<\/li>\n<li>Fixed: RTL layout issues for breadcrumbs and navigation buttons.<\/li>\n<li>Cleaned: Removed legacy CSS and unused search container elements.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Microsoft Graph API OAuth2 integration<\/li>\n<li>Temporary download link generation via @microsoft.graph.downloadUrl<\/li>\n<li>Media library integration<\/li>\n<li>File upload functionality<\/li>\n<li>Admin settings interface<\/li>\n<li>Security enhancements and validation<\/li>\n<li>Internationalization support<\/li>\n<\/ul>","raw_excerpt":"Enable secure cloud storage and delivery of your digital products through Microsoft OneDrive for Easy Digital Downloads.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/272489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=272489"}],"author":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mohammadr3z"}],"wp:attachment":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=272489"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=272489"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=272489"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=272489"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=272489"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=272489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}