Dedicated to the Hydrogen framework, headless commerce, and building custom storefronts using the Storefront API.
Hello,
I went through the complete process to upload various images via mutation stagedUploadsCreate and curl my image to the server. Validation of signature worked well and this is the XML I receive (edited for privacy):
SimpleXMLElement Object
(
[Location] =>https://shopify.s3.amazonaws.com/tmp%2F22234122211%2Fproducts%2Fe111111-6546-46b8-9a5d-39eaff9788e0%2Ftest1.jpg
[Bucket] => shopify
[Key] => tmp/2F22234122211/products/e111111-0874-4686-8ea0-9bd49352a134/test2.jpg
[ETag] => "c3eb74a45fe07cacfffd1c111793f13"
)
What I don't understand is that I cannot access the image via HTTP.
I tried several locations:
- https://shopify.s3.amazonaws.com/tmp%2F22234122211%2Fproducts%2Fe111111-6546-46b8-9a5d-39eaff9788e0%2Ftest1.jpg
- https://shopify.s3.amazonaws.com/tmp/22234122211/products/e111111-6546-46b8-9a5d-39eaff9788e0/test1.jpg
- https://myshopsubdomain.shopyfy.com/tmp/22234122211/products/e111111-6546-46b8-9a5d-39eaff9788e0/test1.jpg
This does not work. 2 things that came to mind.. there is still a /tmp in the URL.
When I did the graphql call I got back ACL private. Changing that manually to public on the curl is not allowed and gives an error message.
How to enforce a different ACL?
Regards
The XML I receive looks like this (edited).
Noticed that it still says /tmp and I noticed that the ACL is private and could not be changed to public.
I'd appreciate a hint in the right direction.
Solved! Go to the solution
This is an accepted solution.
Ok, after a successful https://shopify.dev/api/admin-graphql/2022-04/mutations/stageduploadscreate I just needed to call a https://shopify.dev/api/admin-graphql/2022-01/mutations/filecreate.
Cheers
This is an accepted solution.
Ok, after a successful https://shopify.dev/api/admin-graphql/2022-04/mutations/stageduploadscreate I just needed to call a https://shopify.dev/api/admin-graphql/2022-01/mutations/filecreate.
Cheers