Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

Daten aus iCloud in kDrive importieren

Dieser Leitfaden beschreibt, wie Sie Daten von iCloud mit rClone in kDrive von Infomaniak importieren.

 

✘ NICHT VERFÜGBAR mit
kSuite kostenlos / kSuite Standard
my kSuite / my kSuite+ (ik.me, etik.com, ikmail.com)


 

Vorwort

  • Da Apple keine API wie seine Konkurrenten anbietet, besteht eine Lösung zum Abrufen von Dokumenten aus einem iCloud Drive darin, die kDrive macOS App zu installieren, um den Ordner icloud zu synchronisieren, der sich in Ihrer Bibliothek befinden muss. Die folgende Anleitung bietet eine solide Alternative.
  • kDrive unterstützt das Streaming-Upload von rclone über WebDAV, bis zu 50 GB (erweiterbar auf 100 GB), um Missbrauch zu vermeiden, mit automatischer Fehlerbehandlung, wenn die Grenze überschritten wird, ohne vorherige Angabe der Größe über Content-Length.

 

1. rclone für den Zugriff auf die Laufwerke konfigurieren

 

Installation von rclone auf Ihrem Computer

Es gibt eine Version von rclone mit grafischer Benutzeroberfläche (GUI), aber es ist durchaus möglich, dies über die Befehlszeile (CLI) zu tun:

  1. Installieren Sie rclone über eine Anwendung vom Typ Terminal auf Ihrem Gerät, indem Sie den folgenden gesamten Befehl eingeben:
    sudo -v ; curl https://rclone.org/install.sh | sudo bash
  2. Geben Sie das Passwort Ihrer Sitzung auf Ihrem Computer ein, um mit der Installation zu beginnen:

 

Konfiguration des Remote-Laufwerks (iCloud) in rclone

  1. Nachdem rclone installiert ist, geben Sie den Befehl rclone config ein.
  2. Wählen Sie dann die Konfiguration eines neuen Remote-Imports, indem Sie n für New remote antworten.
  3. Benennen Sie das Remote-Laufwerk, z. B. appledrive:
  4. Wählen Sie dann den Typ des zu importierenden Laufwerks, indem Sie iclouddrive antworten, was iCloud Drive unter den vorgeschlagenen Optionen entspricht.
  5. Geben Sie rclone den apple_id an, indem Sie Ihre Apple-ID (in der Regel eine E-Mail-Adresse) eingeben.
  6. Wählen Sie, Ihr eigenes Passwort zu verwenden, das mit dem Apple-ID-Konto verbunden ist (y).
  7. Geben Sie Ihr Passwort zweimal ein, wie verlangt:
  8. Antworten Sie „Nein“ n auf die Frage zur „erweiterten Konfiguration“.
  9. Ein Fenster auf Ihrem Gerät sollte sich öffnen, um Sie über eine Remote-Verbindung zu informieren; autorisieren Sie diese:
  10. Ein Fenster auf Ihrem Gerät sollte sich mit einem 2FA-Code öffnen; kopieren Sie ihn:
  11. Fügen Sie den Code ein, wenn rclone Sie dazu aufgefordert wird.
  12. Antworten Sie mit „Ja“ y auf die letzte Frage, wenn alle angezeigten Informationen korrekt sind.

 

Konfiguration des Ziellaufwerks (kDrive) in rclone

Es ist möglich, direkt auf die Konfigurationsdatei von rclone zuzugreifen, indem Sie Ihre kDrive-Konfiguration in der folgenden Form einfügen:

[kDrive]
type = webdav
url = https://kDrive_ID_HERE.connect.kdrive.infomaniak.com/
vendor = other
user = user@email.com
pass = PASSWORD_HERE_OR_APP_PASSWORD_IF_2FA

Aber hier ist, wie Sie Schritt für Schritt vorgehen können, wie bei der vorherigen Konfiguration:

  1. Immer noch im Terminal, geben Sie n für eine neue Laufwerkskonfiguration ein und geben Sie den Namen kDrive ein, um Ihr Ziellaufwerk zu erkennen:
  2. Wählen Sie dann den Typ des zu importierenden Laufwerks aus, indem Sie webdav antworten, was einer WebDAV-Konfiguration unter den vorgeschlagenen Optionen entspricht.
  3. Geben Sie die folgenden Informationen ein:
    • url = Direktzugriff auf kDrive (nehmen Sie Kenntnis von diesem anderen Leitfaden bezüglich der kDrive-ID für die Verbindungs-URL)
    • vendor = rclone (Option Nr. 6)
    • user = E-Mail-Adresse für die Anmeldung beim Infomaniak-Benutzerkonto
  4. Antworten Sie mit „Ja“ y auf die Frage zum Passwort und geben Sie dann das Passwort ein:
    • Anwendungs-Passwort im Falle einer aktivierten Zwei-Faktor-Authentifizierung oder das Ihres Infomaniak-Benutzerkontos, wenn Sie die 2FA nicht aktiviert haben.
  5. Lassen Sie das bearer_token leer und antworten Sie mit „Nein“ n auf die Frage zur „erweiterten Konfiguration“.
  6. Antworten Sie mit „Ja“ y auf die letzte Frage und Ihre 2 Laufwerke werden angezeigt:

 

2. Daten von iCloud nach kDrive kopieren

Voraussetzungen

Beispielbefehl zum Starten einer Kopie Ihrer iCloud-Daten in das Stammverzeichnis Ihres kDrive:

sudo rclone copy appledrive: kDrive:

Dies startet sofort die Kopie Ihrer iCloud-Ordner, Unterordner und Inhalte in den persönlichen Ordner Ihres kDrive Infomaniak!

 

Genauigkeiten zu den Daten Ihrer exportierten Fotos

Wenn Sie Ihre Fotos von iCloud nach kDrive Infomaniak exportieren, achten Sie auf die Datumsmetadaten. Beim Exportieren können die Erstellungsdaten der Dateien geändert und durch das Exportdatum anstelle des ursprünglichen Aufnahmedatums ersetzt werden.

Hier ist ein Skript für erfahrene Benutzer, mit dem Sie die richtigen Daten Ihrer Dateien anhand der EXIF-Informationen wiederherstellen können (es wird empfohlen, Chargen von maximal 7000 Fotos zu bearbeiten, um Abstürze zu vermeiden):

  1. Laden Sie ExifTool https://exiftool.org/index.html (macOS-Paket) herunter.
  2. Installieren Sie die Anwendung, indem Sie deren Öffnung im Voraus autorisieren, falls erforderlich:
  3. Öffnen Sie Script Editor (befindet sich in Ihrem Ordner Programme > Dienstprogramme):
  4. Klicken Sie auf Neues Dokument.
  5. Kopieren Sie das lange untenstehende Skript in das Script Editor-Fenster.
  6. Klicken Sie auf Ausführen, um das Skript zu starten, ein Fenster öffnet sich:
  7. Wählen Sie den zu analysierenden Ordner aus.
  8. Lassen Sie das Skript dann laufen, es ändert die Daten oder schreibt die Fehler in eine Datei errors.txt auf dem Desktop.

Das vollständig zu kopierende Skript:

-- replace file date with EXIF creation date or date from name after the first dash -

tell application "Finder"
    set FolderPath to choose folder with prompt "Select the folder containing the files to update"
    my processFolder(FolderPath)
end tell

on processFolder(aFolder)
    tell application "Finder"
        -- process files:
        set fileList to files of aFolder
        repeat with eachFile in fileList
            -- process a single file
            
            set theFile to eachFile
            set AppleScript's text item delimiters to {""}
            set fileName to name of eachFile --get the file name
            
            set eachFile to eachFile as string --file path
            set hasDate to true --initialize date found flag
            
            try
                --get date if available
                set photoDate to do shell script "/usr/local/bin/exiftool -DateTimeOriginal " & quoted form of POSIX path of eachFile
                if photoDate is "" then set photoDate to do shell script "/usr/local/bin/exiftool -CreationDate " & quoted form of POSIX path of eachFile
                if photoDate is "" then set photoDate to do shell script "/usr/local/bin/exiftool -CreateDate " & quoted form of POSIX path of eachFile
                
                if photoDate is "" then
                    set hasDate to false --check if date was found
                end if
                
            on error
                set hasDate to false -- error retrieving date
                set photoDate to ""
            end try
            
            if length of photoDate > 20 then
                --format extracted date
                set x to (length of photoDate) - 33
                set OriginalDate to text -x thru -1 of photoDate
                set formattedDate to text 1 thru 5 of OriginalDate
                set theYear to formattedDate
                set formattedDate to formattedDate & text 7 thru 8 of OriginalDate
                set theMonth to text 7 thru 8 of OriginalDate
                set formattedDate to formattedDate & text 10 thru 11 of OriginalDate
                set theDay to text 10 thru 11 of OriginalDate
                set formattedDate to formattedDate & text 13 thru 14 of OriginalDate
                set theHour to text 13 thru 14 of OriginalDate
                set formattedDate to formattedDate & text 16 thru 17 of OriginalDate
                set theMinute to text 16 thru 17 of OriginalDate
                set formattedDate to formattedDate & "." & text 19 thru 20 of OriginalDate
                set theSecond to text 19 thru 20 of OriginalDate
                set newName to theYear & "-" & theMonth & "-" & theDay & " " & theHour & "." & theMinute & "." & theSecond
                
                set testValue to formattedDate as string --check if found date is 000
                if testValue is " 000000000000.00" then
                    set hasDate to false
                else
                    -- set file date to original EXIF date and write to log
                    do shell script "touch -t " & formattedDate & " " & quoted form of POSIX path of eachFile
                    set logFile to open for access ((path to desktop folder as text) & "Date Found.txt") as text with write permission
                    write "Original date found for file: " & OriginalDate & " " & eachFile & return to logFile starting at eof
                    close access logFile
                end if
            end if
            
            if hasDate is false then
                -- get date from file name after first dash
                set nb to ""
                set nameDate to ""
                set fileName to fileName as string
                set savedDelimiters to AppleScript's text item delimiters --save delimiters
                set AppleScript's text item delimiters to {"-"} --split on "-"
                set nb to offset of "-" in fileName
                if nb is not 0 then
                    set AppleScript's text item delimiters to savedDelimiters --restore delimiters
                    set nameDate to characters (nb + 1) thru (nb + 8) of fileName as string
                    set nameDate to nameDate & "1200.00"
                    set cmd1 to "/usr/local/bin/exiftool -datetimeoriginal=" & nameDate & " " & quoted form of POSIX path of eachFile
                    set cmd2 to "/usr/local/bin/exiftool -createdate=" & nameDate & " " & quoted form of POSIX path of eachFile
                end if
                try
                    -- write date from name to EXIF
                    do shell script cmd1
                    do shell script cmd2
                    do shell script "touch -t " & nameDate & " " & quoted form of POSIX path of eachFile
                    do shell script "rm " & quoted form of POSIX path of (eachFile & "_original")
                on error
                    -- if date from name is invalid, log the error
                    set logFile to open for access ((path to desktop folder as text) & "Date Error.txt") as text with write permission
                    write "No valid date found in file name: " & eachFile & return to logFile starting at eof
                    close access logFile
                end try
            end if
        end repeat
        
        -- process folders:
        set folderList to folders of aFolder
        repeat with eachSubfolder in folderList
            -- process a subfolder
            my processFolder(eachSubfolder)
        end repeat
    end tell
end processFolder

tell application "Finder"
    display dialog "Done! All files processed." buttons {"Close"}
end tell

War diese FAQ nützlich?