PyiCloud

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Bio Salami
User
Beiträge: 63
Registriert: Mittwoch 28. Juli 2021, 14:10

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.
Antworten