Shopify Clearing Metafields Problem: "Wert kann nicht leer sein" Fehler, obwohl der Wert ausdrücklich auf "" "" ""Python

Python-Programme
Anonymous
 Shopify Clearing Metafields Problem: "Wert kann nicht leer sein" Fehler, obwohl der Wert ausdrücklich auf "" "" ""

Post by Anonymous »

Ich habe ein Problem, wenn ich versuche, Metafields mithilfe der Shopify GraphQL Admin-API (Version 2025-04) zu löschen (löschen). Mein Ziel ist es, die Metafield so zu entfernen, dass das Metafield nach dem Import für dieses Produkt nicht existiert. Nach den Richtlinien von Shopify sollte der Wert eines Metafield leer gelöscht werden (nicht nur auf eine leere Zeichenfolge festgelegt). Für Metafields, die gelöscht werden sollten, setze ich das Wertfeld explizit auf eine leere Zeichenfolge ("") und führe eine Mutation aus, um sie zu löschen: < /p>
if clear_fields:
query_clear = """
mutation ClearMetafields($metafields: [MetafieldsSetInput!]!) {
metafieldsSet(metafields: $metafields) {
metafields {
key
namespace
value
updatedAt
}
userErrors {
field
message
}
}
}
"""
< /code>
Meine Nutzlast für die Metafields, die ich löschen möchte, sieht so aus: < /p>
"metafields": [
{
"ownerId": "gid://shopify/Product/9722952974604",
"namespace": "custom",
"key": "data_spedito_da",
"value": "",
"type": "single_line_text_field"
},
{
"ownerId": "gid://shopify/Product/9722952974604",
"namespace": "custom",
"key": "data_venduto_da",
"value": "",
"type": "single_line_text_field"
}
// ... additional fields ...
]
}
< /code>
Trotzdem gibt die API immer einen Fehler zurück wie: < /p>
[{'field': ['metafields', '0', 'value'], 'message': "Value can't be blank."}, ...]< /code> < /p>
*
Ich habe verifiziert, dass die Nutzlast genau wie gezeigt gesendet wird (die Ausgabe der Protokollierung bestätigt, dass das Wertfeld vorhanden ist und auf "" festgelegt ist), doch der Fehler bleibt bestehen. HTTP -Anrufe und Watchdog zur Dateiüberwachung. Die Mutation sollte das Metafield löschen (oder zumindest in Abwesenheit führen), keinen leeren Wert hinterlassen. Gibt es einen empfohlenen Ansatz oder eine erforderliche Nutzlaständerung, mit der ich ein Metafield aktualisieren kann, damit sein Wert leer (gelöscht) wird, ohne den Metafield -Eintrag vollständig zu löschen? Wie kann ich im Wesentlichen einen Wert übergeben, der das Metafield leer macht - so dass mein Thema automatisch leere Werte verbirgt -, ohne den Fehler "Wert nicht leer" auszulösen? Danke im Voraus!
*< /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post