Ich möchte NICHT ein Bild zu einem Produkt hochladen .
Ich möchte die Datei-API verwenden, um eine Datei in Dateien hochzuladen
Ich kenne graphql überhaupt nicht sehr gut.
Ich habe eine private App eingerichtet und die Dateibereiche für die Admin-API festgelegt.
Ich habe das Admin-API-Zugriffstoken kopiert, gespeichert als SHOPIFY_ACCESS_TOKEN
Ich verwende die PHP-SDK-Klasse von shopify
Code: Select all
Context::initialize(
env('SHOPIFY_API_KEY'),
env('SHOPIFY_API_SECRET'),
env('SHOPIFY_APP_SCOPES'),
env('SHOPIFY_DOMAIN'),
new FileSessionStorage('/tmp/php_sessions'),
env('SHOPIFY_API_VERSION'),
false,
true,
);
$client = new Graphql(env("SHOPIFY_DOMAIN"), env("SHOPIFY_ACCESS_TOKEN"));
$query = "IMAGE",
"originalSource" => "https://placekitten.com/1300/1300",
],
];
$response = $client->query(["query" => $query, "variables" => $variables]);
Der Context::initialize habe ich aus den SDK-Dokumenten erhalten.< /p>
Der zurückgegebene Fehlercode lautet
Code: Select all
401{"errors":"[API] Invalid API key or access token (unrecognized login or wrong password)"}
Kann jemand sehen, wo ich möglicherweise einen Fehler gemacht habe? ?
Edit: 20231112
Ein riesiges Dankeschön an @hamzasgd für die tollen Infos.Ich habe es geschafft, es mit PHP zum Laufen zu bringen Großartig.
Mein Authentifizierungsproblem bestand darin, dass ich den Store-Front-API-Schlüssel anstelle des Admin-API-Schlüssels in die Methode Context::initialize übergeben habe.
Es hätte so sein sollen
Code: Select all
Context::initialize(
env('SHOPIFY_API_KEY'),
env('SHOPIFY_ACCESS_TOKEN'),
env('SHOPIFY_APP_SCOPES'),
env('SHOPIFY_DOMAIN'),
new FileSessionStorage('/tmp/php_sessions'),
ApiVersion::LATEST,
false,
true,
);