You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用shopifyapi访问Shopify Storefront时出现TypeError错误求助

报错根因

这个错误是因为shopify.ShopifyResource.get_site()返回了None空值,代码里直接把空值和字符串/graphql.json做拼接运算,触发了类型不匹配的错误。
本质是你在调用Storefront GraphQL接口前,没有完成shopifyapi库的全局身份认证配置,Shopify资源的站点参数没有被正确初始化。
常见触发场景:

  • 未调用shopify.ShopifyResource.set_site()或者会话激活方法,站点地址未赋值
  • 初始化会话时传入的店铺域名、API版本、Token参数错误,导致会话激活失败,站点参数未写入
  • 之前激活的会话过期或被手动清空后,没有重新初始化就直接调用GraphQL接口
解决步骤
  • 第一步:在调用任何Shopify接口前,先完成会话激活配置,示例代码如下:
import shopify

# 替换为你自己的店铺对应参数
SHOP_DOMAIN = "your-shop.myshopify.com"
API_VERSION = "2024-04"
# 用Storefront API的话需要填你应用生成的Storefront专用AccessToken
ACCESS_TOKEN = "your-access-token"

# 初始化并激活会话
session = shopify.Session(SHOP_DOMAIN, API_VERSION, ACCESS_TOKEN)
shopify.ShopifyResource.activate_session(session)
  • 第二步:可以在拼接endpoint前增加空值校验,提前拦截配置错误的场景:
shop_site = shopify.ShopifyResource.get_site()
if not shop_site:
    raise ValueError("Shopify站点未初始化,请先完成会话配置")
self.endpoint = f"{shop_site}/graphql.json"
  • 额外检查:确认你使用的Token对应应用已经开通了Storefront API的访问权限,权限不足也会导致会话配置失效。

内容的提问来源于stack exchange,提问作者Cherry_deve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:06:08