如何修复“shopify.api_version.VersionNotFoundError”

问题描述 投票:0回答:3

我正在使用 Python、Flask 和 Shopify 嵌入式 SDK 构建一个简单的“Hello World”。按照本教程 ----> https://medium.com/@dernis/shopify-embedded-sdk-with-python-flask-6af197e88c63.

完成所有工作后,当我转到链接“https://localhost:5000/shopify/install?shop=khawaja-kaleem-com.myshopify.com”安装应用程序以测试商店时,它给了我这个错误。需要修复它。

shopify.api_version.VersionNotFoundError.

TRACEBACK (MOST RECENT CALL LAST)
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\92344\Anaconda3\lib\site-packages\flask\app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\92344\Downloads\HelloShopify-master\helloshopify\shopify_bp\views.py", line 36, in install
session = shopify.Session(shop_url)
File "C:\Users\92344\Anaconda3\lib\site-packages\shopify\session.py", line 47, in __init__
self.version = ApiVersion.coerce_to_version(version)
File "C:\Users\92344\Anaconda3\lib\site-packages\shopify\api_version.py", line 18, in coerce_to_version
raise VersionNotFoundError
shopify.api_version.VersionNotFoundError
python flask shopify
3个回答
2
投票

ShopifyAPI 包在“shopify/api_version.py”文件中指定允许的版本。就我而言,Shopify 平台最新 API 版本是“2022-10”,但 ShopifyAPI 包允许的最新版本是“2022-07”。

Shopify平台上发布新的API版本后,ShopifyAPI包似乎并不总是很快更新。尝试将 API 版本与允许解决此错误的版本之一对齐。


1
投票

您需要指定您希望使用的 API 版本。在拨打任何电话之前设置版本。目前默认为 2020-10。

查看文档,它向您解释了一切。

https://help.shopify.com/en/api/versioning


0
投票

我找到了一种新的方法来添加python sdk未包含的版本。

from shopify import ApiVersion, Release
ApiVersion.define_version(Release("2023-07"))

这里是源代码,如果您对shopify api sdk感兴趣。

@classmethod
    def define_version(cls, version):
        cls.versions[version.name] = version
        return version

    @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"))

所以,我们只需要通过调用方法:define_version 添加一个新版本。 顺便说一下,我使用的sdk版本是:ShopifyAPI==12.3.0。

© www.soinside.com 2019 - 2024. All rights reserved.