Function XY was not defined as Function!
-
Hallo zusammen,
ich arbeite gerade an einem Projekt, welches die API via PHP nutzt, das funktioniert bisher auch gut. Login, Daten abgrefen, etc. läuft super.
Allerdings bekomme ich bei - gefühlt - jeder dritten Funktion die Meldung, die Funktion sei nicht definiert, z.B. "churchdb_getMyGroups" oder "churchdb_getAllGroups".Mein Aufruf sieht so aus:
if ($login->status == "success") { $url = 'https://XXX.church.tools/index.php?q=churchdb/ajax'; $data = array('func' => 'getAllGroups', 'withStationFilter' => true); $result = sendRequest($url, $data); echo var_dump($result); }
Die Funktionsnamen nehme ich von https://api.churchtools.de/.
Aber es erscheint beim Aufruf immer die Meldung:
"There is an error: Function getAllGroups was not defined as Function!".Was mache ich falsch?
LG
Seb9 -
Gibt es zu meinem Problem keine Lösung??
-
Die Funktion gibt es tatsächlich nicht.
Es gibt um Gruppen zu holen zwei Funktionen:
- getGroupsData: Das ist eine neue API, die mittlerweile vom LDAP-Wrapper genutzt wird. Sie benötigt das Recht 'administer persons''
- getMasterData: Hier kommen sehr viele Daten zurück. Unter anderem alle Gruppen für die Rechte hast.
-
Danke für die Infos. Ich suche eigentlich nur eine Funktion, welche mir die Daten zu meiner Gruppe, in der ich übrigens Leiter bin (ist das wichtig?), wie Gruppenkalender und Personenliste liefert. Gib es da was?
Zu den oben genannten Funktionwn finde ich keine Doku, gibt es die in der API-Doku nicht? -
Um an den Gruppenkalender zu kommen gibt es zwei Optionen.
- Du benutzt den iCal Link.
- URL: URL:https://$INSTANCENAME.church.tools/index.php?q=churchcal/ajax
Form Params:
func:getCalPerCategory
category_ids[0]:$CALENDER_CATEGORY_ID
Um an die Personenliste einer Gruppe zu kommen kannst du folgendes benutzen:
- URL: URL:https://$INSTANCENAME.church.tools/index.php?q=churchdb/ajax
Form Params:
func:getMasterData
Details einer Person:
- URL: URL:https://$INSTANCENAME.church.tools/index.php?q=churchdb/ajax
Form Params:
func:getPersonDetails
id:$PERSON_ID
-
@seb9 sagte in Function XY was not defined as Function!:
Die Funktionsnamen nehme ich von https://api.churchtools.de/.
Aber es erscheint beim Aufruf immer die Meldung:
"There is an error: Function getAllGroups was not defined as Function!".Dieses Problem gibt es leider häufiger. Hier sollte meiner Meinung nach mal die Doku nachgebessert werden und klar abgegrenzt werden zwischen internen Funktionen und per API veröffentlichten. So ist das jedenfalls nur Trial & Error und man ärgert sich, wenn die Funktion doch eigentlich so klingt, als ob sie das liefert, was man gerade braucht.
-
Du hast damit absolut Recht. Die Dokumentation der Api ist leider aktuell schlecht und an vielen Stellen falsch.
Ich werde das mal bei uns intern ansprechen und melde mich dann, wenn es weitere Informationen dazu gibt.Wir sind gerade dabei generell neben der aktuellen eher RPC-Stype API eine Rest-Api aufzubauen.
Für diese wäre es deutlich leichter schonmal gute API-Dokumentation bereitzustellen. Diese wird aber noch eine Weile brauchen bis Sie den Funktionsumfang der bisherigen API hat. -
@davidschilling REST API wäre der Hammer!