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

使用R的httr包调用Shopify API获取开发店铺订单遇阻

解决httr调用Shopify API获取订单的问题

我来帮你排查下这个问题,我之前用httr对接Shopify API的时候也踩过类似的坑~你的代码主要有几个需要修正的地方,我一步步给你说:

1. 缺失HTTPS协议头

Shopify API强制要求使用HTTPS协议发起请求,你的URL里没有加https://,这会导致httr无法正确识别请求地址,直接抛出错误或者请求失败。

2. 确认私有应用权限

别忘了检查你的私有应用是否开启了读取订单(read_orders)的权限。在Shopify后台创建私有应用时,需要手动勾选对应的权限,否则即使认证信息正确,也会返回403禁止访问的错误。

修正后的完整代码

library(httr)

apikey <- "foo"  # 替换成你的实际API密钥
pass <- "bar"    # 替换成你的实际私有应用密码

# 修正URL,添加HTTPS协议
shop_response <- GET(
  url = "https://my-test-store.myshopify.com/orders.json",
  authenticate(user = apikey, password = pass),
  # 添加User-Agent,Shopify推荐指定,避免被服务器拦截
  user_agent("MyCustomShopifyApp/1.0")
)

# 先检查请求状态码,快速定位问题
cat("请求状态码:", status_code(shop_response), "\n")

# 如果状态码是200,解析返回的订单数据
if (status_code(shop_response) == 200) {
  orders_data <- content(shop_response, "parsed")
  print(orders_data$orders)
} else {
  # 打印错误信息帮助排查
  print(content(shop_response, "text"))
}

调试小技巧

  • 如果返回401 Unauthorized:检查API密钥和密码是否复制正确,私有应用的“API key”和“Password”是两个不同的字段,别搞混了。
  • 如果返回403 Forbidden:回到Shopify后台的私有应用设置,确认已经勾选了read_orders权限,保存后重新发起请求。
  • 如果返回404 Not Found:检查店铺域名是否正确,确保没有拼写错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:04:18