OnedriveV2 not available as provider choice

#1

Microsoft Graph API is referenced here but that option is not available to me?
https://duplicati.readthedocs.io/en/latest/05-storage-providers/#microsoft-onedrive-v2-microsoft-graph-api

Pic

Release: 2.0.4.1 (experimental) 2018-11-08
'No files were found at the remote location' using Onedrive for business
#2

Hi @arktex54, welcome to the forum!

Thanks for providing that link to the docs say OneDrive v2 should be available as a “Storage type”. When I look at my 2.0.3.8 and 2.0.3.9 installations I see it listed as below.

What version of Duplicati are you using?

#3

Hello JonMikelV-

Thanks much for your reply.

According to the localhost:8200 screen -
You are currently running Duplicati - 2.0.3.3_beta_2018-04-02
No updates are found when using “Check for updates now”.

Duplicati.com - “Download the latest and greatest version of Duplicati here:” 2.0.3.3

May I ask where you got these higher versions from?

#4

There are a few ways of doing it, which one you use depends on how you want to user your system.


In the GUI:
If you go to the main menu Settings page you’ll find a section called “Update channel”.

Right now you’re probably on the “beta” channel which is the most stable. If you change that to the “experimental” (next most stable) or “canary” (least stable) channel then you’ll see other (and more frequent) updates.


“Over” install
If you’d prefer a fresh “base version” install rather than an in-GUI update, you can download the appropriate installer from Releases · duplicati/duplicati · GitHub.


Manual:
You can use some of the steps in Downgrading / reverting to a lower version to manually download a newer version (say 2.0.3.5) and unzip it into your updates folder.

Restart Duplicati and it should find that version and run it.


I can confirm OneDrive v2 is in versions going as far back as 2.0.3.4 canary, but I can’t downgrade to 2.0.3.3 right now to check if it’s in there or not.

If you do decide to shift to canary versions to get access to OneDrive v2, I’d suggest not going past version 2.0.3.5 as the later versions introduced a lot of code changes that haven’t been fully ironed out yet…

#5

Hi, I have the same problem.
If I use any docker image, there is no such option as OneDrive v2.

I use the docker Image: 2.0.3.11_canary_2018-09-05
In none of the Docker images from this year its possible to set OneDrive personal anymore.

I could downgrade, but because on November 1th the support for OneDrive v1 will be gone, its not a solution.
Is there something missing in the Docker-Images?

#6

I think this arrived in Release: 2.0.3.4 (canary) 2018-04-02. Pull request: Add new backends for OneDrive + OneDrive for Business, SharePoint, and Microsoft Groups based on the Microsoft Graph API #3118

EDIT: I’m not sure what I saw before, but I transcribed 2.0.3.3 beta and 2.0.3.11 canary Storage Type values:

2.0.3.3 Beta
Microsoft OneDrive
Microsoft OneDrive for Business
Microsoft SharePoint

2.0.3.11 Canary
Microsoft Office 365 Group
Microsoft OneDrive
Microsoft OneDrive for Business
Microsoft OneDrive v2
Microsoft SharePoint
Microsoft Sharepoint v2

I’m concerned about timing, due to Microsoft’s deadline, and this feature only being in canary release so far. Possibly migration aids and/or publicity is advisable in order to reduce broken backups come November 1st. Doing another Beta has been a desire, but I’m not sure when it will happen or if an Experimental would help.

Old OneDrive API being deprecated - needs to be rewritten to use the Graph API #3024

Now back to the actual latest question :wink:, I don’t run Docker but I’m wondering if psywolf85 runs CLI or web.

$ duplicati-cli help onedrivev2
Microsoft OneDrive v2 (onedrivev2): <etc.>`

is one way to see if at least that code knows onedrivev2. Also check web About --> System info version info, consider possibility of browser needing a page refresh, cache clear, restart, or whatever (maybe view is old).

#7

Hi, I am facing the same issue as psywolf85 with the official Docker images.

This issue has been reported to Github previously.

https://github.com/duplicati/duplicati/issues/3198

root@duplicati-duplicati1:/# duplicati-cli help onedrivev2                                                         
Topic not found: onedrivev2                                                                                        


See duplicati.commandline.exe help <topic> for more information.
(truncated)
1 Like
#8

Official docker image is not including all backends #3198 is my update with a lot of technical detail, but mostly being able to characterize the problem would be a good start. @psywolf85 almost sounds like it’s not only a OneDrive v2 problem, but a OneDrive of all sorts problem, which would be what I (rather disappointingly) saw:

Microsoft Office 365 Group
Microsoft OneDrive
Microsoft OneDrive v2
Microsoft SharePoint v2

were all missing. How does this compare to your lists? Are you missing more? Less (got Microsoft OneDrive)? Feedback from @discrucio and others with storage types missing in official Docker would aid understanding. Don’t look for it in 2.0.3.3, and ideally see how the new Release: 2.0.4.1 (experimental) 2018-11-08 does on a test system (because I’m not certain what database formats changed when, and downgrading can be difficult).

#9

I compared 2.0.3.14 canary installs between Windows 10 (updated from 2.0.2.1 beta) and the official Docker container (updated from 2.0.3.3. beta) and they are the same EXCEPT that the items you listed are indeed missing from the Docker container:

  • Microsoft Office 365 Group
  • Microsoft OneDrive
  • Microsoft OneDrive v2
  • Microsoft SharePoint v2

Note that 2.0.4.1 experimental in both the official AND linuxserver Docker containers appears to have the complete list (so DO include the above 4 Microsoft items).

Release: 2.0.4.1 (experimental) 2018-11-08
#10

I’m starting with a new one: duplicati/duplicati:linux-amd64-2.0.4.1_experimental_2018-11-08 without attempting any updates to an existing container, if that’s what you’re doing. I also tried a new 2.0.3.4.

??? Does that mean these are two different containers? I consider the one listed at top as “official Duplicati”. Regardless, you’re seeing this oddity at least sometimes, and the unpredictability of results does bother me.

From a shell inside container, this tends to find onedrive (unlike web UI) but no v2:

# pwd
/opt/duplicati
# head -1 changelog.txt
2018-11-08 - 2.0.4.1_experimental_2018-11-08
# mono Duplicati.CommandLine.BackendTool.exe help
Usage: <command> <protocol>://<username>:<password>@<path> [filename]
Example: LIST ftp://user:pass@server/folder

Supported backends: aftp,amzcd,azure,b2,box,cloudfiles,dropbox,ftp,file,googledrive,gcs,hubic,jottacloud,mega,onedrive,openstack,rclone,s3,ssh,od4b,mssp,sia,tahoe,webdav
Supported commands: GET PUT LIST DELETE CREATEFOLDER
#
#11

So far I’ve seen this oddity only BETWEEN VERSIONS but not “sometimes yes sometimes no” within the same version. (EDIT: SEE BELOW)

My guess is there was a mistake with the automated build script for the Docker containers that has been resolved as of 2.0.4.1 experimental.


EDIT:

Yes - though there was a typo in my post. I meant to say the official (https://hub.docker.com/r/duplicati/duplicati/) and linuxserver (https://hub.docker.com/r/linuxserver/duplicati/) Docker containers. I make a distinction between the two because they use different mount points in their configurations.

That being said - during my 2.0.4.1 -> 2.0.3.14 downgrade test I found that after re-upgrading to to 2.0.4.1 I’m back to missing the 4 items listed previously (even though I did see them before) so this DOES SUPPORT your finding of seeing this oddity “sometimes”.

I tried 3 restarts of the official container and they have not yet returned.

I tested 2 restarts of the linuxserver container and they all showed up correctly every time.

When missing, they are also missing from the “Direct restore from backup files…” list.


Note that on my Windows 10 box (which still hows the v2 options in the web GUI) they still do not show up for me in the BackendTool help:

"C:\Program Files\Duplicati 2\Duplicati.CommandLine.BackendTool.exe" help
Usage: <command> <protocol>://<username>:<password>@<path> [filename]
Example: LIST ftp://user:pass@server/folder

Supported backends: aftp,amzcd,azure,b2,box,cloudfiles,dropbox,file,ftp,googledrive,gcs,hubic,jottacloud,mega,onedrive,openstack,s3,od4b,mssp,ssh,tahoe,webdav
Supported commands: GET PUT LIST DELETE CREATEFOLDER

@kenkendk or @Pectojin, can you think of any reason why some destination option would load sometimes but not others? I checked the DLLs in both official and linuxserver update and they seem to be the same.

#12

I somehow missed this post completely. For the record, I upload images to https://hub.docker.com/r/duplicati/duplicati/, and I have no control over the linuxserver repo.

The onedrive and onedrivev2 backends are stored in the same dll Duplicati.Library.Backend.OneDrive.dll, so it is strange that one of the providers are missing.

I will investigate asap.

#13

There seems to be some missing libraries in the Docker images:

> docker exec duplicati mono /opt/duplicati/Duplicati.CommandLine.exe test abc:// --no-encryption --console-log-level=explicitonly
Failed to load assembly /opt/duplicati/Duplicati.Library.OAuthHelper.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Microsoft.SharePoint.Client.Runtime.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/AWSSDK.Core.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Duplicati.Library.Backend.OneDrive.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Duplicati.Library.OAuthHelper.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/MegaApiClient.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Microsoft.SharePoint.Client.Runtime.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Microsoft.SharePoint.Client.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/AWSSDK.Core.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Duplicati.Library.Backend.OneDrive.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Duplicati.Library.OAuthHelper.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/MegaApiClient.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Microsoft.SharePoint.Client.Runtime.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Failed to load assembly /opt/duplicati/Microsoft.SharePoint.Client.dll, error message: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. => Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
#14

I tracked down the problem. These two packages are missing from the Docker images:

libmono-system-net-http-webrequest4.0-cil
libmono-system-web4.0-cil

Edit:
You can “fix” the images by running these two commands (assuming your container is named duplicati):

> docker exec duplicati apt update
> docker exec duplicati apt install libmono-system-net-http-webrequest4.0-cil libmono-system-web4.0-cil -y

Then restart the container and all should work. I will update the docker scripts and build a new experimental.

2 Likes
Release: 2.0.4.2 (experimental) 2018-11-12
#15

I have now put up the 2.0.4.2 experimental build, which is the same as 2.0.4.1, except with extra dependencies installed in the Docker containers.

#16

I ran the fix (there’s a space-for-dash typo in “libmono-system-net-http webrequest4.0-cil”) and it worked fine. Also tried new container with duplicati/duplicati:linux-amd64-2.0.4.2_experimental_2018-11-12 however @JonMikelV in Release: 2.0.4.2 (experimental) 2018-11-12 raises a good question about upgrade.

My testing used the kenkendk CommandLine “test” test, my BackendTool “help” test (27 keys), and a browser, which shows 29 entries in the dropdown, because keys for openstack and s3 are also in “Standard protocols”.

I’m also not able to get the Windows 10 problem @JonMikelV reported above, at least up through 2.0.3.14 canary, running native on Windows 10. There’s a Docker for Windows, but that output snipping looks native…

1 Like
#17

Sorry for not clarifying that I’m running on W10 native - no Docker there. :slight_smile:

#18

Ok, from the release post, I assumed you were running some Docker stuff.

But good question about the updates. The packages that I added were a part of the “host” operating system packages. The Duplicati updater does not touch the system in runs on.

Generally, when using Docker, I guess it makes sense to always update the container instead of using the built-in updater?

HELP?! Trying to use Duplicati, but something's always broken!
#19

That makes sense but then wouldn’t we need to have 4 containers available - one for each of the release paths?

I’ll try installing another container now but my guess is I’ll end up with the 2.0.3.3 beta…

#20

Yup, most people will probably not even have the updates folder persisted, so a container restart would revert to the image version.

Ideally :slight_smile: