Zum Hauptinhalt springen

WooCommerce-Fehler: Sorry, you cannot list resources

So beheben Sie den WooCommerce-Veröffentlichungsfehler "Sorry, you cannot list resources" (401), wenn andere Produkte derselben Shop-Verbindung problemlos veröffentlicht werden.

Verfasst von Karolina Santiago

Wenn 3Dsellers beim Veröffentlichen eines Produkts auf WooCommerce "Sorry, you cannot list resources." (woocommerce_rest_cannot_view) anzeigt, andere Produkte derselben WooCommerce-Verbindung aber problemlos veröffentlicht werden, liegt die Ursache fast nie am API-Schlüssel. In den von uns untersuchten Fällen hat eine Sicherheitsregel auf dem Webserver des Shops (eine Firewall- oder ModSecurity-Regel) das Produkt wegen ganz gewöhnlicher Wörter in der Beschreibung abgelehnt, und WooCommerce hat daraufhin mit seinem Standard-Berechtigungsfehler geantwortet. Die Lösung liegt beim Hosting des Shops, nicht in 3Dsellers, und dauert nur wenige Minuten, sobald der Hosting-Anbieter weiß, wonach er suchen muss.

⭐ Schnelltest: Wenn dasselbe Produkt jedes Mal fehlschlägt, Produkte kurz davor oder danach aber erfolgreich veröffentlicht werden, springen Sie direkt zu "Was die eigentliche Ursache ist". Wenn jedes Produkt der Verbindung fehlschlägt, beginnen Sie mit "Zuerst die einfachen Ursachen ausschließen".

In diesem Artikel:

Woran erkenne ich, dass ich dieses Problem habe?

Das folgende Muster unterscheidet eine Server-Sicherheitsregel von einem echten Berechtigungsproblem. Wenn 3Dsellers ein Produkt auf WooCommerce veröffentlicht, sehen Sie Folgendes:

  • Der Fehler am Produkt in 3Dsellers lautet Sorry, you cannot list resources. und zeigt den Code woocommerce_rest_cannot_view, in der Regel mit HTTP-Status 401.

  • Dieselben ein oder zwei Produkte schlagen bei jedem erneuten Versuch fehl, über Tage hinweg, während andere Produkte desselben WooCommerce-Kontos erfolgreich veröffentlicht werden, teils nur Sekunden auseinander in derselben Massenaktion.

  • Ein neu erstellter WooCommerce-API-Schlüssel ändert nichts.

  • Das Produkt in WooCommerce zu löschen und aus 3Dsellers neu zu importieren oder erneut zu veröffentlichen ändert nichts.

  • Die fehlschlagenden Produkte haben meist längere Beschreibungen mit Marketingtexten.

⚠️ Die Item ID im Fehler-Popup von 3Dsellers ist die Produkt-ID im 3Dsellers-Katalog, nicht die WordPress-Beitrags-ID. Sie werden diese Nummer in Ihrem WordPress-Admin nicht finden, und das ist normal. Löschen Sie Produkte nicht und legen Sie sie nicht neu an, um den Fehler zu "bereinigen"; es handelt sich nicht um eine veraltete Zuordnung.

Was bedeutet "Sorry, you cannot list resources"?

Die Meldung wird von WooCommerce selbst innerhalb von WordPress erzeugt, wenn eine Anfrage den REST-API-Endpunkt für Produkte ohne gültige Zugangsdaten erreicht. 3Dsellers gibt sie unverändert weiter. Die vollständige Antwort Ihres Shops sieht so aus:

{"code":"woocommerce_rest_cannot_view","message":"Sorry, you cannot list resources.","data":{"status":401}}

Wörtlich genommen heißt das: "Wer diese Anfrage gesendet hat, darf keine Produkte lesen". Deshalb prüft man zuerst instinktiv den API-Schlüssel. 3Dsellers sendet aber für jedes Produkt der Verbindung denselben Consumer Key und dasselbe Consumer Secret. Wenn nur einige Produkte fehlschlagen, können die Zugangsdaten also nicht der Grund sein. Etwas auf Shop-Seite macht aus einer gültigen, authentifizierten Erstellungsanfrage eine nicht authentifizierte, bevor WooCommerce sie auswertet.

Zuerst die einfachen Ursachen ausschließen

Wenn jedes Produkt der WooCommerce-Verbindung mit diesem Fehler fehlschlägt, handelt es sich in der Regel um ein Berechtigungsproblem. Prüfen Sie zuerst diese drei Punkte in Ihrem WordPress-Admin:

  1. Berechtigungen des API-Schlüssels. Gehen Sie in WooCommerce zu Einstellungen, dann Erweitert, dann REST-API. Der für die Verbindung verwendete Schlüssel muss Lesen/Schreiben-Berechtigungen haben, nicht nur Lesen.

  2. Der WordPress-Benutzer hinter dem Schlüssel. Der API-Schlüssel gehört zu einem WordPress-Benutzer. Dieser Benutzer braucht eine Rolle, die Produkte verwalten darf (Shop-Manager oder Administrator). Ein Schlüssel, der unter einem Abonnenten- oder Kundenkonto erstellt wurde, liefert genau diesen Fehler bei jeder Anfrage.

  3. Die Verbindung selbst. Wurde der Schlüssel widerrufen oder neu erstellt, verbinden Sie den Shop in 3Dsellers mit dem neuen Consumer Key und Secret neu. WooCommerce-Schlüssel laufen nicht von selbst ab, aber ein widerrufener Schlüssel schlägt stillschweigend fehl, bis Sie neu verbinden.

Wenn alle drei Punkte korrekt sind und andere Produkte problemlos veröffentlicht werden, ist der API-Schlüssel nicht das Problem. Lesen Sie weiter.

Was die eigentliche Ursache ist, wenn nur einige Produkte fehlschlagen

Die meisten WordPress-Hostings betreiben eine Web Application Firewall (WAF) wie ModSecurity, Imunify360, Wordfence oder ein hosterspezifisches Regelwerk. Diese Firewalls durchsuchen jede eingehende Anfrage, auch das JSON, das 3Dsellers zum Anlegen eines Produkts sendet, nach Mustern, die wie Angriffe aussehen. Eine verbreitete Regelfamilie ist eine generische SQL-Injection-Heuristik, die anschlägt, wenn Wörter wie select und from im selben Text vorkommen.

Ganz normale Produkttexte lösen sie aus. In dem Fall, der zu diesem Artikel geführt hat, enthielt die Beschreibung oben "Charges select Galaxy S26 Series..." und weiter unten "...comfortable reach from outlets...". Die Firewall-Regel (ModSecurity-Regel 300016 bei diesem Hoster) erkannte das Paar "select ... from" und lehnte die Anfrage ab.

Darum erscheint das als Berechtigungsfehler und nicht als Firewall-Fehler:

  1. 3Dsellers sendet einen authentifizierten POST an /wp-json/wc/v3/products mit Consumer Key und Secret.

  2. Die Firewall-Regel erkennt Text in der Beschreibung und lehnt die Anfrage intern ab, bevor WooCommerce sie als Erstellung verarbeitet.

  3. Der Webserver liefert seine Fehlerantwort dann aus, indem er die Anfrage intern erneut ausführt. Dieser erneute Durchlauf ist ein einfacher GET ohne die ursprünglichen Zugangsdaten.

  4. WordPress führt den Produkt-Endpunkt ein zweites Mal ohne zugeordneten Benutzer aus, und WooCommerce antwortet korrekt mit "Sorry, you cannot list resources." und Status 401.

  5. Diese echte WooCommerce-Antwort kommt bei 3Dsellers an, sodass der Fehler wie eine normale API-Berechtigungsantwort aussieht.

💡 Da die Anfrage auf Webserver-Ebene abgelehnt wird, zeigen die Sicherheitsereignisse Ihres CDN (zum Beispiel Cloudflare) sowie die WordPress- und PHP-Fehlerprotokolle nichts zur fehlgeschlagenen Anfrage. Der Treffer ist nur im eigenen Protokoll der Firewall sichtbar, zum Beispiel im ModSecurity-Audit-Log auf dem Server.

So beheben Sie das Problem auf Shop-Seite

Die Lösung ist eine eingegrenzte Ausnahme auf dem Server des Shops, damit die Firewall-Regel nicht für den WooCommerce-Produkt-Endpunkt gilt. In 3Dsellers ändert sich nichts. Es gibt drei Wege dorthin, vom besten bis zum schnellsten:

Option

Was sie bewirkt

Wann sie sinnvoll ist

Eingegrenzte Regelausnahme (empfohlen)

Ihr Hoster oder Site-Administrator deaktiviert die betreffende Regel (oder ihre SQL-Injection-Gruppe) nur für /wp-json/wc/v3/products. Der Schutz bleibt für den Rest der Website vollständig aktiv.

Dauerhafte Lösung. Funktioniert für jedes zukünftige Produkt, egal was in der Beschreibung steht.

Integration auf die Whitelist setzen

Ihr Hoster setzt die IP-Adresse des 3Dsellers-Servers in der Firewall auf die Whitelist. Fragen Sie den Support nach der aktuellen Adresse; kopieren Sie sie nicht aus einem alten Ticket.

Wenn der Hoster eine Regel nicht auf einen Endpunkt eingrenzen kann. Etwas breiter als nötig.

Beschreibung umformulieren

Bearbeiten Sie die Produktbeschreibung so, dass die beiden auslösenden Wörter nicht mehr zusammen vorkommen, und veröffentlichen Sie erneut.

Als Schnelltest zur Bestätigung der Diagnose oder für ein einzelnes Produkt. Keine echte Lösung: Die nächste Beschreibung mit demselben Wortpaar schlägt wieder fehl.

Wenn Sie den Server selbst verwalten: Suchen Sie die Regel-ID im ModSecurity-Audit-Log-Eintrag der fehlgeschlagenen Anfrage und fügen Sie ein auf den Produkt-Endpunkt begrenztes SecRuleRemoveById für diese ID hinzu. Wenn Ihr Hoster ModSecurity für Sie verwaltet (cPanel, Plesk, Managed WordPress), eröffnen Sie ein Ticket und schicken Sie ihm den Text aus dem nächsten Abschnitt.

Was Sie Ihrem Hosting-Anbieter schicken sollten

Kopieren Sie diesen Text in Ihr Hosting-Ticket und füllen Sie die beiden Lücken aus. Er gibt dem Hoster alles, was er braucht, um die Regel in einem Durchgang zu finden.

"Anfragen zum Anlegen von Produkten von unserem Multichannel-Listing-Tool (3Dsellers) an /wp-json/wc/v3/products werden von einer Web-Application-Firewall-Regel auf unserem Server abgelehnt und als nicht authentifizierte Anfrage erneut ausgeliefert, sodass WooCommerce 401 woocommerce_rest_cannot_view ("Sorry, you cannot list resources.") zurückgibt. Andere Produkte mit demselben API-Schlüssel werden erfolgreich veröffentlicht, der Schlüssel ist also in Ordnung. Die fehlschlagenden Anfragen sind authentifizierte POSTs mit einem JSON-Body von etwa 4 KB, die gewöhnliche Produktbeschreibungen enthalten. Bitte prüfen Sie das ModSecurity- (oder vergleichbare WAF-) Audit-Log um [DATUM UND UHRZEIT DER FEHLGESCHLAGENEN VERÖFFENTLICHUNG] auf einen Regeltreffer an diesem Endpunkt, sehr wahrscheinlich eine generische SQL-Injection-Regel, die auf Wörter in der Produktbeschreibung anschlägt, und fügen Sie eine eingegrenzte Ausnahme für diese Regel-ID nur für /wp-json/wc/v3/products hinzu. Die betroffene Produkt-SKU ist [SKU]."

Die Uhrzeit der fehlgeschlagenen Anfrage wird beim Fehler in 3Dsellers angezeigt. Geben Sie dem Hoster die genaue Minute; Firewall-Protokolle sind groß, und ein Zeitfenster beschleunigt die Suche erheblich.

Das Produkt in 3Dsellers erneut veröffentlichen

Sobald der Hoster bestätigt, dass die Ausnahme eingerichtet ist, veröffentlichen Sie das Produkt erneut aus 3Dsellers. Sie müssen es weder in WooCommerce löschen noch neu importieren. Eine erfolgreiche Veröffentlichung liefert vom Shop den Status 201 Created, und das Produkt wechselt in Ihrem 3Dsellers-Katalog in den Live-Status. Schlägt sie mit demselben Fehler fehl, deckt die Ausnahme den Produkt-Endpunkt noch nicht ab, oder eine zweite Regel schlägt an; schicken Sie dem Hoster die neue Fehlerzeit.

⚠️ Testen Sie nicht, indem Sie das Produkt wiederholt löschen und neu anlegen. Jeder Versuch kann einen Entwurf oder ein Produkt im Papierkorb von WooCommerce hinterlassen, was später einen Fehler wegen doppelter SKU verursacht, wenn die eigentliche Veröffentlichung schließlich durchgeht. Falls Sie das bereits getan haben, leeren Sie vor dem erneuten Versuch den WooCommerce-Papierkorb für diese SKUs.

Fehlerbehebung

Jedes Produkt der Verbindung schlägt mit diesem Fehler fehl

Das ist ein Berechtigungsproblem, keine Firewall-Regel. Gehen Sie zurück zu "Zuerst die einfachen Ursachen ausschließen": Prüfen Sie, ob der API-Schlüssel Lesen/Schreiben hat, ob der WordPress-Benutzer dahinter Produkte verwalten darf und ob die Verbindung den aktuellen Schlüssel verwendet.

Meine Cloudflare- und Server-Protokolle zeigen nichts zur fehlgeschlagenen Anfrage

Das ist die typische Signatur dieses Problems, kein Gegenbeweis. Das CDN leitet die Anfrage unverändert durch, die WordPress- und PHP-Fehlerprotokolle sehen eine abgelehnte Anfrage nie, und das Access-Log zeichnet nur den abschließenden 401 auf. Fragen Sie den Hoster gezielt nach dem ModSecurity- oder WAF-Audit-Log.

Dasselbe Produkt lässt sich problemlos veröffentlichen, wenn ich es manuell anlege

Die manuelle Erstellung läuft über den WordPress-Admin, einen anderen Pfad mit anderen Firewall-Regeln und oft einer kürzeren oder anders formatierten Beschreibung. Die API-Anfrage von 3Dsellers enthält die vollständige Beschreibung in einem einzigen JSON-Body, und genau den prüft die Regel. Dieser Unterschied ist normal und bedeutet nicht, dass 3Dsellers fehlerhafte Daten sendet.

Ich habe die Beschreibung umformuliert und es wurde veröffentlicht. Bin ich fertig?

Die Diagnose ist bestätigt, aber die Regel ist weiterhin aktiv. Das nächste Produkt, dessen Beschreibung zufällig dasselbe Wortpaar enthält, schlägt genauso fehl. Bitten Sie Ihren Hoster um die eingegrenzte Ausnahme, damit Sie Ihre Produkttexte nicht überwachen müssen.

Die fehlgeschlagene Veröffentlichung hat deutlich länger gedauert als eine erfolgreiche

Das passt zu dieser Ursache. Im untersuchten Fall dauerten die abgelehnten Anfragen 1,7 bis 1,9 Sekunden gegenüber etwa einer halben Sekunde bei einer normalen Anfrage, weil WordPress zweimal lief (einmal für die ursprüngliche Anfrage, einmal für den internen erneuten Durchlauf). Ein nützlicher Hinweis für den Hoster.

FAQ

Ist "Sorry, you cannot list resources" ein Problem mit dem API-Schlüssel?

Nur wenn jedes Produkt der Verbindung fehlschlägt. Wenn andere Produkte desselben WooCommerce-Kontos erfolgreich veröffentlicht werden, ist nachgewiesen, dass der von 3Dsellers verwendete API-Schlüssel funktioniert, und der Fehler stammt von einer serverseitigen Sicherheitsregel, die bestimmte Produktinhalte ablehnt.

Ist das ein Fehler in 3Dsellers?

Nein. 3Dsellers sendet eine standardmäßige, authentifizierte WooCommerce-REST-API-Anfrage zum Anlegen eines Produkts, dieselbe, die für die anderen Produkte des Verkäufers erfolgreich ist. Die Ablehnung erfolgt auf dem Server des Shops, bevor WooCommerce die Anfrage auswertet. 3Dsellers kann die Firewall-Regeln eines Hosting-Anbieters nicht ändern, deshalb muss die Lösung auf Shop-Seite erfolgen.

Welche Wörter in einer Beschreibung lösen die Firewall aus?

Das hängt vom Regelwerk Ihres Hosters ab. Im bestätigten Fall war es eine generische SQL-Injection-Heuristik, die auf "select" und "from" im selben Text reagierte. Weitere häufige Auslöser in denselben Regelfamilien sind "union", "insert", "update ... set", "drop", "script" sowie lange Folgen von Anführungszeichen oder Klammern. Versuchen Sie nicht, diese Wörter zu umschreiben; bitten Sie stattdessen um die eingegrenzte Ausnahme.

Ist es sicher, die Regel zu deaktivieren?

Eine auf /wp-json/wc/v3/products begrenzte Ausnahme lässt den SQL-Injection-Schutz für alle anderen Bereiche der Website vollständig aktiv, einschließlich Checkout, Login und WordPress-Admin. Der Produkt-Endpunkt erfordert ohnehin einen gültigen WooCommerce-API-Schlüssel, sodass die Ausnahme nur authentifizierte API-Clients wie Ihr Listing-Tool betrifft.

Hilft es, das Produkt aus 3Dsellers erneut zu veröffentlichen?

Nicht für sich allein. Ein erneuter Versuch aus 3Dsellers schlägt jedes Mal identisch fehl, weil die Firewall-Regel deterministisch ist: Dieselbe Beschreibung führt zur selben Ablehnung. Ein erneuter Versuch ist erst sinnvoll, wenn die Regelausnahme im Shop eingerichtet ist.

Warum finde ich die Item ID aus dem Fehler nicht in meinem WordPress-Admin?

Weil es keine WordPress-Beitrags-ID ist. Die Item ID im Fehler-Popup von 3Dsellers identifiziert das Produkt in Ihrem 3Dsellers-Katalog. WooCommerce vergibt seine eigene Beitrags-ID erst, nachdem ein Produkt erfolgreich angelegt wurde, und in diesem Szenario wurde das Produkt nie angelegt.

Verwandte Artikel

Hat dies deine Frage beantwortet?