FROM CACHE - de_header

401 Fehler bei Upload

401 Fehler bei Upload

Paddy3000
Shopify Partner
16 0 2

Hallo zusammen,

ich habe eine private App im Shopify Admin-Bereich erstellt.  Im Postman klappen Download und Upload, aber von meinem Server aus, nur der Download. Beim Upload von Daten, wird mir ein 401 Statuscode zurückgegeben und die Shopdaten -> Kategorien) bleiben unverändert.

Kann mir irgendjemand sagen, woran das liegt?

Könnte das was mit veralteten SSL-Zertifikaten zu tun haben oder habe ich irgendwas Grundsätzliches in Sachen Authentifizierung verpasst?

 

Ich habe euch mal meinen Code (JavaScript und Kommentare) angehängt:

 

//Produziert 400 + 401
function uploadCategoriesSFY() {
var settings = {
"url": "https://shop123456.myshopify.com/admin/api/2023-10/custom_collections.json",
//"url": "https://110a...:321@shop123456.myshopify.com/admin/api/2023-10/custom_collections.json",
//Liefert ebenfalls einen 401
"method": "POST",
"timeout": 0,
"headers": {
"X-Shopify-Access-Token": "sh.._de1123....",
//"X-Shopify-Access-Token" produziert einen 401
/*
Fri Feb 16 15:05:05 CET 2024: API RESPONSE: {
"responseCode": 401,
"errorResponse": "{\"errors\":\"[API] Invalid API key or access token (unrecognized login or wrong password)\"}"
}
*/
"Authorization": "Basic 456..",
/*
* //Authorization im Header produziert einen 400
Fri Feb 16 15:02:30 CET 2024: API RESPONSE: {
"responseCode": 400,
"errorResponse": "{\"errors\":{\"custom_collection\":\"Required parameter missing or invalid\"}}"
}
*/
"Content-Type": "application/json"},
"data": JSON.stringify({
"custom_collection": {
"title": "SSLTEST",
"body_html": "Description of the collection",
"sort_order": "manual",
"template_suffix": "your_template_suffix",
"published_scope": "web"
}
})
};

 

LG Patrick

1 ANTWORT 1

Ben310
Seefahrer
471 71 125

Dein Code verwendet sowohl den X-Shopify-Access-Token als auch eine Basic Authorization im Header für die Authentifizierung. Shopify erwartet jedoch für API-Zugriffe, die auf private Apps basieren, spezifisch den X-Shopify-Access-Token Header mit einem gültigen Zugriffstoken. Die Verwendung von Basic Authorization (mit API Key und Password) ist in diesem Kontext nicht erforderlich und kann entfernt werden, sofern du dich auf den Zugriff über einen gültigen Access Token stützt. Du verwendest auch die API-Version 2023-10. Stelle sicher, dass diese Version aktuell unterstützt wird und alle Endpunkte, die du zu nutzt, in dieser Version verfügbar und unverändert sind.

 

Des Weiteren

Ein 401-Fehler kann auftreten, wenn die Anfragestruktur fehlerhaft ist oder erforderliche Parameter fehlen. Stelle auch sicher, dass du den korrekten Admin API-Zugriffstoken verwendest und das es nicht abgelaufen oder falsch ist bzw. direkt in der privaten App unter "API Credentials" generiert wurde. Früher wurden Tokens aus dem API-Key und dem Secret generiert, was jetzt nicht mehr funzt m. E.

 

Wenn du einen Online-Token verwendest, der nach 24 Stunden abläuft dann besser einen Offline-Token verwenden, der nicht abläuft v.a. wenn deine App dauerhaften Zugriff auf den Shop benötigt, ohne dass eine erneute Authentifizierung erforderlich ist. 

 

Shopify hatte ja auch angekündigt, dass private Apps automatisch zu benutzerdefinierten Apps (Custom Apps) konvertiert werden (zwischen dem 19. und dem 20. Januar 2023). Benutzerdefinierte Apps bieten alle Funktionen, die private Apps angeboten hatten, und verbessern darüber hinaus die Sicherheit. Dies bedeutet, dass eigentlich die Nutzung von privaten Apps nicht mehr möglich ist und stattdessen benutzerdefinierte Apps verwendet werden sollten, um ähnliche Funktionalitäten innerhalb des Shopify-Systems zu realisieren​​​​​​.

 

Wenn du also eine private App entwickelt oder genutzt hast, solltest du eine benutzerdefinierte App stattdessen in Betracht ziehen.