• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Kein API Key erstellbar

Frankreich

Geocacher
Hilfe,
seit heute kann ich plötzlich keinen API Key mehr erstellen. Unter Einstellungen "API Key..." kein grüner Haken, antippen zum Erstellen erzeugt nur kurzes flickern der Anzeige.
Ähnlich wenn ich Caches laden will und auf die Frage "API Key erstellen " "Ja" antworte, flickern und dann CB Start Screen.
Bin langjähriger begeisterter Cachebox User.
Habe ACB jetzt neu installiert, keine Änderung. Kein API Key erstellbar.
App Berechtigungen sind erlaubt.
ACB Version 3765 ( Play Store) , Samsung Galaxy S21 Ultra Android Version 13.
Könnte ein Android Update heute was an Zugriff Berechtigungen verändert haben?
Das A72 meiner Frau mit ebenfalls ACB 3765 funkt einwandfrei.
 

arbor95

Geoguru
Bei mir auch (altes Android): da kommt Error 404:
ERROR CB_Api - getGcAuthUrl de.droidcachebox.utils.http.WebbException: Request failed: 404

Da muss ich mal Andre antriggern, ich habe keine Ahnung, wo der Server für das OAut - Verfahren läuft.

Vielleicht ist aber auch nur der entsprechende Server von groundspeak nicht erreichbar!

Wenn deine Frau noch einen neuen key erzeugen kann. Der alte key bleibt erhalten, wenn man keinen neuen holen kann. Aber wenn der abgelaufen ist, dann hat man auch Probleme.
 
OP
Frankreich

Frankreich

Geocacher
Meine Frau hat keinen neuen Key erzeugt, der alte ist wohl noch gültig und ich würde den Zustand am liebsten nicht antasten. So haben wir wenigstens ein Gerät. Oder wäre das für Dich von Interesse das "neuen Key" mal zu testen?
 

arbor95

Geoguru
nein, brauchst du nicht. Ich habe eine e-mail an Andre geschickt. Er muss es richten bzw. behilflich sein, falls wir eine andere web-adresse verwenden müssen. Der link ist im acb fest reinprogrammiert.
 
OP
Frankreich

Frankreich

Geocacher
Fehler hat sich geändert.
Bei dem Versuch Key über Einstellungen zu holen kommt jetzt das:
 

Anhänge

  • Screenshot_20230130_205900_Cachebox[1].jpg
    Screenshot_20230130_205900_Cachebox[1].jpg
    243,4 KB · Aufrufe: 15

arbor95

Geoguru
Ja ich weiß, Andre hat die Hälfte des Problems gelöst.
Für die andere Hälfte bräuchte man einen php-Experten, denke ich.
Die scripte liefen auf php-Version5.
Ich schätze mal, dass jetzt php-8 aktiv ist.
Andi hat mir den Code für den Bereich mal zugemailt, aber ich habe da keinen Durchblick!
 

Longri

Geoguru
Ich habe leider auch keine Ahnung von PHP. Das Script hatte ich damals mit Hilfe von Google erstellt. Und der Provider bei dem ich das gehostet hatte, hatte die PHP Version hoch geschraubt. Vielleicht findet sich jemand, der das Script updatet, dann kann ich das geänderte Script an den richtigen Platz legen.
 

Timo TA93

Geowizard
Ich hab den Link zu diesem Thread mal meinem Kumpel aus DD (mit dem ich damals an den Filter/Löschfunktionen gebastelt hab) geschickt. Vielleicht kann er helfen...
 

schatzi-s

Geowizard
Ich habe zwar keine Ahnung, aber wenn ich mir die Fehlermeldung ansehe, passt folgender Hinweis aus dem PHP-Handbuch:

https://www.php.net/manual/de/function.parse-str.php

" parse_str(string $string, array &$result): void

[..]

Warnung
Diese Funktion ohne den zweiten Parameter zu verwenden wird von PHP 7.2 an MISSBILLIGT und es wird dringend davon ABGERATEN. Von PHP 8.0.0 an ist der Parameter result zwingend erforderlich."

Mein Ansatz waere daher, den Aufruf der parse-str Funktion zu suchen (vermutlich in der in der Hardcopy angezeigten Datei /homepages/34/d36443364/htdocs/oAuth_Cachebox[*] in Zeile 70) und dort vor die schliessende Klammer ein ,$dummy einzufuegen (also KommaDollardummy). Dummy, weil die Ausgabe offensichtlich nicht benoetigt wird, sonst waere der Parameter vorher schon da gewesen ;-)

Viel Erfolg!

Nachtrag: Ausserdem wuerde ich ein grep ueber das htdocs Verzeichnis laufen lassen, um zu sehen, ob die Funktion noch an anderer Stelle aufgerufen wird. Dann ist es besser das jetzt gleich mit zu korrigieren, als spaeter einen Fehler zu bekommen, weil irgendjemand eine selten genutzte Funktion aufruft ...
 

Longri

Geoguru
Ich habe den Fehler auf der Seite, dank Schatzi, behoben.
Ob es aber in der App noch geht, kann ich nicht sagen, mangels Android Geräte!

Gruß Andre
 

schatzi-s

Geowizard
das freut mich :) Danke fuers Feedback
Und das, obwohl ich Cachebox noch nie gesehen habe und mit php das letzte Mal vor Jahren (Jahrzehnten?) etwas gespielt habe ... Ich glaube, damals stand das noch pretty home page :)
Allerdings eine Bitte: schatzi minus s oder auch von mir aus auch nur minus s, aber bitte nicht Schatzi ;-)
 
OP
Frankreich

Frankreich

Geocacher
Danke an alle für den schnellen Einsatz.
Allerdings, ich selbst habe 0 Ahnung von PHP und wie das mit dem Key da funktioniert, ist jetzt ein anderer Fehler da:
"could not get a auth token" und sonst leerer Screen.
Wenn ich sonst was zum Debug beitragen kann bitte um Info
 

Anhänge

  • Screenshot_20230131_093935_Cachebox[1].jpg
    Screenshot_20230131_093935_Cachebox[1].jpg
    69,6 KB · Aufrufe: 12

schatzi-s

Geowizard
Ich habe mir eben nochmal das Beispiel angesehen. Ich fuerchte, dass mein Tipp zwar dafuer sorgte, dass die Zeile korrekt uebersetzt wurde, aber das Programm nicht mehr das macht, was es soll.

es reicht vermutlich nicht, einfach einen weiteren Parameter hinzuzufuegen. Zusaetzlich muss nun vermutlich anders (ueber den neuen Parameter), auf die Werte zugegriffen werden.

Das folgende Beispiel laeuft unter PHP kleiner Version 8. Traegt man bei Version 8 einen weiteren Parameter ein, erzeugt es Fehler im "Nicht empfohlen" Teil bei den Variablen.
Probiert mit: https://onlinephp.io/

Um da eine genaue Loesung nennen zu koennen, braeuchte ich mehr Informationen (was steht in der uebergebenen Variable, wie wird anschliessend auf die Werte zugegriffen). Aber vermutlich sollte sich das besser jemand ansehen, der sich mit PHP auskennt ;-)
sorry, schade ...

<?php

$str = "erstes=wert&arr[]=foo+bar&arr[]=baz";

// Empfohlen
parse_str($str, $output);
echo $output['erstes']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

// NICHT EMPFOHLEN
parse_str($str);
echo $erstes; mit// value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
 

Timo TA93

Geowizard
Das Script funktioniert wieder, neuer Key konnte problemlos erstellt werden.
Der Dank dafür geht an Patty21 aus Dresden welcher hier helfen konnte.
 
Oben