【问题标题】:Python throwing error when trying to pull order data via Shopify API尝试通过 Shopify API 提取订单数据时 Python 抛出错误
【发布时间】:2018-12-21 05:26:00
【问题描述】:

我正在尝试使用这个简单的 python 脚本从我的 shopify 管理员中提取订单数据,但不断收到此错误消息(根据终端和崇高文本似乎来自第 6 行)TypeError:不是全部在字符串格式化期间转换的参数:
这是脚本,

import shopify

API_KEY = 'xxxxxxxxxxxxxxx'
PASSWORD = 'xxxxxxxxxxx'
SHOP_NAME = 'Shop name goes here'
shop_url = "https://xxxxxxxxxxxxx@xxxxxxxxxx.myshopify.com/admin" % (API_KEY, PASSWORD, SHOP_NAME)
shopify.ShopifyResource.set_site(shop_url)
shop = shopify.Shop.current()

order = shopify.Order()
num = order.count()
print num
success = order.find()
print success
der.save()
print success

我对自己做错了什么感到茫然,并尝试以各种方式更改第 6 行,因为这显然是错误的来源(来自终端/崇高文本告诉我的内容。感谢任何输入,我是完全是 Python 新手。

谢谢!

【问题讨论】:

    标签: python python-3.x shopify


    【解决方案1】:
    shop_url = "https://xxxxxxxxxxxxx@xxxxxxxxxx.myshopify.com/admin" % (API_KEY, PASSWORD, SHOP_NAME)
    

    将上面的行替换为

    shop_url = "https://xxxxxxxxxxxxx@xxxxxxxxxx.myshopify.com/admin/%s%s%s" % (API_KEY, PASSWORD, SHOP_NAME)
    

    使用 '%' 运算符使用传统字符串格式的正确方法是使用 printf 样式的格式字符串(此 here 的 Python 文档):

    "'%s' 长于 '%s'" % (name1, name2)

    但是,'%' 运算符将来可能会被弃用。新的 PEP 3101 处事方式是这样的。

    "'{0}' 长于 '{1}'".format(name1, name2)

    【讨论】:

    • 如果对您有帮助,请接受答案。谢谢!
    【解决方案2】:

    行 shop_url = "...

    应该是这种格式

    shop_url = "https://%s:%s@SHOP_NAME" % (API_KEY, PASSWORD)

    您正在传递 shop_VAR 和 API,传递给 s% 键以制作 URL

    【讨论】:

      猜你喜欢
      • 2014-12-02
      • 2021-09-18
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 2019-11-22
      • 2016-09-27
      • 1970-01-01
      • 2013-07-22
      相关资源
      最近更新 更多