如何生成Shopify访问令牌

功能

许多店主需要帮助来为他们的商店建立额外的功能。或者你是一名开发人员,有一个新应用程序(app)的好主意,可以帮助店主更好地销售。无论哪种方式,你都可能需要使用Shopify的API。该API允许您下载商店的产品清单和修改商店的主题。

在本文中,我们将了解如何访问特定商店并进行API调用。我们假定您至少具备一些开发知识。我将使用PHP来展示示例,但是您几乎可以使用任何开发语言来完成所讨论的所有功能。

为Shopify商家构建应用程序

无论您是想为Shopify App Store构建应用程序,提供私人应用程序开发服务,还是正在寻找增加用户基础的方法,Shopify合作伙伴计划都将为您的成功奠定基础。免费加入并访问教育资源、开发人员预览环境和经常性收入分享机会。

报名

应用程序的类型

在Shopify中,有两种类型的应用程序:私人和公共。私有应用程序只被锁定在一个商店,通常是为那些想要扩展自己商店功能的商店所有者提供的。你可能已经猜到了,公共应用程序是指面向所有商店的应用程序,而不是锁定在一家商店。例如,列表中列出的所有应用Shopify应用商店都是公共应用。在本文中,我们将专注于公共应用程序,但两者的技术方面是相同的。

你可能还喜欢:建立一个销售的Shopify应用程序的4个技巧

开始之前OB欧宝娱乐APP

在本指南中,我们将通过每个步骤,需要让你的应用程序运行和与Shopify API通信。在我们继续之前,你需要做以下事情(如果你还没有做的话):

1.注册一个Shopify合作伙伴帐户.它是免费的!

2.当你登录时,继续创建应用的API密钥在这里.大多数选项都是不言自明的,但是当您进入应用程序回调URL字段时,您需要输入域名你正在做的事情。Shopify只会向此域名发送令牌。例如,如果您在本地计算机上工作,您可能希望将其设置为http://localhost/现在。

3.登录后单击应用程序在左侧导航栏中,单击创建应用程序

给你的应用起任何你喜欢的名字。为应用程序的URL,输入您正在处理的域/ install.php.如果你是在自己的机器上进行本地开发,你会想要进入http://localhost/install.php.如果您的服务器不在80端口上运行,您可能需要添加端口号。http://localhost:8888/install.php).

访问令牌:创建app

4.创建应用程序后,导航到应用程序信息选项卡。下提示重定向URL,您将需要添加与步骤3中相同的域,这次由/ generate_token.php例如,如果您在自己的机器上进行本地开发,则需要添加http://localhost/generate_token.php

访问令牌:url

5.滚动到这个视图的底部,记下你的API密匙API密钥.您将需要这些凭证来跟随示例。

访问令牌:API密钥

下载我的示例PHP代码.下面的所有示例代码都取自这些脚本。示例代码以过程式风格编写,以便于学习核心概念。在生产环境中,您肯定希望添加更多的检查和优化。

当我们讨论url的话题时,了解更多关于规范的URL是什么以及为什么它们如此重要。

你可能还喜欢:最大化使用Shopify API的7个技巧

生成访问令牌

要开始OB欧宝娱乐APP使用Shopify API处理商店数据,您必须通过商店的身份验证。这意味着商店老板必须安装并批准你的应用程序的某些权限(例如,创建新产品)。这是使用名为OAuth的进程完成的,这是应用程序之间通信的一种非常安全且常用的方法。我知道这听起来很复杂,但别担心,任何人都可以很快掌握它。

在本文中,我们将使用OAuth构建一个特殊的URL,用户可以在其中批准您的应用程序,并最终生成一个特殊的令牌,您可以使用该令牌通过API访问相关商店。下面是一个流程图,列出了完成这一任务所需的所有步骤。

步骤1:收集店铺信息

当Shopify商家请求通过Shopify应用商店安装您的应用程序时,请求将发送到您的应用程序URL,并带有商店附加参数。的值商店参数将是商家的myshopify域名,例如:http://localhost/install.php?shop=johns-apparel.myshopify.com

我们可以模拟这个安装请求,只需在服务器运行时将这个URL粘贴到浏览器地址栏中,将值替换为商店为您的Shopify开发商店的域名。

步骤2:安装审批

一旦你有了商店所有者的“myshopify.com”URL,你需要将用户重定向到一个URL,在那里他们可以批准你的应用。这个URL的格式如下。

https://{店}.myshopify.com/admin/oauth/authorize ? client_id ={api_key}范围={范围}&redirect_uri ={redirect_uri}

{店}
用户给您的子域“myshopify.com”URL。

{api_key}
您提供给您的API密钥,如上所述。

{范围}
这是您要求商店所有者接受的权限列表。对于本例,我们希望能够读取订单和修改产品,因此我请求read_orders和write_products。请参阅作用域及其定义的完整列表

{redirect_uri}
用户下一步应该被发送到哪里。这是将生成令牌的脚本的URL,如下面的步骤3中所述。

PHP代码示例

步骤3:捕获访问码

如果用户已经批准了您的安装,他们将返回URL中作为查询字符串的授权码。例如:

“?”前面的部分与redirect_uri美元你所包含的变量。

"?"后面是几个本应包含的参数:" code "、"hmac"和" timestamp "。“code”参数是您将用于OAuth过程部分的授权代码。另外两个参数用于验证请求是否确实来自Shopify。让我们先解决这个问题……

步骤3。b:验证数据

如果黑客试图以上述格式向您的服务器发送请求,该怎么办?你怎么知道它是否确实来自Shopify还是其他人试图恶意攻击?这就是为什么要提供" hmac"和" timestamp "。通过计算HMAC SHA256摘要,我们可以将其与传入的进行比较hmac参数,并确定请求是否合法。

PHP代码示例

让我们继续使用这个“code”值来获取商店的访问令牌。我们将通过运行第一个API调用来实现。

步骤4:为商店令牌交换访问码

到目前为止,我们已经拥有了生成应用令牌所需的一切:应用API密钥、应用密钥凭证和访问码。

Shopify有一个特殊的API调用端点,您可以使用它与商店的永久API令牌“交换”您的访问码:

/管理/ oauth / access_token

PHP代码示例

在上面的代码中,我们发布到Shopify的服务器,然后将OAuth为demo-shop.myshopify.com生成的令牌存储到美元的令牌变量。记住,这就像进入商店的密码,所以你要把这个令牌存放在一个非常安全的地方。

步骤5:进行API调用

如果你已经走到了这一步,那就意味着你已经通过了所有的困难部分!现在,只要事先获得相关范围的批准,就可以对商店进行API调用。如果没有,则需要通过上述步骤获得一个具有必要权限的新令牌。

总而言之,每个API调用都需要以下细节:

  1. 商店API令牌
  2. 购买“myshopify.com”网址
  3. 要调用的API端点以及任何特殊参数

在本指南中,我们请求访问的权限(范围)之一是阅读产品信息——现在让我们尝试一下。你需要的端点是/管理/ products.json

PHP代码示例

如果一切处理正确,则美元的产品变量应该包含一个JSON字符串,看起来像这样:

在返回的JSON中,我只有一个产品,它是ID号370733088。假设我们想要修改这个product,那么继续这段代码,我们将通过编程将这个ID放入一个变量中,这样我们就可以处理这个product了。

好的,现在我们将前面提到的ID号存储在product_id美元变量。假设我想修改这个产品的标题。现有的标题“test”毕竟不是很用户友好。你需要用到它product_id美元变量,这样Shopify就知道你在修改哪个产品……

$ modify_data数组我们有所有需要的信息,我们发送给Shopify。这个数组在函数中被转换成JSONshopify_call ()函数。中列出了此API调用的需求,以供将来参考Shopify API文档.您可能还注意到我们的数据处理方法是PUT。这会告诉Shopify,我们正在修改数据,而不是下载或删除数据。

如果这个API调用成功,您将返回一个JSON字符串,其中包含您的更新modified_product_response美元变量:

正如你所看到的,产品标题已经更新,以匹配我们在modify_data美元变量。Shopify使他们的API非常可预测和一致。这意味着以后,您可以以类似的方式使用大多数API端点。

动态地进行API调用

当我为Shopify开发时,我通过使用GUI进行API调用节省了大量时间。这样,在确定API包含所需数据之前,我就不必编写一大堆PHP代码。下面是一些不错的选择。

你可能还喜欢:ob欧宝娱乐app下载地址营销你的Shopify应用:应用列表页面

熟能生巧

经过一点实践,我想你会同意Shopify API既灵活又易于访问。它可以做很多事情,而且它只是在扩展对各种端点的支持。我迫不及待地想看看你想出了什么!

如果你有任何问题,你可以在Shopify论坛或者在下面的评论中发表。

想了解更多关于为Shopify构建应用程序的信息吗?查看我们的文章综合列表Shopify应用开发Shopify API欲知详情,请浏览:Shopify伙伴

借助Shopify合作伙伴计划发展您的业务

了解更多