所以只是为了澄清我想做什么。
我确实不是想要将图像上传到产品。
我想使用文件 API 将文件上传到 files
我根本不太了解graphql。
我已经设置了一个私有应用程序,并设置了管理 API 的文件范围。
我已复制 Admin API 访问令牌,存储为
SHOPIFY_ACCESS_TOKEN
我正在使用shopify的php sdk
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 = <<<QUERY
mutation fileCreate(\$files: [FileCreateInput!]!) {
fileCreate(files: \$files) {
files {
alt
createdAt
}
}
}
QUERY;
$variables = [
"files" => [
"alt" => "this is a cat",
"contentType" => "IMAGE",
"originalSource" => "https://placekitten.com/1300/1300",
],
];
$response = $client->query(["query" => $query, "variables" => $variables]);
我直接从 FileCreate 文档复制了查询部分。
我从sdk文档中得到的
Context::initialize
。
返回的错误代码是
401{"errors":"[API] Invalid API key or access token (unrecognized login or wrong password)"}
我不确定从这里到哪里以及如何让它工作。
有人能看出我哪里出了问题吗?
这是您需要遵循此要点的实际流程,在 php 的 javascript 中,流程是相同的