Seite 1 von 1

PyiCloud

Verfasst: Freitag 6. August 2021, 14:47
von Bio Salami
Hi,
Ich Programmiere ein Skript welches mit meiner iCloud spricht. Leider kenne ich mich mit der API nicht wirklich aus, ich habe mich zwar mit der GitHub Seite vertraut gemacht komme aber immer noch nicht weiter.

Code: Alles auswählen

from pyicloud import PyiCloudService

api = PyiCloudService('Email', 'Passwort')

if api.requires_2fa:
    print("Two-factor authentication required.")
    code = input("Enter the code you received of one of your approved devices: ")
    result = api.validate_2fa_code(code)
    print("Code validation result: %s" % result)

    if not result:
        print("Failed to verify security code")
        exit(1)

    if not api.is_trusted_session:
        print("Session is not trusted. Requesting trust...")
        result = api.trust_session()
        print("Session trust result %s" % result)

        if not result:
            print("Failed to request trust. You will likely be prompted for the code again in the coming weeks")

elif api.requires_2sa:
    import click
    print("Two-step authentication required. Your trusted devices are:")

    devices = api.trusted_devices
    for i, device in enumerate(devices):
        print("  %s: %s" % (i, device.get('deviceName',"SMS to %s" % device.get('phoneNumber'))))

    device = click.prompt('Which device would you like to use?', default=0)
    device = devices[device]
    if not api.send_verification_code(device):
        print("Failed to send verification code")
        exit(1)

    code = click.prompt('Please enter validation code')
    if not api.validate_verification_code(device, code):
        print("Failed to verify verification code")
        exit(1)

print(api.calendar.events())
Beim ersten ausführen hatte es so halb Funktioniert. Es wurde die Zweitfaktorauthefizierung durchgeführt, danach endete das Skript mit der Fehlermeldung das der Befehl

Code: Alles auswählen

 print(api.calendar.events()) 
nicht funktionierte. (Was genau der Fehler war weiß ich nicht) Jetzt kommt immer dieser Fehler:

Code: Alles auswählen

pyicloud.exceptions.PyiCloudAPIResponseException: Authentication required for Account.
Fals mir jemand helfen kann wäre es eine große hilfe.