oauth2.0 shopify.API_version.VersionNotFoundError Python

92vpleto  于 2023-10-15  发布在  Python
关注(0)|答案(1)|浏览(128)

我正在将Shopify与FastAPI集成以创建REST API端点。目前,我正在尝试使用应用程序授权卖家。这是密码

# Endpoint to authenticate a seller
@router.post("/authorize", response_class=ORJSONResponse)
def authorize_seller(auth_data: SellerAuth):

    # Start a Shopify session
    shopify.Session.setup(api_key=os.getenv("SHOPIFY_CLIENT_ID"), secret=os.getenv("SHOPIFY_CLIENT_SECRET"))
    
    shop_url = "c56-test-seller.myshopify.com"
    api_version = '2023-07'
    state = binascii.b2a_hex(os.urandom(15)).decode("utf-8")
    # redirect_uri = "http://myapp.com/auth/shopify/callback"
    redirect_uri = "http://127.0.0.1:8082"
    scopes = ['read_products', 'read_orders']

    newSession = shopify.Session(shop_url, api_version)
    auth_url = newSession.create_permission_url(scopes, redirect_uri, state)

    return ORJSONResponse(
        status_code=response_status.HTTP_200_OK,
        content=jsonable_encoder({"auth_url": auth_url}),
    )

但是,我得到了一个shopify.api_version.VersionNotFoundError。我已经将redirect_uri添加到我的合作伙伴 Jmeter 板上的URL列表中。错误跟踪告诉我,即使它是当前的稳定版本,也找不到该版本。

return cls.versions[version]
KeyError: '2023-07'
5vf7fwbs

5vf7fwbs1#

您正在使用的shopify_python_API包的版本(在撰写本文时是最新版本)似乎还不支持该特定的API版本。
https://github.com/Shopify/shopify_python_api/blob/master/shopify/api_version.py

@classmethod
    def define_known_versions(cls):
        cls.define_version(Unstable())
        cls.define_version(Release("2021-10"))
        cls.define_version(Release("2022-01"))
        cls.define_version(Release("2022-04"))
        cls.define_version(Release("2022-07"))
        cls.define_version(Release("2022-10"))
        cls.define_version(Release("2023-01"))
        cls.define_version(Release("2023-04"))

您可以尝试使用受支持的版本之一,或者等到他们将2023-07版本合并到python包中。

相关问题