.titleBar { margin-bottom: 5px!important; }

CardDAV to FritzBox 2.0 - neue Version verfügbar!

Dieses Thema im Forum "andere Software" wurde erstellt von Black Senator, 9 Jan. 2018.

  1. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    #1 Black Senator, 9 Jan. 2018
    Zuletzt bearbeitet: 6 Jan. 2019
    Hallo,

    seit ein paar Wochen gibt es unter https://github.com/andig/carddav2fb eine komplett neu codierte Version des PHP Scripts.
    Was ist neu bzw. anders?
    • Programmierung:
      • Verwendung von z.T. neueren Klassenbibliotheken (vCard-Parsing)
      • Coding durchstrukturiet und in Klassenbibliotheken untergliedert
    • Voraussetzungen:
      • PHP 7.0 (mit php7.0-cli, php7.0-curl, php7.0-gd php7.0-mbstring und php7.0-xml)
      • Composer
    • Funktionalität:
      • Kontakte können anhand von Kategorieren ein- und/oder ausgeschlossen werden (include exclude)
      • Gruppen (Apple iCloud) werden wie Kategorieren behandelt (in- und exclude, sowie VIP)
      • Namenskonvertierung inkl. aller Bestandteile (z.B. Pre- und Suffix) als Muster definierbar und die Konvertierungsmuster sind kaskadierbar
    • Script-Handling
      • Aufruf über Commands download, convert, upload oder run für den kompletten Prozess
      • Output von Zwischenergebnissen in RAW-File (json)
    Die Testgruppe war bisher noch nicht so groß, und der Image-Upload ist wohl noch in der Queue.

    Bei mir rennt das Script auf einem RasbPi mit ca. 1.600 iCloud-Kontakten fehlerlos.


    Viel Spaß beim Ausprobieren

    Black Senator


    Quick install guide:

    1 carddav2fb installieren
    Code:
    cd /
    git clone https://github.com/andig/carddav2fb.git
    cd /carddav2fb
    
    1.1 Composer installieren (ggf. mit der Quellseite aktualisieren)
    Code:
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    mv composer.phar /usr/local/bin/composer
    
    1.2 Composer ausführen
    Code:
    composer install
    
    1.3 carddav2fb konfigurieren
    Code:
    cp /carddav2fb/config.example.php /carddav2fb/config.php
    nano /carddav2fb/config.php
    
    1.4 carddav2fb ausführen
    Code:
    php carddav2fb.php run
    
     
    GreySoldier gefällt das.
  2. markuhn

    markuhn Neuer User

    Registriert seit:
    18 Feb. 2018
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Senator,

    vielen Dank für Deine Arbeit. ich have mal deine Skripte installiert und getested. Die Installation lief ohne Probleme. Nur als ich das skript dann gestarted habe kam die folgende Meldung:

    Client error: `PROPFIND https://mein.dns.de/` resulted in a `405 Method Not Allowed` response

    ich habe das ganze noch mit der IP Adresse und auch mit http://... versucht. Alles mit dem gleichen Ergebnis. Vielleicht hast Du ja eine Ahnung an was das ganze scheitert. Bei mir läuft das fante mit einem Raspi 2 und Nextcloud 13. Meine FritzBox ist eine 7390.

    Danke schon mal

    Markus
     
  3. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    Hallo Markus,

    kopiere doch bitte mal aus PuTTy die komplette Ausgabe nach dem "run" Befehl, die dir das Script auf den Screen schmeißt.
    Sensible Daten kannst Du ja x-en


    Black Senator
     
  4. markuhn

    markuhn Neuer User

    Registriert seit:
    18 Feb. 2018
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Black Senator,

    es ist nicht viel was zu sehen ist. Anbei die Putty ausgabe. Wie gesagt, der Fehler kommt 1:1 mitt http/https und IP oder DNS eintrag.

    [email protected]:~ $ cd carddav2fb/
    [email protected]:~/carddav2fb $ php carddav2fb.php run
    Downloading vCard(s) from account myaccount
    0 [>---------------------------]
    In RequestException.php line 113:

    Client error: `PROPFIND http://192.168.178.10/` resulted in a `405 Method Not Allowed` response


    run [-i|--image] [-c|--config CONFIG]

    [email protected]:~/carddav2fb $


    Danke

    Markus
     
  5. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    #5 Black Senator, 18 Feb. 2018
    Zuletzt von einem Moderator bearbeitet: 19 Feb. 2018
    Hallo Markus,

    ehrlicherweise kann das alles oder nix bedeuten. Um den Fehler einzugrenzen, und da ich nicht weiß wie erfahren Du bist frage ich lieber etwas detaillierter und von vorne an:

    Deine URL für den NextCloud-CardDAV-zugriff müsste also ähnlich wie unter https://docs.nextcloud.com/server/13/user_manual/pim/sync_thunderbird.html beschrieben lauten.
    Demnach müsste der Teil für den/die Server in der config.php in etwa so aussehen:
    Code:
    // or server
        'server' => [
            [
                'url' => 'https://cloud.nextcloud.com/remote.php/dav/addressbooks/users/daniel/Thunderbird/',
                'user' => 'markus',
                'password' => 'geheim',
                ],                        
    Kannst Du mit den Credentials mit anderen Programmen z.B. CardBook auf deine Kontakte zugreifen?

    Black Senator

    ### Zusammenführung Doppelpost by stoney ###

    Ich habe von NextCloud übrigens keinen Schimmer - muss mich also selbst erst ein wenig einlesen. Habe gerade das Thema 2FA entdeckt.
    Hast Du das aktiviert - und wenn ja, hast Du dann auch für den Remote-Zugriff - also den carddav2fb-User ein App-spezifisches Passwort angelegt? carddav2fb kann naheliegenderweise keine 2FA erfüllen!
     
  6. markuhn

    markuhn Neuer User

    Registriert seit:
    18 Feb. 2018
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Black Senator,

    vielen Dank für den Tipp. Ich weiss zwar nicht warum, aber irgendwie habe ich geglaubt, dass

    'url' => 'https://cloud.nextcloud.com/',
    'user' => 'markus',
    'password' => 'geheim',

    reichen würde. Ich hatte nicht den vollen Pfad zum Adressbuch angegeben. Zu blöde. Na ja das auslesen des Adressbuches von Nextcloud funktioniert jetzt auf jeden Fall. Ich habe jetzt noch ein weiteres Problem mit dem upload zur FB, aber das ist der Login zu dem account den ich extra für den address upload angelegt habe. Ich will ja nicht meinen "richtigen" login im Klartext ablegen. Da muss ich noch ein wenig herum spielen.

    Also download in Nextcloud funktioniert auf jeden Fall, 2FA habe ich keine aktiviert.

    Danke schon mal für die schnelle Hilfe ich melde mich wenn ich weiter bin.

    Gruß

    Markus
     
  7. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    Hallo Markus,

    klasse, dass der download funktioniert. Also - für den Upload ist es eigentlich egal, ob Du den Standard-User für die box oder einen eigens angelegten Upload-User verwendest. Usernamen und Passwort sind so oder so in in der config.php sichtbar einzutragen. Das macht aber auch nix, wenn Du für dein RasbPi ein vernübftiges User-, Passwort- und Zugriffskonzept umgesetzt hast.
    Ich nehme an du nutzt nur den User pi und hast für den und root jeweils eigenen Passwörter geändert/angelegt (sudo passwd pi)?
    Wenn dein RasbPi nicht aus dem Internet angesteuert wird - was soll dann passieren?

    Tipp:
    Code:
        // or fritzbox
        'fritzbox' => [
            'url' => 'fritz.box',
            'user' => 'dslf-config',
            'password' => 'DEINLOGINPASWORTFÜRDIEFB',
        ],
    Das müsste funktionieren
     
  8. churchy

    churchy Neuer User

    Registriert seit:
    7 Aug. 2011
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Black Senator,

    auch ich versuche mich an dieser neuen Version (danke dafür).

    Zunächst einmal: Wenn man nicht alles auf einmal mit dem Kommando "run" machen möchte, wie ist das Vorgehen?

    Mit
    php carddav2fb.php download
    kann man ja zunächst mal alle vcards downloaden.

    Wo landet der Download? Und wie kann man den dann als Input für
    php carddav2fb.php convert
    verwenden?

    Danke & Gruß,
    Churchy
     
  9. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    Hallo Churchy,

    Du kennst sicher die Vorgänger-Version. Die Option der Zwischenspeicherung und Prüfsummencheck vor dem Upload gibt es in dieser Version nicht. Der Grund ist, dass der Upload nicht der zeitliche bottleneck ist.
    Das Programm läuft ja idealerweise automatisch im Hintergrund als cron job.
    Daher lässt sich ableiten, dass die Optionen download, convert und upload zu nur zu Test bzw. Debugging einen Sinn ergeben.

    Probiere bitte:
    Code:
    php /carddav2fb/carddav2fb.php list
    für die Befehlsübersicht
    Code:
    php /carddav2fb/carddav2fb.php download -h
    für Hilfe für diesen Befehl (andere analog)

    Hier mal eine beispilehafte Befehlszeile für den Download
    Code:
    php carddav2fb.php download -r test.json
    bzw.
    Code:
    php carddav2fb.php download -r test.json >test.txt
    wenn du die Screen-Ausgabe auch umlenken möchtest und ggf. vergleichen willst, was im JSON im Vergleich zu ASCII ankommt

    Convert-Befehl entsprechend.

    Ehrlich gesagt, habe ich bisher den Upload aus (Converted)-File auch noch nicht hinbekommen. Wenn Dich das drängt, dann stelle doch die Frage an den Enwickler andi auf GitHub.

    Hilft das weiter?

    Black Senator
     
  10. churchy

    churchy Neuer User

    Registriert seit:
    7 Aug. 2011
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Black Senator,

    danke für die schnelle Reaktion, leider hilft das aber nicht wirklich...

    Ich kenne auch die Vorgänger-Version nicht, ich wollte gleich auf diese aktuelle gehen.

    Um mir nicht mein aktuelles (auf anderen Wegen bisher erzeugtes) Telefonbuch auf der FB zu zerschießen wollte ich erst einmal Schritt für Schritt schauen, was dieses Tool so macht und an Daten für die FB erzeugt. Daher wollte ich mal die XML-Ausgabe sehen bevor sie in FB hochgeladen wird.

    Was rätst Du mir? Einfach mal alles in ein 2.Telefonbuch zu laden?

    Churchy
     
  11. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    Hallo Churchy,

    ich rate Dir:
    1. Das vorhandene TB sichern
    2. einfach ein zweites TB vom Tool anlegen lassen - und so lange überschreiben bis Du mit dem Customizing in der config.php (oder wie immer Du sie nennst -> dann aber mit -c [Label].php!) zufrieden bist
    3. Mach Dir auch klar was Du erreichen willst (das hat nix mit dem Tool zu tun!)
      Das ist das Thema Datenmanagement und Datenqualitätsmanagement!

      Ich versuche das mal zu beschreiben, was ich darunter praktisch verstehe:
      M.E. ist das nur sinnvoll, wenn man an einer Stelle (NextCloud, OwnCloud, Baikal, iCloud - oder Goggle) die Kontakte zentral als "führende" Daten pflegt (und nur dort!). Das ist der große Gewinn einer Cloud!
      Nur dann ist es sinnvoll, mit carddav2fb einen Teil der Daten (nämlich ja nur Name, Nummer, Typ, ggf. VIP) auf die FB zu synchronisieren (unidirektional!).
      Wir haben z.B. drei Kontakt-Cluster in der Cloud - meine Kontakte, die meiner Frau und eine gemeinsame Schnittmenge (auf die wir mit Smrtphone auch gemeinsam zugreifen. Nur in der Cloud(!) werden per App oder Programm neu e Kontakte angelegt, Daten geändert oder gelöscht.
      Zusammen ca. 1650 Kontakte. Daraus wiederum wird mit exclude/include nur ein Teil auf die FB geladen (überwiegend aus der Schnittmenge und angereichert mit jeweils ein paar Kontakten von mir und meiner Frau).
    Black Senator
     
  12. churchy

    churchy Neuer User

    Registriert seit:
    7 Aug. 2011
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Black Senator,

    Genau so habe ich es erfolgreich gemacht, danke.

    Jetzt habe ich nur noch ein Problem mit den Bildern.
    Aus meiner owncloud Instanz kommen die Bilder eingebettet in der vCard raus (Auszug):
    Code:
    PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEB
     AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2w
    ...
    
    Leider werden diese aber auch mit der Option -i nicht übertragen.
    Wird das überhaupt unterstützt? Wie kommt man hier weiter?

    Und ein weiteres Problem habe ich mit der Verwendung der https-URL der FB. Dort wird bei mir (wie in vermutlich vielen anderen FBen) ein "eingebautes" (und damit selbst signiertes) Zertifikat verwendet.
    Das mag das Skript aber nicht:
    Code:
    In CurlFactory.php line 187:
                                                                                                                              
      [GuzzleHttp\Exception\RequestException]                                                                                 
      cURL error 60: SSL certificate problem: self signed certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) 
    
    Kann man da dem GuzzleHttp noch etwas auf die Sprünge helfen, z.B. über ein
    PHP:
    $client->request('GET''/', ['verify' => false]);
    (siehe http://docs.guzzlephp.org/en/stable/request-options.html#verify-option)

    VG,
    Churchy
     
  13. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    Hallo Churchy,

    der Bilder-Upload ist noch nicht nicht realisiert!
    Steht als Issue auf GitHub noch als Open.
    Andi und ich hatten diskutiert, dass es wenig Sinn ergibt, die Bilder stumpf herunterzuladen und einzubetten, weil öfters ja nur Auschnitte der Bilder in den Apps als Profilbilder hinterlegt sind (zumindest ist das bei mir so) - die vorherige Lösung hat aber die Auschnittsdaten nicht berücksichtigt - dann hat man plötzlich ein nicht erkennbares Gruppenfoto auf dem Mobilteil :)
    Long story short - Andi ist noch nicht dazu gekommen das Image-Feature zu realisieren, um auch nur die definierten Ausschnitte zu übertragen ...
    Am besten schließ Dich doch dem Issue auf GitHub an. Dann merkt Andi, dass nicht nur ich sein Arbeit nutze und macht sich evtl. an die Arbeit...

    Gleiches gilt für das SSL-Thema. Ich habe die gleiche Konstellation - greife jedoch nicht mit einer https-URL auf die FB zu, sondern einfach mit fritz.box bzw. IP. Ich bin/bzw. bleibe ja in meinem Netzwerk - da ist die Verschlüsselung m.E. kein Thema... Aber Andi ist immer wieder gerne bereit sich auch solchen Fragen zu stellen - man muss nur bei ihm korreckt per Issue oder Pull-Request über GitHub vorstellig werden... :)

    Grüße

    Black Senator
     
  14. markuhn

    markuhn Neuer User

    Registriert seit:
    18 Feb. 2018
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Black Senator,

    nur noch eine kurze Rückmeldung von mir. Der Upload zur FB klappt jetzt auch. Tolle Arbeit. Vielen Dank.

    Gruß

    Markus
     
  15. ak68

    ak68 Neuer User

    Registriert seit:
    20 Juni 2010
    Beiträge:
    22
    Zustimmungen:
    1
    Punkte für Erfolge:
    3
    #15 ak68, 17 Juni 2018
    Zuletzt bearbeitet: 24 Juni 2018
    Ich habe erstmalig dcarddav2fb auf einen Raspberry Pi 3+ installiert, bekomme es aber nicht zum Laufen:

    Die Adressen werden korrekt geladen, jedoch scheitert die FB-Verbindung mit folgender Fehlermeldung:

    2018_06_24_11_38_56_pi_Raspberrypi_carddav2fb.png

    Offenbar wird der Zugriff auf die FB verweigert:

    2018_06_24_11_40_08_FRITZ_Box_7490_Opera.png

    PS:
    Anpassung der config mit: $config['fritzbox_force_local_login'] = true; habe ich schon durchgeführt !
    Änderung der Fritzbox IP -> fritz.box ebenfalls erfolglos versucht
    Benutzer hat alle Zugriffsrechte der FB/ FTP-Zugriff über Fireziila bereits möglich (Kennwort wurde mehrfach geprüft/ geändert etc.- ohne Erfolg)

    Wer hat Rat ?

    Anmerkung:
    FritzBox 7490, FRITZ!OS: 06.93
    CardDAV2FB läuft auf Raspberry PI3+
     
  16. bastihey

    bastihey Neuer User

    Registriert seit:
    6 Juli 2015
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo Black Senator,
    ich bin gerade dabei das neue carddav2fb zu testen. Leider bekomme ich beim Download folgende exception:

    Code:
    Downloading vCard(s) from account dezxxx
        0 [>---------------------------]PHP Fatal error:  Uncaught Error: Call to undefined function Andig\CardDav\utf8_encode() in /home/dezxxx/Entwicklung/NodeRed_Container/carddav2fb/src/CardDav/Backend.php:192
    Stack trace:
    #0 /home/dezxxx/Entwicklung/NodeRed_Container/carddav2fb/src/CardDav/Backend.php(166): Andig\CardDav\Backend->cleanResponse('<?xml version='...')
    #1 /home/dezxxx/Entwicklung/NodeRed_Container/carddav2fb/src/CardDav/Backend.php(109): Andig\CardDav\Backend->simplify('<?xml version='...', true)
    #2 /home/dezxxx/Entwicklung/NodeRed_Container/carddav2fb/src/functions.php(38): Andig\CardDav\Backend->getVcards()
    #3 /home/dezxxx/Entwicklung/NodeRed_Container/carddav2fb/src/DownloadCommand.php(55): Andig\download(Object(Andig\CardDav\Backend), Object(Closure))
    #4 /home/dezxxx/Entwicklung/NodeRed_Container/carddav2fb/vendor/symfony/console/Command/Command.php(251): Andig\DownloadCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #5 /home/dezxxxEntwicklung/NodeRed_Container/carddav2 in /home/dezxxx/Entwicklung/NodeRed_Container/carddav2fb/src/CardDav/Backend.php on line 192
    Kannst du erkennen, was genau das Problem ist?
    Viele Grüße
    Bastian

    //edit by stoney: [CODE]TAG[/CODE] gesetzt
     
  17. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    #17 Black Senator, 26 Juni 2018
    Zuletzt von einem Moderator bearbeitet: 26 Juni 2018
    @ak68

    Hallo, da Du schreibst:
    benutzt du offenbar die "alte" Version.

    Da musst Du Dich an den/die Entwickler wenden. Am besten auf GitHub ein entsprechendes Issue aufmachen.

    MfG

    Black Senator

    ### Zusammenführung Doppelpost by stoney ###

    @bastihey

    bitte mach dazu ein Issue in GitHub auf. Andy kümert sich nur über diese Plattform um die Wartung. Abgesehen davon ist die Codestrecke tatsächlich aus einem library, welches diese function schon in der Vorgängerversion verwendet hat.
    Aber wenn Du ein Issue eröffnest und das Problem prägnant und nachvollziehbar beschreibst, dann kümmert er sich darum.
    Man kann aber jetzt schon sagen, dass es an den Daten auf dem CardDAV-Server bzw. deren Zeichencodierung liegt. Also solltest Du unbedingt, die Informationen zum Server (Google, iCloud, owncloud, netxtcloud, baikal etc.) angeben.

    good luck

    Black Senator
     
  18. ak68

    ak68 Neuer User

    Registriert seit:
    20 Juni 2010
    Beiträge:
    22
    Zustimmungen:
    1
    Punkte für Erfolge:
    3
    #18 ak68, 29 Juni 2018
    Zuletzt bearbeitet: 29 Juni 2018
    Hallo Black Senator,

    habe jetzt die neue Version installiert- pedantisch nach Deinen Anweisungen.

    Jetzt hänge ich aber an folgendem Fehler:


    2018_06_29_19_57_52_pi_Raspberrypi_carddav2fb.png


    Es scheitert also schon an der Abfrage, Benutzername/ Kennwort sind definitiv in Ordnung.

    Eine Abfrage des Adressbuchs z.B. über Browser oder Thunderbird ist möglich !

    Abwechselnd habe ich auch noch folgenden Fehler:

    2018_06_29_20_09_54_pi_Raspberrypi_carddav2fb.png

    Wer hat eine Idee ?

    Danke
    Andreas
     
    altheeagle gefällt das.
  19. Black Senator

    Black Senator Neuer User

    Registriert seit:
    13 Juli 2007
    Beiträge:
    119
    Zustimmungen:
    6
    Punkte für Erfolge:
    18
    Beruf:
    IT-Line-Manger/Projectmanger (em.)
    Ort:
    Region Hannover
    Ich bin bis 18.07. im Urlaub - bis dahin kann ich nur mitlesen.
    Im Zweifel ein issue auf github aufmachen
     
  20. onestyle

    onestyle Neuer User

    Registriert seit:
    17 Sep. 2008
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Hallo zusammen

    Der 18.7. ist ja nun schon bald ;-)
    Ich versuche gerade (ohne grosse php Kenntnisse) das Skript für meinen Fall zu adaptieren.
    Ich habe es hinbekommen, dass das Login auf der FB und auf meiner Nextcloud funktioniert.
    Mit dem command
    Code:
    php carddav2fb.php run
    wird der Download gestartet, konvertiert, und hochgeladen. Leider werden aber keinerlei Kontakte gefunden.
    Irgendetwas mache ich wohl falsch, aber was nur?
    Um nicht meine "echten" Passwörter im plain text zu speichern habe ich wie hier empfohlen einen weiteren Account in der Nextcloud erstellt und diesem meine Kontakte geteilt (ohne Schreibrechte). Diese werden in Nextcloud als "Kontakte (onestyle)" angezeigt. Diesen Namen habe ich für 'phonebook => 'name'=> übernommen (muss ich das?).

    Hier mein config.php inhalt:

    Code:
    <?php
    
    $config = [
        // phonebook
        'phonebook' => [
            'id' => 0,
            'name' => 'Kontakte (onestyle)'
        ],
    
        // or server
        'server' => [
            [
                'url' => 'http://192.168.178.47/nextcloud/remote.php/dav/',
                'user' => 'fritzboxusr',
                'password' => '**********',
                ],                                /* add as many as you need
            [
                'url' => 'https://...',
                'user' => '',
                'password' => '',
                ],                                */
        ],
    
        // or fritzbox
        'fritzbox' => [
            'url' => 'http://fritz.box',
            'user' => '',
            'password' => '*********',
        ],
    
        'filters' => [
            'include' => [
                // if empty include all by default
            ],
    
            'exclude' => [
                'category' => [
                    ],
                'group' => [
                ],
            ],
        ],
    
        'conversions' => [
            'vip' => [
                'category' => [
                ],
                'group' => [
                ],
            ],
        'realName' => [
                '{lastname}, {prefix} {nickname}',
                '{lastname}, {prefix} {firstname}',
                '{lastname}, {nickname}',
                '{lastname}, {firstname}',
                '{organization}',
                '{fullname}'
            ],
            'phoneTypes' => [
                'WORK' => 'work',
                'HOME' => 'home',
                'CELL' => 'mobile'
            ],
            'emailTypes' => [
                'WORK' => 'work',
                'HOME' => 'home'
            ],
            'phoneReplaceCharacters' => [
                '+41' => '0',  //Router steht default in DE; '0049' könnte auch Teil einer Rufnummer sein
                '('   => '',
                ')'   => '',
                '/'   => '',
                '-'   => ' '
            ]
        ]
    ];