我很新,在shopify scriptTag上运行GraphQL查询时遇到一些困难。
我当前的代码如下:
const test4 = gql`
query {
scriptTags(first: 4) {
edges {
node {
id
src
}
}
}
}
`;
const GiveData = () => (
<Query query={test4}>
{({ loading, error, data }) => {
if (loading) return "Loading...";
if (error) return `Error! ${error.message}`;
return (
<div>
<p> hi1 </p>
{data.scriptTags.edges.map(({ node }) => (
<div key={node.src}>
<p>
hi2 {node.src}
</p>
</div>
))}
</div>
);
}}
</Query>
);
我的页面正在呈现“ hi1”文本段落,但是“ hi2”和实际数据从不加载。我的控制台也没有输出任何错误。
如果我通过Shopify GraphiQL App运行查询代码,则查询代码本身可以完美地工作,所以我认为不是那样。我相信我在GiveData常量中做错了事,但不确定是什么。
在此先感谢您的帮助或提示。
更多上下文: 我有一个基本的shopify应用设置,使用react + node.js设置(基于shopify的模板和教程)。
我的server.js文件包含以下脚本标记范围:
...
createShopifyAuth({
apiKey: SHOPIFY_API_KEY,
secret: SHOPIFY_API_SECRET_KEY,
scopes: ['read_products', 'write_products', 'read_script_tags', 'write_script_tags'],
...
我已经能够编写一个脚本标签,因为它显示在 Shopify GraphiQL应用程序。 Screenshot of output
我还能够从其他GraphQL查询中获得输出。例如
const test3 = gql`
query {
shop {
id
}
}
`;
如果我的返回字段中有... {data.shop.id} ...,则具有与上述相同的基本GiveData常量,将输出结果。
我主要是想查询自己能够编写的脚本标签(不是我的应用程序之外的任何内容)。
答案 0 :(得分:0)
这将有助于您了解通话的上下文。在Shopify GraphiQL中,显然您已通过身份验证,设置了端点,一切都很好。远离这一点,您的责任就会增加。您可以使用私有App API密码查询,也可以使用带有oAuth令牌(可对脚本标签进行范围访问)的常规App进行查询。哪有
在不了解自己正在做的事情的情况下,很难帮助您。另外,Shopify会向您显示不属于创建它们的API密钥(即您的API密钥)的任何脚本标签的可能性很小。