Comment synchroniser OneDrive Business / Office 365 sur Linux?
24
Microsoft OneDrive Business / Office 365 Pro offre 1 To de stockage cloud mais malheureusement il n'y a jamais eu de méthode pour le synchroniser sous Linux.
Bienvenue sur Ask Ubuntu ! Nous sommes un site de questions et réponses, pas un forum. Actuellement, vous avez à la fois une question et une réponse dans la section de questions désignée. Veuillez modifier votre message pour supprimer la réponse et la publier dans la section des réponses ci-dessous (il devrait y avoir un bouton en bas de la page). Merci!
Actuellement, l'expérimental onedrive-d est un programme open source qui ne peut synchroniser que les comptes OneDrive personnels car il n'accepte pas les liens Microsoft Sharepoint. Voici une méthode pour synchroniser OneDrive Business / Office 365 à l'aide de GoodSync pour Linux , qui est gratuit pour un usage personnel.
Installez la version appropriée sur votre machine Linux, par exemple:
./goodsync-linux-x86_64-release.run
Réponse n o pour les GoodSync Connect et configuration GsServer interface utilisateur Web.
Ouvrez OneDrive dans un navigateur Web. sélectionnez "Revenir à Classic OneDrive" dans le coin inférieur droit.
L'adresse Web dans votre navigateur ressemblera maintenant à:
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspxet sur cette base, obtenez votre lien de synchronisation qui sera office365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents.
Créez un nouveau fichier dans le sous-dossier .goodsync de votre domicile:
gedit ~/.goodsync/jobs.tix
Entrez le code suivant dans le fichier et enregistrez-le:
<Job>
Name = "OneDrive_Sync"
Side1 = <SideOptions>
Dir = <Connect>
Url = "put_your_syncing_link_here"
UserID = "put_your_OneDrive/Office365_Bussiness_email_here"
</Connect>
</SideOptions>
Side2 = <SideOptions>
Dir = <Connect>
Url = "file:///your_home_folder/one_drive_folder"
</Connect>
</SideOptions>
Direction = 0
ExcludeHidden = No
ExcludeSystem = No
DetectMovesAndRenames = Yes
LinksOption = 1
ExcludeEmptyFolders = No
LimitChangesPercent = 100
AutoResolveConflicts = 3
DetectMovesAndRenames = Yes
</Job>
Démarrez le processus de synchronisation:
gsync sync "OneDrive_Sync"
À cette étape, votre navigateur Web ouvrira la page OneDrive / Office 365 et vous demandera votre autorisation pour autoriser goodsync à accéder à votre compte. Après avoir entré vos informations d'identification, la synchronisation commencera.
Limitations: Microsoft n'autorise pas les demandes d'URL d'une longueur de plus de 270 caractères et donc GoodSync NE PEUT PAS synchroniser les fichiers avec des noms de chemin longs.
Mon navigateur Web n'ouvre pas la page d'autorisation à l'étape 7. Avez-vous une idée de comment le faire manuellement?
pat-s
3
Mon navigateur Web n'est pas ouvert pour se connecter également
Haha TTpro
2
Système de fichiers à office365: /.../ Documents a été remplacé par la nouvelle API OneDrive V2. Cliquez sur le bouton Parcourir pour re-parcourir votre dossier de synchronisation OneDrive, car le nouveau OneDrive nécessite une authentification basée sur le navigateur (OAuth2)
Ferroao
6
Ubuntu 18.04 et versions ultérieures
Il existe un client OneDrive dans les référentiels Ubuntu par défaut dans Ubuntu 18.04 et versions ultérieures. OneDrive est le système de stockage cloud de Microsoft. Ce package fournit le client de ligne de commande spécialisé dans la synchronisation avec le stockage cloud OneDrive.
Installez-le avec:
sudo apt install onedrive
Au premier lancement, il vous demande de vous authentifier avec un lien. Après l'authentification, vous pouvez activer le démon avec systemctl --user enable onedrivepuis systemctl --user start onedrive. De plus amples explications peuvent être trouvées dans la page de manuel man onedrive. Il est très facile à configurer et ne prend que cinq minutes environ.
Alors que l' onedrivedoutil original et couramment utilisé par xybu ne prend toujours pas en charge OneDrive Entreprise, mais uniquement des OneDrives personnels. cependant, il y a un fork de ce projet sur GitHub par derrix060 qui a une implémentation qui fonctionne (mais qui est toujours boguée) pour le client Business.
Avertissement: lorsque vous utilisez cette méthode, je vous recommande vivement de toujours vérifier que les fichiers ont été correctement synchronisés en les vérifiant en ligne sur https://www.office.com et / ou d'utiliser mon script wrapper affiché à la fin de cette page pour au moins être informé de toute erreur en utilisant les notifications du bureau!
Parfois, onedrived semble ne pas réussir à récupérer certaines modifications ou à les télécharger correctement, laissant votre OneDrive dans un état (partiellement) non synchronisé. Il peut également arriver qu'il génère des conflits de fusion avec lui-même pour une raison quelconque et renomme vos fichiers localement en ajoutant votre nom d'hôte entre parenthèses et éventuellement un nombre. Malheureusement, il n'y a pas de notification d'erreurs, mais vous pouvez voir les entrées dans votre fichier journal.
Si cela se produit, vous pouvez essayer de synchroniser à nouveau les fichiers respectifs en les touchant ou en les renommant ou le dossier dans lequel ils se trouvent.
Astuce: il semble que la bibliothèque onedrived ait souvent des problèmes, en particulier avec les fichiers qui ont été enregistrés directement dans la racine OneDrive. Il est probablement préférable de placer tous les fichiers dans des sous-répertoires au lieu de les vider directement dans le dossier OneDrive.
Bien que cela semble stupide, j'ai également remarqué que cela semble causer moins de problèmes pour télécharger des fichiers via le client Web OneDrive et attendre jusqu'à ce qu'ils soient synchronisés dans votre dossier local (ce qui peut prendre plusieurs minutes cependant) que pour les créer, les copier ou les déplacer. localement. Que ce soit pratique ou totalement nul, le but de OneDrive dépend de votre propre décision ...
Consultez le fichier Lisezmoi du projet pour obtenir des instructions d'installation complètes, mais voici un bref résumé:
Installation
Assurez-vous qu'aucune autre version de onedrived(ou onedrive-d) n'est installée.
Téléchargez le dernier ngrokclient pour Linux sur le site officiel à https://ngrok.com/download . Le ngrok-clientpackage des référentiels Ubuntu est trop ancien et ne répond pas aux exigences.
Décompressez l' ngrok-stable-linux-amd64.ziparchive téléchargée . Il contient un seul ngrokbinaire, que vous devez placer dans un emplacement sur votre $PATH, par exemple dans /usr/local/bin/.
L'inscription à ngrok n'est probablement pas nécessaire.
Installez l' onedrivedapplication Python3 à partir de GitHub en utilisant pip3:
Configurez éventuellement un emplacement de fichier journal pour onedrived, où vous pouvez vérifier les problèmes si quelque chose ne fonctionne pas correctement, par exemple:
onedrived-pref config set logfile_path ~/.config/onedrived/onedrived.log
Configuration du compte et configuration du lecteur
Une fois l'installation réussie, vous devez configurer votre compte et lecteur (s):
Ajoutez votre compte OneDrive Entreprise en utilisant le mode interactif en exécutant:
onedrived-pref account add -b
L'assistant interactif vous demandera deux fois d'ouvrir un lien dans votre navigateur, où vous devrez autoriser l'application avec votre compte Microsoft Business.
Il vous demandera de coller l'URL vers laquelle vous êtes redirigé après avoir confirmé l'autorisation dans l'assistant interactif. Veuillez suivre les instructions et suivre les instructions de la commande.
Vérifiez que le compte a bien été ajouté en vérifiant la sortie de la commande ci-dessous. Il devrait ressembler et répertorier le compte avec lequel vous êtes connecté:
$ onedrived-pref account list
All OneDrive accounts associated with user "YOUR_UBUNTU_USERNAME":
# Account ID Owner Name Email Address Profile Type
--- ------------------------- ------------- -------------------- --------------
0 YOUR_PERSONAL_ACCOUNT_ID YOUR_NAME YOUR_BUSINESS_EMAIL Business
Configurez vos disques en mode de commande interactif en exécutant:
onedrived-pref drive set
Vous verrez une liste de tous vos lecteurs et vous serez invité à entrer le numéro de ligne du lecteur que vous souhaitez ajouter à votre configuration locale.
Vous devez ensuite spécifier un répertoire local que vous souhaitez utiliser comme dossier racine pour la synchronisation avec votre lecteur. Vous pouvez simplement frapper Enteret il utilisera la valeur par défaut ~/OneDrive. Si le chemin n'existe pas, il sera créé. Même chose pour le chemin d'accès au fichier ignoré que vous souhaitez utiliser, vous pouvez simplement appuyer sur Enteret il utilisera la valeur par défaut ~/.config/onedrived/ignore_v2.txtet le créera, si nécessaire.
Vérifiez la sortie de la commande ci-dessous pour afficher les informations sur tous les disques disponibles et configurés. Il devrait montrer le lecteur que vous venez de configurer avec les bons paramètres sous le titre Drives that have been set up:
onedrived-pref drive list
Lancement du démon
Maintenant que votre lecteur est configuré, vous devez essayer de démarrer le onedriveddémon. Je recommande de le lancer en mode débogage d'abord, au cas où il y aurait des problèmes que vous auriez autrement manqués. Cela commencera onedrivedau premier plan:
onedrived start --debug
Si tout va bien et que la commande ne se bloque pas et ne se ferme pas, essayez de placer des fichiers dans votre dossier OneDrive local et voyez s'il se synchronise. Vous devriez probablement être en mesure de vérifier cela en visitant l'application Web OneDrive à https://www.office.com et en vérifiant si les fichiers que vous avez ajoutés localement y apparaissent.
Vous pouvez à nouveau quitter le onedrivedprocessus dans votre terminal en appuyant sur Ctrl+ C.
Pour lancer onedrivednormalement, en tant que démon d'arrière-plan, exécutez-le avec:
Si vous souhaitez obtenir des notifications sur le bureau chaque fois onedrivedqu'une erreur est enregistrée (par exemple, la synchronisation des fichiers a échoué), voici un script wrapper qui analyse le fichier journal en temps réel et utilise notify-send pour vous les afficher.
Vous pouvez démarrer le script wrapper sans arguments (ou le placer dans vos applications de démarrage automatique) au lieu de la onedrived startcommande.
Je reçois toujours le message "Impossible d'autoriser onedrived: interaction_required". après avoir entré le deuxième lien pour authentifier le compte ODfB. Des idées pourquoi cela pourrait arriver?
Jimakos
@Jimakos Désolé, je n'ai jamais rencontré ce message. Aucune idée malheureusement.
Voici mon exemple pour configurer une nouvelle télécommande onedrive1avec rclone 1.48.0 (sur Fedora 30):
$ rclone config
2019/10/10 06:35:56 NOTICE: Config file ".config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> onedrive1
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
⋮
19 / Microsoft OneDrive
\ "onedrive"
⋮
Storage> 19
** See help for onedrive backend at: https://rclone.org/onedrive/ **
Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Root Sharepoint site
\ "sharepoint"
3 / Type in driveID
\ "driveid"
4 / Type in SiteID
\ "siteid"
5 / Search a Sharepoint site
\ "search"
Your choice> 1
Found 2 drives, please select the one you want to use:
0: OneDrive - Example Inc (business) id=b!gFLg-RRe****-T9B****
1: OneDrive - Example Inc (business) id=b!gFLg-RRe****-T-H****
Chose drive to use:> 1
Found drive 'root' of type 'business', URL: https://example-my.sharepoint.com/personal/myname_example_com/Documents
Is that okay?
y) Yes
n) No
y/n> y
Current remotes:
Name Type
==== ====
onedrive1 onedrive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
L'URL du lecteur 0 se termine par /ElementinnerHTMLet ne contient pas de fichiers dans mon cas.
Réponses:
Actuellement, l'expérimental onedrive-d est un programme open source qui ne peut synchroniser que les comptes OneDrive personnels car il n'accepte pas les liens Microsoft Sharepoint. Voici une méthode pour synchroniser OneDrive Business / Office 365 à l'aide de GoodSync pour Linux , qui est gratuit pour un usage personnel.
Installez la version appropriée sur votre machine Linux, par exemple:
Réponse n o pour les GoodSync Connect et configuration GsServer interface utilisateur Web.
https://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents/Forms/All.aspx
et sur cette base, obtenez votre lien de synchronisation qui seraoffice365://xxxxxxx.sharepoint.com/xxxxxxxxxxx/Documents
.Créez un nouveau fichier dans le sous-dossier .goodsync de votre domicile:
Entrez le code suivant dans le fichier et enregistrez-le:
Démarrez le processus de synchronisation:
À cette étape, votre navigateur Web ouvrira la page OneDrive / Office 365 et vous demandera votre autorisation pour autoriser goodsync à accéder à votre compte. Après avoir entré vos informations d'identification, la synchronisation commencera.
Limitations: Microsoft n'autorise pas les demandes d'URL d'une longueur de plus de 270 caractères et donc GoodSync NE PEUT PAS synchroniser les fichiers avec des noms de chemin longs.
Prendre plaisir!
la source
Ubuntu 18.04 et versions ultérieures
Il existe un client OneDrive dans les référentiels Ubuntu par défaut dans Ubuntu 18.04 et versions ultérieures. OneDrive est le système de stockage cloud de Microsoft. Ce package fournit le client de ligne de commande spécialisé dans la synchronisation avec le stockage cloud OneDrive.
Installez-le avec:
Au premier lancement, il vous demande de vous authentifier avec un lien. Après l'authentification, vous pouvez activer le démon avec
systemctl --user enable onedrive
puissystemctl --user start onedrive
. De plus amples explications peuvent être trouvées dans la page de manuelman onedrive
. Il est très facile à configurer et ne prend que cinq minutes environ.la source
Alors que l'
onedrived
outil original et couramment utilisé par xybu ne prend toujours pas en charge OneDrive Entreprise, mais uniquement des OneDrives personnels. cependant, il y a un fork de ce projet sur GitHub par derrix060 qui a une implémentation qui fonctionne (mais qui est toujours boguée) pour le client Business.Consultez le fichier Lisezmoi du projet pour obtenir des instructions d'installation complètes, mais voici un bref résumé:
Installation
Assurez-vous qu'aucune autre version de
onedrived
(ouonedrive-d
) n'est installée.Installez les packages de dépendances:
Téléchargez le dernier
ngrok
client pour Linux sur le site officiel à https://ngrok.com/download . Lengrok-client
package des référentiels Ubuntu est trop ancien et ne répond pas aux exigences.Décompressez l'
ngrok-stable-linux-amd64.zip
archive téléchargée . Il contient un seulngrok
binaire, que vous devez placer dans un emplacement sur votre$PATH
, par exemple dans/usr/local/bin/
.L'inscription à ngrok n'est probablement pas nécessaire.
Installez l'
onedrived
application Python3 à partir de GitHub en utilisantpip3
:Configurez éventuellement un emplacement de fichier journal pour
onedrived
, où vous pouvez vérifier les problèmes si quelque chose ne fonctionne pas correctement, par exemple:Configuration du compte et configuration du lecteur
Une fois l'installation réussie, vous devez configurer votre compte et lecteur (s):
Ajoutez votre compte OneDrive Entreprise en utilisant le mode interactif en exécutant:
L'assistant interactif vous demandera deux fois d'ouvrir un lien dans votre navigateur, où vous devrez autoriser l'application avec votre compte Microsoft Business.
Il vous demandera de coller l'URL vers laquelle vous êtes redirigé après avoir confirmé l'autorisation dans l'assistant interactif. Veuillez suivre les instructions et suivre les instructions de la commande.
Vérifiez que le compte a bien été ajouté en vérifiant la sortie de la commande ci-dessous. Il devrait ressembler et répertorier le compte avec lequel vous êtes connecté:
Configurez vos disques en mode de commande interactif en exécutant:
Vous verrez une liste de tous vos lecteurs et vous serez invité à entrer le numéro de ligne du lecteur que vous souhaitez ajouter à votre configuration locale.
Vous devez ensuite spécifier un répertoire local que vous souhaitez utiliser comme dossier racine pour la synchronisation avec votre lecteur. Vous pouvez simplement frapper Enteret il utilisera la valeur par défaut
~/OneDrive
. Si le chemin n'existe pas, il sera créé. Même chose pour le chemin d'accès au fichier ignoré que vous souhaitez utiliser, vous pouvez simplement appuyer sur Enteret il utilisera la valeur par défaut~/.config/onedrived/ignore_v2.txt
et le créera, si nécessaire.Vérifiez la sortie de la commande ci-dessous pour afficher les informations sur tous les disques disponibles et configurés. Il devrait montrer le lecteur que vous venez de configurer avec les bons paramètres sous le titre
Drives that have been set up
:Lancement du démon
Maintenant que votre lecteur est configuré, vous devez essayer de démarrer le
onedrived
démon. Je recommande de le lancer en mode débogage d'abord, au cas où il y aurait des problèmes que vous auriez autrement manqués. Cela commenceraonedrived
au premier plan:Si tout va bien et que la commande ne se bloque pas et ne se ferme pas, essayez de placer des fichiers dans votre dossier OneDrive local et voyez s'il se synchronise. Vous devriez probablement être en mesure de vérifier cela en visitant l'application Web OneDrive à https://www.office.com et en vérifiant si les fichiers que vous avez ajoutés localement y apparaissent.
Vous pouvez à nouveau quitter le
onedrived
processus dans votre terminal en appuyant sur Ctrl+ C.Pour lancer
onedrived
normalement, en tant que démon d'arrière-plan, exécutez-le avec:Vous devriez probablement ajouter cette commande à vos applications de démarrage, afin qu'elle démarre automatiquement chaque fois que vous vous connectez. Veuillez vous référer à Comment puis-je démarrer les applications automatiquement à la connexion? pour ça.
Wrapper pour les notifications d'erreur
Si vous souhaitez obtenir des notifications sur le bureau chaque fois
onedrived
qu'une erreur est enregistrée (par exemple, la synchronisation des fichiers a échoué), voici un script wrapper qui analyse le fichier journal en temps réel et utilise notify-send pour vous les afficher.Vous pouvez démarrer le script wrapper sans arguments (ou le placer dans vos applications de démarrage automatique) au lieu de la
onedrived start
commande.la source
rclone prend en charge OneDrive Entreprise. Voir un article Comment monter OneDrive sous Linux à l'aide de Rclone (prend en charge les comptes professionnels et personnels) - Linux Uprising Blog pour l'utilisation.
Voici mon exemple pour configurer une nouvelle télécommande
onedrive1
avec rclone 1.48.0 (sur Fedora 30):L'URL du lecteur 0 se termine par
/ElementinnerHTML
et ne contient pas de fichiers dans mon cas.Montez-le ensuite sur un répertoire local via la ligne de commande, rclone-browser ou l'interface graphique Web depuis la v1.49 .
la source