Google Photos - Sync Issue ("rclone create" OAuth nuance?)

I am getting many
Failed to copy: google photos API only allows uploading to albums rclone created
errors
however, I am 100% sure the album was created by rClone.

I see from a post (googlephotos cannot upload "Failed to copy: google photos API only allows uploading to albums rclone created" · Issue #4578 · rclone/rclone · GitHub) that this might be an OAuth issue...
I started out using the general/default OAuth for rclone, but then made my own in an attempt to speed up my transfers (may or may not have helped).
Is the API limitation of "rclone created" specific to the app/oath?
This is a large limitation that I was not aware of when I switched over to my own Oath - now half my albums are locked to being owned by the default OAuth and half are to my personal OAuth...making future syncs difficult.

Suggested solutions?
I see my options as being

  1. Anytime I wish to sync my full photo library in the future I will need to do 2 passes- one time using rclone default OAuth and one time with my personal OAuth (and thus collectively both passes can write to each and every album).
  2. a. DELETE all albums created by one of the OAuths and resync the entire library using the other OAut (and use that second OAuth entirely moving forward).
    b. Is there any easy way to determine which albums are locked to each OAuth? Only way I can see would be to add an image to each of my albums locally and then resync and see which throw errors in the log.

What is the problem you are having with rclone?

hitting many "Failed to copy: google photos API only allows uploading to albums rclone created" errors in my log.
I know the album was created by rclone...but maybe a different rclone OAuth

What is your rclone version (output from rclone version)

Installer: rclone-v1.54.1-windows-amd64
I have NOT updated to the newest version.

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Windows 10 x64

Which cloud storage system are you using? (eg Google Drive)

Google Photos

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone copy F:\4K remote:album/ --exclude .thumbs/** --log-file=C:\Users\User\Desktop\rclone\logs\rcloneGPhotos.txt --log-level NOTICE

A log from the command with the -vv flag

Excerpt:

2021/04/07 21:50:41 ERROR : IG/Album1284/2017-06-20 14.01.27 1541595180390257_26008.jpg: Failed to copy: google photos API only allows uploading to albums rclone created
2021/04/07 21:50:41 ERROR : IG/Album1284/2018-09-20 10.18.00 1872705217777091_26008.jpg: Failed to copy: google photos API only allows uploading to albums rclone created
2021/04/07 21:50:41 ERROR : IG/Album1284/2018-09-22 11.34.55 1874193485022065_26008.jpg: Failed to copy: google photos API only allows uploading to albums rclone created

If this is indeed the case, I'd suggest clarifying that in the documentation.

It is specific to the client_id I think. It doesn't specifically say that in the docs

Adds one or more media items in a user's Google Photos library to an album. The media items and albums must have been created by the developer via the API.

But the way Google identifies developers is with the client_id

Sorry about that. We should put a note in the docs about that at minimum.

I'd go for option 2 I think.

If you do rclone lsf gphotos:album -vv --dump bodies

Then you'll see lots of JSON on the screen. It is quite well formatted though and you'll see bits like this

    {
      "id": "ABdUxBXXX",
      "title": "album/potato",
      "productUrl": "https://photos.google.com/lr/album/ABdUxBXXX",
      "isWriteable": true,
      "coverPhotoBaseUrl": "https://lh3.googleusercontent.com/lr/AFBm1_Y7GbXXXX"
    }

This has name of album album/potato and isWriteable which will tell you whether the client_id in use can write to the album.

Rclone checks that flag to make the "google photos API only allows uploading to albums rclone created" message.

You can also do this from the dev page here: https://developers.google.com/photos/library/reference/rest/v1/albums/list

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.