Shields.io kann die Discourse-Statistik-API nicht abrufen

Hallo zusammen,

wir verwenden seit einiger Zeit einen Discourse-Schild für unser Repository, der jedoch kürzlich nicht mehr funktioniert.

Wenn Sie zu 404: badge not found gehen und einen beliebigen Discourse-Schild auswählen, können Sie Ihre Discourse-Domain-Adresse eingeben, und der Schild wird mit den korrekten Statistiken angezeigt. Sie können dies beispielsweise mit meta.discourse.org ausprobieren.

Wenn wir jedoch unsere Discourse-Host-Adresse (https://discuss.grakn.ai) eingeben, wird für alle Statistiken und sowohl für HTTP als auch HTTPS stets „invalid“ (ungültig) zurückgegeben.

Discussion Forum

Wenn ein Host nicht gefunden wird, gibt Shields.io „inaccessible“ (nicht erreichbar) zurück. Daher gehen wir davon aus, dass „invalid“ bedeutet, dass der Host zwar erreichbar ist, aber Zugriffsrechte-Probleme oder ungültige Antworten vorliegen.

Ist es möglich, dass ein aktuelles Update oder Upgrade etwas an der von Shields.io genutzten Discourse-Statistik-API beschädigt hat?

Vielen Dank!

Bei mir funktioniert es auf meiner Seite. Vielleicht hast du das Protokoll nicht richtig eingestellt? Oder die Grakn-Discourse-Instanz hat eine Art Modifikation, die diesen Endpunkt unterbricht.

imagen

Vielleicht solltest du Shields.io bezüglich dieses Problems kontaktieren. Es funktioniert mit allen anderen von mir getesteten Seiten, also liegt hier kein Fehler unsererseits vor.

@marianord das ist genau meine Frage: Wo sind die “Protokolle”, die du erwähnst? Wie können sie konfiguriert werden? Ich habe keine Einstellungen geändert.

@gerhard da shields.io bei anderen Discourse-Sites funktioniert, scheint es unwahrscheinlich, dass das Problem auf deren Seite liegt. Es sei denn, sie lesen die Ausgabe unserer Seitenstatistiken nicht richtig aus – aber wie können wir das herausfinden? Welcher Endpunkt von Discourse wird verwendet, um die Statistiken abzufragen? Vielleicht sollten wir dort anfangen?

Ich spreche http im Vergleich zu https an.

Dies geschah, weil unsere Discourse-Installation den User-Agent von Shields.io (Shields.io) blockiert hat. Diese Einstellung heißt whitelisted crawler user agents und kann bearbeitet werden unter
<discourse_server>/admin/site_settings/category/all_results?filter=crawler

Interessant! Danke @max_grakn! Wir haben Googlebot kürzlich zur Whitelist hinzugefügt. Ich denke, das könnte der Grund sein.

@codinghorror, sollen Blacklist und Whitelist gleichzeitig verwendet werden? Das heißt, wenn man Dinge zur Whitelist hinzufügt, bedeutet das, dass alles andere automatisch auf der Blacklist steht (und die Blacklist somit überflüssig wird)?

Nein, die Whitelist für Crawler ist sehr gefährlich und sollte gemäß dem Hilfetext nur mit Vorsicht verwendet werden.

User-Agents von Web-Crawlern, die auf die Website zugreifen dürfen. WARNUNG: DIESE EINSTELLUNG BLOCKIERT ALLE NICHT AUFGEFÜHRTEN CRAWLER!

Hallo, ich habe das gleiche Problem, wenn ein Test ungültige Daten erhält… hast du eine Idee?

Es ist jetzt in Ordnung. Es ist notwendig, anonyme Statistiken zu aktivieren unter:

Admin → Einstellungen → Sonstiges → anonymisierte Statistiken teilen = Aktiviert

Und jetzt funktioniert es auch für shields.io

Ich habe das gleiche Problem, aber das Teilen anonymer Statistiken ist bereits aktiviert
:cry:

[Racket Discourse]

[Racket Discourse]

Zugehörig zu:

Dies liegt daran, dass einige Felder in ihrer Pluralform umbenannt wurden.

topic_counttopics_count
post_countposts_count
user_countusers_count
like_countlikes_count

Jemand muss den Code hier ändern, um auf die Pluralform zurückzufallen:

Das funktioniert immer noch nicht – funktioniert es bei jemand anderem?

Racket Discourse

![Racket Discourse](upload://7asTK98zfWLXRebm11uEN3KPM5N.svg)

Vor ein paar Tagen wurde ein PR geöffnet:

Aber natürlich legt diese Änderung eine Belastung für shields.io auf, beide Versionen zu unterstützen (wohl für immer), da keine Garantie besteht, dass eine bestimmte Discourse-Instanz aktualisiert wurde oder nicht, sodass es nicht so einfach ist, auf Plural umzustellen.