• Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    API via PHP getCalendarEvents -

    ChurchTools Schnittstellen
    4
    13
    2.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hallo144 @samdre
      last edited by

      @samdre Also bei mir funktioniert dein Code.

      Die ganze Datei schaut bei mir so aus:

      < ?php //(< das Leerzeichen zwischen < und ? natürlich weglassen, dass Forum stellt das sonst nur nicht richtig da)
      include_once('helper.php');
      
      // Get Calendar events. Make sure the calendar is available for public user
      // otherwise login before
      $url = 'https://coc-ek.church.tools/index.php?q=churchcal/ajax';
      $data = array('func' => 'getCalendarEvents',
      'category_ids[]' => '2',
      'from' => 0,
      'to' => '10');
      $result = sendRequest($url, $data);
      if ($result->status == "fail") {
      echo $result->data;
      return;
      }
      
      echo " Ausgabe: ";
      print_r($result->data);
      echo "";
      ?>
      

      In der helper.php habe ich nur den öffnenden PHP Tag angepasst ("php" statt "<?"), da xampp das sonst nicht als php Code erkennt. Aber das ist bei dir nicht der Fehler.

      3.x Hosting und Selbsthosting, ich betreue mehrere Installationen

      S 1 Reply Last reply Reply Quote 0
      • S
        samdre @hallo144
        last edited by

        @hallo144
        wenn ich das Skript lokal (xampp) ausführe funktioniert der Code auch. Nur, wenn ich ihn via Hostingpaket aufrufe (http://www.coc-ek.de/churchtools/calenderEvents.php) offensichtlich nicht... Oder kann es sein, dass die Server-IP/-URL geblockt wird?

        1 Reply Last reply Reply Quote 0
        • H
          hallo144
          last edited by

          @samdre Interessant 😉
          Ich denke, dass ist ein Fall für den Support deines Hosting-Anbieters und vielleicht auch den Churchtools-Support.

          Ich habe es gerade mal auf den Webspace meiner Gemeinde geschoben und da geht es: http://herzogenaurach.feg.de/test/cal.php

          Wäre schön, wenn du mal berichtest, was da rausgekommen ist.

          3.x Hosting und Selbsthosting, ich betreue mehrere Installationen

          S 1 Reply Last reply Reply Quote 0
          • S
            samdre @hallo144
            last edited by

            @hallo144,
            1000 Dank. Also, ich vermute, dass unser Hostingpaket durch meine Tests gesperrt wurde (zuviele Aufrufe?). Arbeite jetzt erstmal lokal weiter und berichte dann... Vielen Dank schonmal für die tolle Unterstützung.

            1 Reply Last reply Reply Quote 0
            • BenjaminSchwarzeB
              BenjaminSchwarze
              last edited by

              Da es bei Anderen funktioniert, muss es irgendwas mit dem Server zu tun haben. Welche PHP-Version benutzt eurer Provider? Das kann man z.B. auch in ChurchTools unter "über" nachlesen. Bei Hosting Kunden sieht das so aus:

              0_1517248914109_0befec6e-0437-4f0f-b989-47b9e413bacb-image.png

              S 1 Reply Last reply Reply Quote 0
              • S
                samdre @BenjaminSchwarze
                last edited by

                @BenjaminSchwarze
                @hallo144

                Danke euch beiden!

                Habe es Mittlerweile mit der Klasse "HTTPRequest" (Quelle: http://php.net/manual/de/function.fopen.php - 3. Kommentar) zum Laufen bekommen. Bei HostEurope scheint der API-Zugriff wie unter https://github.com/churchtools/ctapidemo NICHT zu funktionieren trotz PHP-allow_url_fopen = On. Leider hat mich das mehrere Stunden gekostet 😞

                Ich übergebe folgende URL:
                https://xxxxxx.church.tools/index.php?q=churchcal/ajax&func=getCalendarEvents&category_ids[]=1&category_ids[]=2&from=0&to=10

                Usage:
                // PHP START
                $r = new HTTPRequest($url);
                $data=$r->DownloadToString();
                $result=json_decode($data);
                // PHP ENDE

                Hoffe, das hilft jmd anderem.

                1 Reply Last reply Reply Quote 2
                • H
                  hallo144
                  last edited by

                  @samdre
                  Jetzt scheinst du aber alle Daten als get-Parameter zu übergeben.

                  Solange du über die API nur Daten abfragst, ist das erstmal nicht so kritisch, aber Änderungen solltest du so aber am besten nicht durchführen.

                  Und auf keinen Fall nen Login durchführen, email und Passwort stehen dann im Klartext im Server-Log und auch jeder auf der Strecke kann dann die Daten mitschneiden (trotz https), und kennt dann deine Zugangsdaten.

                  Über den Parameter resource $context müsstest du die Abfrage-Parameter aber auch als POST übergeben können.

                  3.x Hosting und Selbsthosting, ich betreue mehrere Installationen

                  1 Reply Last reply Reply Quote 0
                  • S
                    samdre
                    last edited by

                    Habe jetzt nochmal alles erklärt und den Code zur Verfügung gestellt:
                    http://www.samdre.de/2018/02/05/churchtools-gemeindekalender-via-api-zugriff-holen-sortieren-und-darstellen/

                    1 Reply Last reply Reply Quote 1
                    • L
                      LMMB
                      last edited by

                      Hallo @samdre
                      Leider funktioniert der Link zu deiner Website nicht mehr. Könntest du uns hier trotzdem deinen Code noch zugänglich machen und zur Verfügung stellen? 🙂

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        samdre @LMMB
                        last edited by samdre

                        @lmmb
                        Danke für deinen Hinweis. Der Code ist leider nicht mehr aktuell. Die API wurde angepasst (nur noch POST-Zugriffe), habe aber eine funktionierende Version erstellt, die ich zur Verfügung stellen kann. Schreib mir einfach eine Nachricht an info[~ä#t]dredesign.de (Betreff: ChurchCal), dann können alles abstimmen.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post