使用Remix结合Shopify GraphQL创建文件遇问题求助
解决Shopify GraphQL fileCreate创建新文件的参数问题
当你要创建新的空白文件时,originalSource参数不需要传,而不是传空字符串或null。你之前的错误根源是主动传入了无效值,触发了Shopify的校验逻辑。
正确的变量配置如下:
{ variables: { files: [ { contentType: "FILE", filename: "foobar.liquid" }, ] } }
错误原因拆解
- 传
originalSource: "":Shopify会尝试解析空字符串作为文件源,无法匹配.liquid扩展名,因此抛出扩展名不匹配的错误。 - 传
originalSource: null:虽然文档标注该参数非必填,但它的类型是URL而非可空的URL,显式传null会被GraphQL输入校验直接拒绝,所以提示“Expected value to not be null”。
补充说明
如果需要创建带内容的文件,不能直接通过这种方式实现,得先通过Shopify的文件上传能力(比如使用Upload scalar)上传文件内容,再将返回的URL作为originalSource传入。但如果只是创建空白文件,直接省略originalSource参数即可。
内容的提问来源于stack exchange,提问作者FabricioG
相关产品推荐
相关产品推荐

