Benutzer post_count ist Null im Webhook für einen Benutzer, der Beiträge hat

Wir haben einen Webhook für das Ereignis „user_logged_in“. Die Nutzlast enthält die Eigenschaft post_count für den gerade angemeldeten Benutzer. Obwohl der Benutzer 2 Beiträge verfasst hat, zeigt die Nutzlast post_count: 0 an. Das sieht für mich nach einem Fehler aus.

Der Empfänger des Webhooks benötigt diese Benutzerstatistik, um zu entscheiden, wie er fortfahren soll.

Das einzige ähnliche Thema, das ich gefunden habe, ist dieses hier, es könnte damit zusammenhängen, spricht aber nicht von derselben API: Category post_count not incrementing

1 „Gefällt mir“

Ich muss mich korrigieren: Der post_count ist nicht immer null. Bei der Überprüfung mit meinem eigenen Benutzer war der post_count plausibel (obwohl ich nicht weiß, ob er genau ist oder nicht).

Aber es gibt einen Benutzer auf unserer Website, nennen wir ihn Benutzer-Nr. 1234, für den Folgendes gilt:

  • SELECT * FROM posts WHERE user_id=1234 gibt zwei Einträge in der Tabelle zurück. Dies sind die Beiträge, die auch auf der Profilaktivitätsseite des Benutzers aufgeführt sind.
  • Die Webhook-Nutzlast enthält beim An- oder Abmelden dieses Benutzers "post_count": 0.
1 „Gefällt mir“

Hallo @dpb,

Ich habe getestet und die Beitragsanzahl wird nicht in Echtzeit aktualisiert.

Meine Vermutung ist, dass es einen Sidekiq-Job gibt, der sich periodisch darum kümmert, aber ich weiß nicht, welcher.
Es scheint keinen spezifischen damit zusammenhängenden Sidekiq-Job zu geben :thinking:
Aber ich habe gelesen, dass diese Statistik mindestens einmal täglich aktualisiert wird.

Eine GET-Anfrage an https://your-discourse.org/u/username.json gibt jedoch die richtige Zahl zurück.

Wenn Sie eine zuverlässige Zahl wünschen, führen Sie eine solche Anfrage nach Erhalt der Webhook-Nutzlast durch.

1 „Gefällt mir“

Danke @Canapin für den Vorschlag der GET-Anfrage an die API.

Nun, in unserem Fall sind die Beiträge schon seit über einem Monat da.

Vielleicht hat die Komponente, die diese Zahl aktualisiert, irgendwann bei einem der Updates aufgehört zu funktionieren?

Habe es getestet, funktioniert auch nicht. Enthält die gleichen Informationen: post_count: 0

Möglicherweise gibt es eine Verwechslung zwischen „Themen“ und „Beiträgen“. Ich hatte erwartet, dass das Erstellen eines neuen Themas nur eine spezielle Art von Beitrag ist. Die Datenbankstruktur unterstützt dies.
Aber bei der Überprüfung der Benutzerprofilstatistiken heißt es sinngemäß „2 Themen erstellt, 0 Beiträge erstellt“.
Könnte es also sein, dass die „post_count“, die ich erhalte, eher die Anzahl der Antworten auf Themen als die Anzahl aller Beiträge ist?
Andererseits gibt es ein Datum „last_posted_at“, das das Datum enthält, an dem das letzte Thema erstellt wurde. Zumindest gibt es hier eine Inkonsistenz in der Benennung. Ich würde erwarten, dass die Anzahl „post_count“ auch die ersten Beiträge in neuen Themen enthält.

Unabhängig davon, ob dies beabsichtigt ist oder nicht, finde ich in der Benutzer-JSON keine topic_count oder ähnliches. Wie finde ich die Gesamtzahl der Beiträge heraus, einschließlich neuer Themen?

Meine JSON-Kenntnisse sind noch etwas rudimentär, aber ich sehe die topic_count in https://meta.discourse.org/u/dpb/summary.json

1 „Gefällt mir“