Ich markiere bestimmte Beiträge mit der API und Python. Dies hat mehrere Jahre funktioniert, bis zu einem kürzlichen Upgrade auf 3.2.0.beta4-dev. Jetzt erhalte ich DiscourseClientError: You are not permitted to view the requested resource. Mein API-Schlüssel ist immer noch gültig und nicht widerrufen. Reverse-Engineering durch manuelles Markieren eines Beitrags zeigt, dass sich die Nutzlast für das Markieren nicht geändert hat (außer vielleicht dem Wert von flag_topic, aber das scheint keine Rolle zu spielen). Irgendwelche Ideen?
Eine kürzliche Änderung bei der Markierung war die Umstellung auf eine gruppenaktivierte Einstellung anstelle einer Vertrauensstufeneinstellung (flag post allowed groups), könnte das in irgendeiner Weise damit zusammenhängen?
Vielleicht haben also „Alle Benutzer“ keine Berechtigung mehr, etwas zu markieren, und ich benötige einen neuen API-Schlüssel für einen einzelnen Benutzer, der die Berechtigung hat (z. B. mich selbst)? Es ist mir nicht klar, was „Alle Benutzer“ bedeutet. TL0?
Theoretisch, da sich die Standardeinstellung von TL1 während des Wechsels der Einstellungen nicht geändert hat, hätte ich gedacht, dass dieselben Berechtigungen für den API-Schlüssel weiterhin funktionieren würden, obwohl es jetzt auf Gruppen statt auf Vertrauensstufen basiert, könnte etwas anderes eine Auswirkung haben. Es gab einen Bericht, dass die Sichtbarkeit der Gruppe ein Faktor bei einer anderen Eigenart war, die bei einer der anderen Einstellungen aufgetreten ist, die in das Gruppen-erlaubt-Format verschoben wurde. Haben Sie die Sichtbarkeit Ihrer TL1-Gruppe zu irgendeinem Zeitpunkt geändert?
Ich habe es auch mit einem neuen API-Schlüssel versucht, diesmal für einen einzelnen Benutzer „discobot“ (mein Webhook läuft als Benutzer discobot), und da discobot TL0 ist, habe ich flag post allowed groups auf TL0 geändert. Immer noch derselbe Fehler – You are not permitted to view the requested resource.
Es funktioniert jetzt, nachdem @discobot auf TL1 erhöht wurde. Ich bin mir nicht sicher, was die Schlussfolgerung ist – stellen Sie einfach sicher, dass Ihr Benutzer sowohl die Vertrauensstufen- als auch die gruppenbasierten Einstellungen erfüllt. Selbst dann kann ich nicht erklären, warum es früher funktionierte und dann kaputt ging.
Hmm. Ich bin mir nicht sicher Aber ich bin froh, dass es jetzt funktioniert. Ich habe den Entwickler, der die Änderung vorgenommen hat, kontaktiert, um zu sehen, ob es noch mehr dazu gibt, aber wir warten vielleicht auf weitere Berichte, um tiefer zu graben, jetzt, da Sie Ihre wieder zum Laufen gebracht haben.
Nun, es funktionierte für kurze Zeit – vielleicht einen Tag. Dann verliert @discobot wieder seine Fähigkeit, Beiträge zu markieren. Um es klarzustellen, dies hat nichts mit der API zu tun – wenn ich @discobot nachahme und Themen durchsuche, ist das Flag-Symbol nicht verfügbar. Wenn ich dann die Vertrauensstufe von @discobot ändere – auch auf eine niedrigere Stufe –, erscheinen die Flag-Symbole wieder. Ich werde versuchen, es besser zu charakterisieren, aber irgendetwas scheint falsch zu sein.
Außerdem weiß ich nicht, ob das Problem nur bei @discobot auftritt. Ich benutze @discobot nur, weil er der Benutzer ist, von dem man natürlich erwarten würde, dass er Beiträge automatisch markiert. Und es hat jahrelang funktioniert.
Ich glaube, Sie müssen sich an einen anderen Benutzer wenden. Es gibt eine Art Magie, die Discobot und System aus den Vertrauensstufengruppen entfernt, sodass alles, was auf Vertrauensstufengruppen basiert und diese Benutzer verwendet, zu seltsamen Ergebnissen führt (sie werden derzeit jedes Mal wieder hinzugefügt, wenn Sie Ihr Forum aktualisieren, und dann nach kurzer Zeit wieder entfernt).
Wenn Sie einen bestimmten Testbenutzer erstellen könnten, um dies auszuprobieren, wären die Ergebnisse viel klarer.