AppBridgeError INVALID_CONFIG:必须提供主机

问题描述

我在尝试完成官方 shopify tutorial about developing shopify app 时遇到错误

我一直在一步一步地遵循教程,但即便如此,还是遇到了问题,抛出错误,即我的配置文件无效,因为它不包含主机。

我的_app.js文件代码如下:

driver = webdriver.Chrome(path)
driver.get(url)

elem1 = driver.find_elements_by_tag_name('img')

for j,i in enumerate(elem1):
    if j < 1:
        src = i.get_attribute('src')                # grab product image
        name = i.get_attribute('alt')               # grab product nanme
        try:
            if src != None:
                src  = str(src)                   
                urllib.request.urlretrieve(src,name+'.jpg')    # save image
            else:
                raise TypeError
        except Exception as e:              #catches type error along with other errors
            print(f'fail with error {e}')

配置文件的控制台提供了正确的 shopOrigin。 如果有人帮忙,我将不胜感激

解决方法

目前需要使用 App Bridge 版本 2,就像应用审核团队指出的那样:

确保您的应用在 Shopify App Bridge 2.0 版上以嵌入 您在商家管理员中的应用...

所以,我所做的是在我的数据库中保留商店名称(例如:toys.myshopify.com),编码为 base64 并在需要时发送类似 "host" 查询参数。>

const host = Buffer.from(`${shop}/admin`).toString('base64');
ctx.redirect(`${process.env.HOST}?shop=${shop}&host=${host}`);

注意我是如何在商店值后添加“/admin”的,这是很重要的一步,否则会出现 404 错误(找不到页面)。

,

所以我能够通过更改应用程序桥的版本来解决问题,我使用的是我认为有错误或无法配置的最新版本,

"@shopify/app-bridge-react": "^2.0.2" [NOT WORKING]
   "@shopify/app-bridge-react": "^1.30.0"   [CURRENT WORKING]
,

按照此链接中提到的步骤 How to fix App Bridge error: host must be provided 帮助我在不降级版本的情况下解决了问题