Add documentation for OneDrive (#36768)

* Create onedrive.markdown

* Fix typos and improve clarity in documentation

* Fix typos and improve clarity in documentation

* Add newline in OneDrive integration markdown

* Update OneDrive integration documentation

* Fix grammar in OneDrive integration permissions

* tweaks

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update OneDrive integration documentation

* Create init

* Add files via upload

* Delete source/images/integrations/onedrive/init

* Add screenshot, extra permission

* Tiny tweaks

* Add files via upload

* Update permissions

* Update source/_integrations/onedrive.markdown

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update source/_integrations/onedrive.markdown

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update source/_integrations/onedrive.markdown

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Add files via upload

* update folder names to official app

* Update onedrive.markdown

link issue

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
This commit is contained in:
Josef Zweck 2025-01-29 11:19:40 +01:00 committed by GitHub
parent 4abedb0d81
commit a138781fd8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,67 @@
---
title: OneDrive
description: Instructions on how to setup OneDrive to be used with backups.
ha_release: 2025.2
ha_category:
- Backup
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_domain: onedrive
ha_codeowners:
- '@zweckj'
ha_integration_type: service
related:
- docs: /common-tasks/general/#backups
title: Backups
---
This integration allows you to use [OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage) for [Home Assistant Backups](/common-tasks/general/#backups).
Backups will be created in a folder called `Home Assistant\backups_<id>` in the `App Folder` of your OneDrive.
`id` is part of your Home Assistant instance's unique id to allow backups from multiple instances to the same OneDrive account.
The integration only has access to an application specific `Home Assistant` folder in the `App Folder` and cannot access to any other parts of your OneDrive.
{% note %}
Because of an [issue in the Graph API](https://github.com/OneDrive/onedrive-api-docs/issues/1866), the application-specific folder sometimes is called `Graph` instead of `Home Assistant`.
{% endnote %}
{% include integrations/config_flow.md %}
{% configuration_basic %}
Client ID:
description: "Application ID of the app registration to be used with the integration. Uses Home Assistant provided by default."
Client secret:
description: "Application secret for the app registration. Uses Home Assistant provided by default."
{% endconfiguration_basic %}
## Requested permissions by the integration
The integration will request the following permissions on your OneDrive for the integration to work:
- `Files.ReadWrite.AppFolder`: Grants the application permission to read and write in its own, app-specific folder inside your OneDrive
- `offline_access`: Grants the application permission to refresh its authentication token without requiring your manual intervention
- `openid`: Grants the application permission to read basic information, e.g. if you have a OneDrive
<img src='/images/integrations/onedrive/onedrive-permissions.png' alt='Lists of permissions that the application will request.'>
## Getting application credentials
This integration comes with a predefined set of [application credentials](https://www.home-assistant.io/integrations/application_credentials/) through Home Assistant account linking.
Nobody will ever have access to your data except you, as the app does not have permission to do anything on its own. It only works with a signed-in user (it only has `delegated` not `application permissions`).
However, if you want to use your own credentials, follow [this guide](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app?tabs=certificate) to create your own client ID and secret.
{% note %}
You will need an Azure tenant with an active Azure subscription to create your own client credentials.
{% endnote %}
## Known limitations
- Only personal OneDrives are supported at the moment.
## Removing the integration
This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB