Google Photos list directory command gets it wrong when albums contain a slash

What is the problem you are having with rclone?

Listing directories with Google Photos (which in reality lists albums) does not give correct results when album names contain a forward slash character /. If you have albums named May/01 and May/02 what will get listed via rclone lsd is just May. I assume it's getting a list of all items at the Google Photos location and then only looks at characters before / for album names. This appears to also affect the rclone check and rclone copy commands since photos in albums containing / aren't seen at the remote location. rclone thinks they need to be uploaded still even if they don't.

Run the command 'rclone version' and share the full output of the command.

rclone v1.68.1
- os/version: Microsoft Windows 10 Pro 22H2 (64 bit)
- os/kernel: 10.0.19045.4894 (x86_64)
- os/type: windows
- os/arch: amd64
- go/version: go1.23.1
- go/linking: static
- go/tags: cmount

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 lsd gphotos_Dad:album

The rclone config contents with secrets removed.

[gphotos_Dad]
type = google photos
token = ...
client_id = ...
client_secret = ...

A log from the command with the -vv flag

2024/11/10 17:47:46 DEBUG : rclone: Version "v1.68.1" starting with parameters ["rclone" "lsd" "gphotos_Dad:album" "-vv"]
2024/11/10 17:47:46 DEBUG : Creating backend with remote "gphotos_Dad:album"
2024/11/10 17:47:46 DEBUG : Using config file from "C:\\Users\\User\\AppData\\Roaming\\rclone\\rclone.conf"
2024/11/10 17:47:46 DEBUG : Google Photos path "album": List: dir=""
2024/11/10 17:47:46 DEBUG : Google Photos path "album": Error reading media count: strconv.ParseInt: parsing "": invalid syntax
2024/11/10 17:47:46 DEBUG : Google Photos path "album": >List: err=<nil>
          -1 2024-11-10 17:47:46         1 100KC330
          -1 2024-11-10 17:47:46         1 102_FUJI
          -1 2024-11-10 17:47:46         2 103KC330
          -1 2024-11-10 17:47:46        10 104_FUJI
          -1 2024-11-10 17:47:46       174 2012-07-23 Grandma
          -1 2024-11-10 17:47:46         0 ASHLYNN
          -1 2024-11-10 17:47:46         2 Camera Roll
          -1 2024-11-10 17:47:46        12 Desktop root
          -1 2024-11-10 17:47:46        -1 GAMES
          -1 2024-11-10 17:47:46        -1 Google Photos Backup
          -1 2024-11-10 17:47:46         3 My Pictures root
          -1 2024-11-10 17:47:46        22 Pictures from Old Computer
          -1 2024-11-10 17:47:46        -1 Users
          -1 2024-11-10 17:47:46        -1 WEDDING PICTURES
2024/11/10 17:47:47 DEBUG : 6 go routines active
2024/11/10 17:47:47 INFO  : Google Photos path "album": Committing uploads - please wait...

To add just a bit more info:

I have albums called "WEDDING PICTURES/CEREMONY" and "WEDDING PICTURES/DINNER". There is no album called "WEDDING PICTURES". When I run rclone lsd it shows an album with no photos (because it does not actually exist) called "WEDDING PICTURES" but does not list either of the other two albums even though they do exist.

Yes that is rclone interpreting the / as directories. Inside May you should see two further directories 01 and 02.

When you say inside May I should see something, what do you mean? May is not a real folder. It gets incorrectly listed as a folder (album) in the rclone lsd command, but no folders get created from that command if I'm understanding correctly.

Thanks!

Let's say you have albums called May/01 and May/02

If you list those via rclone you'll see a single directory called May

rclone lsf gphotos:album

Gives

May/

However inside that you'll see directories called 01 and 02, so

rclone lsf gphotos:album/May

Gives

01/
02/

I hope that helps!