私人嵌入式shopify应用程序

Kęs*_*tis 3 html javascript sdk shopify

我正在尝试构建嵌入式私有应用程序和我缺少的东西.正如这里所说,我创建了App,获得了API密钥.然后是一个非常简单的内容页面:

<head>
  <script src="https://cdn.shopify.com/s/assets/external/app.js"></script>
  <script type="text/javascript">
    ShopifyApp.init({
      apiKey: 'my-private-api-key',
      shopOrigin: 'https://my-dev-shop.myshopify.com',
      debug: true
    });
  </script>
</head>
<body>
Private app
</body>
Run Code Online (Sandbox Code Playgroud)

我将通过访问此页面重定向到我的商店与屏幕.

The page you're looking for can't be found.
Try a search instead.
Run Code Online (Sandbox Code Playgroud)

重定向网址是

https://my-dev-shop.myshopify.com/admin/apps/my-private-api-key/ 
Run Code Online (Sandbox Code Playgroud)

我错过了什么?这是我第一次体验shopify,所以也许我错过了所有理解EASDK的工作方式.我使用SSL从localhost和我的域测试了它.谢谢你的任何提示.

Mur*_*nov 9

我想更加关注嵌入式应用程序,并在我成功创建并安装为私有应用程序之前,先了解我遇到的经验和问题.

嵌入式应用程序允许修改Shopify管理部分的外观.实际上,Shopify中没有称为"嵌入式应用程序"的特殊应用程序类型.应用创建者只需在其合作伙伴帐户中创建常规"公共"应用时启用"嵌入式应用"SDK即可.因此,如果启用此功能,则应用可以在商店的管理员中使用Embedded App SDK.

我的问题是要实现如何将嵌入式应用程序安装到商店以及如何将其设置为私有,即无需发布到App Store即可用于商店.答案是:

  • 我们需要创建一个启用"Embedded App SDK"的常规公共应用程序(使用合作伙伴帐户)
  • 我们不需要将它发布到商店(所以除了我们之外没有人会知道它)
  • 我们需要在商店的管理员中安装它.

最后一个操作意味着我们需要执行常规公共Shopify应用程序所描述的所有操作,即允许应用程序使用OAuth握手访问商店.这里描述该过程.

让我重复一些观点:

  1. 发送此请求https:// {shop} .myshopify.com/admin/oauth/authorize?client_id = {api_key}&scope = {scopes}&redirect_uri = {redirect_uri}.用适当的值替换{花括号}中的{strings.注意{redirect_uri}必须是应用程序设置中指定的重定向URL之一,{scopes}应该替换为此处允许的范围之一(我使用了第一个范围,对我来说不重要,我不想修改数据,我只是想使用Embedded App SDK UI方法).
  2. 结果它将发送给 example.org/some/redirect/uri?code={authorization_code}&hmac=da9d83c171400a41f8db91a950508985×tamp=1409617544&state={nonce}&shop={hostname}(example.org/some/redirect/uri是一个redirect_url指向在第一个请求中)并期望在您这边正确处理此查询.
  3. "正确处理"意味着POST请求将发送到https:// {shop} .myshopify.com/admin/oauth/access_token,它将包含以下字段:
    • client_id - 应用的API密钥
    • client_secret - 应用程序的共享密钥
    • 代码 - {authorization_code}附带查询.

我不需要任何后端内容所以我只是创建了包含所有必填字段的简单html表单并提交了它(method = POST,action = https:// {shop} .myshopify.com/admin/oauth/access_token)并收到了json带访问令牌.

在应用程序部分的商店管理员中,您必须看到添加应用程序的链接.点击此处后,它将尝试打开加载iframe,其中src等于应用程序的应用程序URL.此网址必须指向您的应用,即html,您可以在其中执行您想要的操作.通常人们想要使用SDK方法.请注意可能的http/https问题