我对他们的API上的BC文档感到非常困惑,因为他们可以让你创建" Draft Apps" (私人应用程序)现在我在他们的文档中看到他们说"我们目前没有提供保持OAuth应用程序私有的方法。"。
我担心的是,他们最近做了一些更改,这些更改可能影响了我一个月前运行的一些私人应用程序。如果有人能提供一些见解,我将非常感激!
https://developer.bigcommerce.com/api/guides/oauth-transition
答案 0 :(得分:3)
使用" Draft App"创建oAuth凭据没有任何问题。仅用于访问您商店的API。您永远不必发布您的应用程序,您的应用程序将永远不会被制作出来#34; public"在这种情况下。您也不必费心去加载回拨网址'并填写草稿应用程序的详细信息,除非您想在商店中提供自己的界面。
"草案App"功能专门用于允许开发人员为BC App Marketplace构建应用程序,以便在提交之前在商店中测试他们的应用程序。但是,您可以使用它来制作仅适用于您的商店的私人应用程序 - 我在这里包括其他人的流程!
你应该做的第一件事就是提供一个可以接收" Auth Callback"的本地或公共URL。请求。此资源必须能够通过HTTPS连接工作,但SSL可以自签名。 ' Auth Callback' Bigcommerce的请求是一个GET请求,它将在URL上有3个查询参数:代码,范围和上下文
这里有更详细的描述:
https://developer.bigcommerce.com/api/callback#get-req
其他信息继续前进构建公共应用程序时,接收Auth Callback请求的服务必须配置为捕获3个查询值并将它们与您已有的信息组合在一起。然后,您可以通过POST将所有这些信息发送到BC oAuth Token服务,以便为商店生成API令牌。除此之外,您还需要为用户响应具有200状态和界面或说明的Auth Callback请求。
在构建私有应用程序的环境中,您不必担心任何问题。您需要做的就是捕获查询值。如果您已经拥有此功能,请继续跳转到下面有关生成API令牌的部分。
您应该有一个可以接收GET请求并捕获查询参数的URL路径。测试一下,确保它有效。以下是几个示例网址:
https://example.com/auth-callback
https://localhost:8000/auth-service
此处的关键点是,应用的注册必须由要安装应用的商店的商店所有者帐户完成。如果您有权访问商店所有者帐户凭据,请按照本页底部的步骤操作:
https://developer.bigcommerce.com/api/registration
如果您正在与店主合作,那么您可以指导他们完成上述步骤。您需要向他们提供您为完成第9步而创建的 Auth回调网址。必须填写加载回拨网址,但提供的默认示例可以保留。
的 SCOPES 强>继续前进注册应用时,您可以选择应用的范围。将它们全部打开很简单,但最佳做法是仅启用所需的范围。以下是范围清单:
https://developer.bigcommerce.com/api/scopes
如果您不确定是否需要某个范围,请将其保留为启用状态,因为如果您需要更改应用程序的范围,则必须重新生成API令牌(执行应用程序的重新安装)。
您需要 client_id 和 client_secret 。如果其他人注册了该应用程序,那么您需要询问他们。注册应用程序后会有一个 View Client ID 按钮。
此步骤需要具有商店所有者访问权限的人员。他们需要登录他们的商店并转到左侧栏中的应用部分。之后点击市场 - >然后我的应用(在右上角) - >然后我的草稿应用
您现在应该会看到一个包含任何" apps"的列表店主已注册。选择与您计划使用的 client_id 相关的一个。点击安装应用。
现在已经发送了Auth Callback请求,您在这里完成了。除非您使用内容响应Auth Callback请求,否则您应该只看到一个空白或灰色页面。您的应用现在正在等待身份验证。
如果使用自签名证书继续前进当您的Auth回调网址具有自签名证书时,您将看到一个"不受信任的证书"尝试安装应用程序时浏览器出错。您应该选择信任证书并继续。
您现在应该已在Auth回拨网址上收到代码,范围和上下文。如果您没有,可能是因为您的服务器没有SSL / TLS。您可以根据需要在启动它的同一位置的取消安装多次重播Auth Callback请求。您甚至可以打开一个开发工具并观察请求,看看控制台中显示的错误。如果这种情况继续失败,那么您应该联系Bigcommerce支持或在此处提出新问题!
按照此处的步骤操作:
https://developer.bigcommerce.com/api/callback#post-req
您应该具有向 https://login.bigcommerce.com/oauth2/token 发送POST请求到BC Auth令牌服务所需的所有详细信息
确保对您的内容进行URL编码,您应该做得很好!这是一个可以为您进行URL编码和解码的网站:http://meyerweb.com/eric/tools/dencoder/
当它们实际用作字段之间或字段/值(分别)之间的分隔符时,请注意编码& 和 = 符号。
您应该已收到Auth服务的成功回复,其中包含 API令牌。一旦你有了这个,你就可以访问商店的API了。您不再需要将Auth Callback URL设置为可用并且可以将其降低。
另请注意用于创建API路径的上下文。
现在您已拥有 API令牌和上下文,您将全部设置为访问商店的API。从对/ time端点的简单请求开始。
发出GET请求并包含以下标题(减去大括号):
将您的请求发送到(减去大括号)的网址路径:
https://api.bigcommerce.com/ {上下文} / V2 /时间
如果你得到200回复,那么你就完全了!
成功为某个应用生成API令牌后,该应用将在控制面板中显示为应用部分中的图标。应用程序在那里的事实表明它已安装并允许访问。如果您卸载该应用程序,则先前生成的API令牌将停止工作。
更改已安装的应用上的范围将需要重新安装才能更正令牌。
更改商店中的商店所有者电子邮件将导致令牌停止工作。 API令牌专门与注册该应用的商店所有者绑定。
答案 1 :(得分:0)
如果您在“我的草稿应用”中有应用并且您使用了基本的oauth,则必须更改为Oauth身份验证,但如果只有私有应用使用“旧版api帐户”,则无需更改。