代码之家  ›  专栏  ›  技术社区  ›  Ben

如何使用Shopify的API获取Shopify商店订单

  •  0
  • Ben  · 技术社区  · 6 年前

    我正在努力使用 httr 包在R。这是我试过的。

    1. 我创建了一个 development store 还下了一些假订单。
    2. 在我的开发商店中,我添加了一个私人应用程序,并生成了API密钥和密码
    3. 下列的 this article ,我尝试实现以下请求

    密码

    apikey <- "foo"
    pass <- "bar"
    
    shop <- GET(
      url = "my-test-store.myshopify.com/orders.json", 
      authenticate(user = apikey, password = pass)
    )
    

    但这给出了401状态码。但是,这可以工作,但会返回xml而不是json

    shop <- GET(
      url = "my-test-store.myshopify.com/orders", 
      authenticate(user = apikey, password = pass)
    )
    

    如何将结果检索为JSON而不是XML?

    注意,我还可以使用R包获取订单 shopifyr 但宁愿不使用该软件包,因为它已不再维护。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Josh Brown    6 年前

    你很接近了。尝试以下操作:

    library(httr)
    
    apikey <- "foo"
    pass <- "bar"
    
    orders <- GET(
      url = "https://yourshop.myshopify.com/admin/orders.json", 
      authenticate(user = apikey, password = pass)
    )
    
    content(orders)
    
        2
  •  0
  •   Ben    4 年前

    更新2019-05-13

    我创建了一个名为 shopr 用于通过Shopify API查询数据。获取订单如下所示

    library(shopr)
    
    shopr_get_orders(
      shopURL = "https://my-test-store.myshopify.com", 
      APIKey = "abc123", 
      APIPassword = "def456"
    )
    

    旧答案

    找到了答案。

    orders <- GET(
      url = "https://my-test-store.myshopify.com/admin/orders",
      add_headers(Accept = "application/json"),
      authenticate(user = apikey, password = pass)
    )
    orders
    

    诀窍是明确地提出“https://...“在url中,否则httr会在url前面加上”http://“,导致我的401问题。