我的应用程序是BigCommerce中已批准的隐藏应用程序,具有在“ MyApp技术”页面中选择的所有范围。不幸的是,当我尝试对用户进行oAuth验证时,以下范围“ store_v2_transactions_read_only”会返回“无效范围”消息。如果我删除该范围,则其他范围(适用于只读订单,客户等)可以正常工作,并且我可以使用Oauth将我的应用成功连接到帐户。
范围“ store_v2_transactions_read_only”可在以下范围列表中的文档中找到:https://developer.bigcommerce.com/api/#oauth-scopes96。但是使用该范围发出连接帐户的请求将返回“ invalid_scope”,并且我无法访问用户交易数据。同样,所有其他范围都可以使用,我都在开发人员门户的应用程序技术页面中选择了所有这些范围。
在节点中工作,并使用axios使用oauth代码获取令牌。此作用域列表起作用:
scope: 'store_v2_customers_read_only store_v2_information_read_only store_v2_orders_read_only store_v2_products_read_only'
当我添加store_v2_transactions_read_only
时,它返回“无效范围”,甚至认为这是文档中所述的字符串。如果我错拼了任何范围,也会显示相同的错误。
答案 0 :(得分:1)
确保在查询字符串中传递context
。在编写本文时,API仅在您请求Invalid scope(s).
且没有此查询参数的情况下才会发回store_v2_transactions_read_only
错误。如您所知,如果未发送此参数,其他范围似乎也可以正常工作。
答案 1 :(得分:1)
无法评论,因为我没有 50 karma,但是从正确答案中将上下文添加到 postman 中的 POST 调用为我解决了这个问题。我已经处理了一段时间,但在其他论坛帖子中,BigCommerce 方面的文档并不多。
我正在使用 x-www-form-urlencoded 参数:
关键:上下文 值:商店/abcdefg
abcdefg 是实际商店编号/id,其格式与回调中的格式完全相同。