Shopify app Error! 一站式解决方案-shopify error

本文详细描述了解决Shopify应用开发过程中遇到的cloudflare隧道未知错误、500InternalServerError以及授权问题的解决方法,包括使用ngrok、定制隧道URL和验证网络设置。
摘要由CSDN通过智能技术生成
  1. 解决启动时的问题:unknown error

    报错会提示:
    What to try: │
    │ • Run the command again │
    │ • Add the flag `--tunnel-url {URL}` to use a custom tunnel URL
    等问题时
    科学上网,访问以下链接:
    shopify app 问题反馈: unknown erroricon-default.png?t=N7T8https://community.shopify.com/c/technical-q-a/cloudflare-tunnel-error-quot-could-not-start-cloudflare-tunnel/m-p/2283719

    下载好 ngrok 后,如果直接搬移作者源码过去时,注意本地不要用相同的 3000 端口被占用
     
  2. 上个问题解决后,拿着 图里的链接 (也就是 Preview URL) 去访问时,出现第二个问题:
    › Press d │ toggle development store preview: ✔ on
    › Press g │ open GraphiQL (Admin API) in your browser
    › Press p │ preview in your browser
    › Press q │ quit
    
    Preview URL: https://*****.myshopify.com/admin/oauth/redirect_from_cli?client_id=****
    GraphiQL URL: http://localhost:3457/graphiql
         1. 访问出现:500 Internal Server Error
         2. 控制台有错误信息:No valid session found   |   Requesting offline access token

        请访问以下链接:
githup 作者回复icon-default.png?t=N7T8https://github.com/Shopify/shopify-app-template-remix/issues/561       

        好了现在最后一步,如果能打开,那下面的内容就忽略。
 


        部分人的 TZ 可能会 导致网络虽然全局了但没啥用,
        给你们推荐个,不过有点小贵,base64加密了一下,先不要买套餐!!!,有免费额度试一下看看能否正常访问(只要不再出现 500,就表示OK了,再不济的话,有其他问题留言)
        aHR0cDovLzg3NDlmYjk5LndlYWtzaGFyZWRwdHIuY29tL3JlZ2lzdGVyP3NoYXJlX2lkPTg3NDlmYjk5LTY0MGQtNDQxZi04MmYwLWE3MzY4MGIxZmZiMA==


        1. 下载好后,下面两个都勾选上,点击加速
        2. 然后重新运行 ngrok 和 shopify 项目
        3. 重新复制(Preview URL)链接 去粘贴
        4. 正常第一次打开应该是这样:

good! 现在应该可以了 

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在基于@shopify/shopify-app-express的应用程序中注册Shopify Webhook,可以使用该框架提供的webhook路由。下面是一个示例代码来注册一个Webhook: ```javascript const { default: createShopifyAuth } = require('@shopify/koa-shopify-auth'); const { default: Shopify, ApiVersion } = require('@shopify/shopify-api'); const { verifyRequest } = require('@shopify/koa-shopify-auth'); const Koa = require('koa'); const Router = require('koa-router'); const bodyParser = require('koa-bodyparser'); const app = new Koa(); const router = new Router(); const webhook = { topic: 'products/create', address: 'https://your-app.com/webhooks/products/create', format: 'json', }; app.use(bodyParser()); const shopifyAuth = createShopifyAuth({ // Your Shopify app API key and secret apiKey: process.env.SHOPIFY_API_KEY, secret: process.env.SHOPIFY_API_SECRET, // Your app URL appUrl: process.env.APP_URL, // Scopes to request on the merchant's behalf scopes: ['read_products', 'write_products', 'read_script_tags', 'write_script_tags'], // After authentication, redirect to the shop's home page afterAuth(ctx) { const { shop } = ctx.state.shopify; ctx.redirect(`https://${shop}/admin/apps/${process.env.SHOPIFY_API_KEY}`); }, }); // Register webhook router.post('/webhooks/products/create', verifyRequest({ returnHeader: true }), (ctx) => { console.log('New product created:', ctx.request.body); ctx.status = 200; }); (async function() { // Create an instance of Shopify const shopify = new Shopify({ apiKey: process.env.SHOPIFY_API_KEY, apiSecretKey: process.env.SHOPIFY_API_SECRET, shopName: ctx.session.shop, accessToken: accessToken, apiVersion: ApiVersion.October20, autoLimit: { calls: 2, interval: 1000, bucketSize: 35 }, }); // Register webhook await shopify.webhook.create(webhook); // Use the shopifyAuth middleware app.use(shopifyAuth); app.use(router.allowedMethods()); app.use(router.routes()); app.listen(process.env.PORT, () => { console.log(`Server listening on port ${process.env.PORT}`); }); })(); ``` 在上面的代码中,我们首先创建一个Shopify实例,并使用它来注册Webhook。然后,我们使用@shopify/shopify-app-express框架创建一个HTTP服务器,并为Webhook的URL路径创建一个POST路由。在路由处理程序中,我们可以处理接收到的Webhook数据。最后,我们使用Shopify API将Webhook注册到商店中。 注意,我们在Webhook地址中使用了公共URL,这意味着您需要在您的应用程序中设置公共URL,并将其用作Webhook地址。此外,您需要在Shopify后台中配置相应的Webhook主题,以便将Webhook发送到正的URL地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值