当前位置: 首页 > news >正文

Python对接亚马逊电商平台SP-API的一些概念理解准备

除了第三方服务商,其实亚马逊卖家本身也可以通过和SP-API的对接,利用程序来自动化亚马逊店铺销售运营管理中很多环节的工作,简单的应用比如可以利用SP-API的对接,实现亚马逊卖家后台各类报表的定期自动下载以及数据分析整理工作。数据跟踪分析对于亚马逊电商运营者来说,是一个非常重要,但相当繁琐费时费力的工作。而如果能够利用程序实现其中大部分工作的自动化,则可以大大解放其中需要的时间精力,达到事半功倍的效果。

亚马逊电商平台API对外开放的应用程序编程接口名字叫Amazon SP-API(selling partner API),在这之前,叫Marketplace Web Services,即MWS. 亚马逊卖家后台有个“销售伙伴应用商店”,里面有亚马逊批准的第三方应用程序,它们即是第三方利用亚马逊平台开放的API创建的,旨在帮助卖家更高效管理和发展业务的应用程序。

不过要成功实现SP-API的程序对接调用,在最开始的设置阶段,对于没有没有专业的编程学习基础的人来说,还是挺有挑战性的。下面即是我在开始的设置阶段,尝试对一些概念的梳理和理解。

SP-API调用凭证

本文的主要概念都是围绕如何获得调用SP-API的必需凭证而进行。需要的凭证包括:
refresh_token
lwa_app_id
lwa_client_secret
aws_access_key
aws_secret_key
role_arn

其中前面三个是在卖家后台开发者中心相关操作后获得,后面三个是在亚马逊AWS云服务的后台相关操作获得。

在调用SP-APT时,有多种方式可以将以上凭证传递进程序,其中下面是通过一个dic数据类型,将凭证直接以代码参数的形式传递进程序代码的示例。

credentials=dict(refresh_token='<refresh_token>',lwa_app_id='<lwa_app_id>',lwa_client_secret='<lwa_client_secret>',aws_secret_key='<aws_secret_access_key>',aws_access_key='<aws_access_key_id>',role_arn='<role_arn>',)

先说说AWS IAM

因为SP-API是通过亚马逊AWS云服务的的身份和访问管理框架(IAM)来来调用SP-API的。简单描述就是在AWS后台新建特定的IAM User用户和IAM Role角色,并同时为IAM User和IAM User绑定由SP-API限定的特定权限(policy),即IAM User Policy和IAM User policy.

所以整个过程需要分别在亚马逊卖家后台以及亚马逊AWS云服务操作后台进行操作。如果将整个过程划分为七个主要步骤的话,其中第一步和第七步是在卖家后台进行,中间五步是在亚马逊aws后台操作。

第一步:创建开发人员资料

在亚马逊后台的第一步操作的主要目标是创建开发人员资料并开通开发者中心。这一步基本上没有什么难度,尤其是如果只是作为自己店铺使用的私人应用开发,按照步骤指引填写相关资料等待亚马逊审核通过就可以了。有一点稍注意的是在SP-API Rolees选择时,将除受限角色外的角色都可以选上。当开发人员资料审核通过,开发中心开通之后,第二步到第五步的操作将在AWS后台进行。

 

 

第二步准备好AWS帐号

如果我们还没有AWS帐号的话,需要提前注册一个免费帐号。

注册好帐号后,亚马逊aws操作后台登陆在以下链接 https://Aws.amazon.com/consol

 

第三步 新建IAM User

然后第二步的操作是在aws操作后台打开IAM后台并新建一个IAM user用户。IAM后台链接如下:https://console.aws.amazon.com/iam

IAM的全称是Identity and access management,代表身份和访问管理。在AWS中,比如有IAM user, IAM group, IAM role等几种不同的身份,AWS通过在不同Identity上绑定不同的policy来限定不同身份对应的权限。

在这一步中,我们将新建IAM user.我们选用的凭证类型是“access key - Programmic access”

需要注意的是,此时我们注册的IAM user是没有权限的,因为我们还没有在上面绑定policy. 所以会有下面的提示.

当IAM User新建成功后,提示页面会有“Access key ID”和“secret access key”的两项信息,并提供CSV下载链接选项,它们就是文章前面提到的调用SP-API的凭证的其中两个。即aws_access_keyaws_secret_key

 

第四步:给新建IAM User绑定policy

在建立好的IAM User后,我们将创建一个IAM policy来定义对SP-API的调用权限。

这一步是针对新建的“SellingPartner”这个IAM user进行policy的绑定。因为这是我们专门为调用SP-API而新建的user,它的policy也是和调用SP-API的要限相关。而这个权限是SP-API定义的,所以我们需要在此IAM user对应的policy选项下,将里面的jason文件替换成SP-API官方文档中定义的这部分policy.

 

 

第五步:新建IAM Role并绑定policy

SP-API的官方指导建议我们新建IAM Role,但是没有IAM Role也不是不能工作。IAM Role主要是用来验证对SP-API的调用(authenticate calls to SP-API)。IAM role与IAM user非常相似,因为它们都是具有权限策略(由policy来限定)的身份,决定该身份在AWS中可以做什么和不能做什么。不同的是,IAM role角色没有相关的凭证(密码或访问密钥),而是依靠一种临时安全凭证来访问AWS的方式。在新建IAM Role的过程中,会自动带到绑定policy的步骤,在这一步绑定前面IAM User新建的policy即可。这样IAM Role也获得调用SP-API的权限。

IAM ROLE

第六步:给IAM用户中添加AWS STS polity

AWS IAM设置的最后一步是向新建的IAM用户添加绑定AWS安全令牌服务,或STS策略。它在这里主要是一个AssumeRole policy,即允许IAM用户使用临时安全凭证来验证SP-API的请求。获得前面新建IAM Role的调用SP-API所需的权限。这些临时凭证由一个访问密钥ID、一个秘密访问密钥和一个安全令牌组成。

 

 

 

有关AWS ARN

ARN的全称是“Amazon Resource Names”,在AWS中它是一种文件命名惯例,用于识别亚马逊网络服务(AWS)公共云中的特定资源。ARN是AWS特有的,它帮助管理员在AWS产品和API调用中跟踪和使用AWS Items和policy。

通过它可以唯一地识别AWS资源。当我们需要在所有AWS中明确指定一个资源时,需要用到ARN,在我们前面新建IAM User,IAM Role以及分别绑定policy的时候,则IAM User,IAM Role和policy都对应一个ARN,在AWS后台可以查看项目对应的ARN信息. 在调用SP-API时,则需要提供IAM ARN信息,这时我们提供ARN ROLE的信息。所以这是调用SP-API在AWS端的第三个凭证role_arn

 

第七步:在卖家后台开发者中心新增client app

当在AWS端的设置完成之后,最后还要回到亚马逊卖家后台开发者中心进行一步设置操作,这一步主要是通过新增client app以及对app的授权来获得调用SP-API必需的LMA凭证信息,包括“client identifier”和“client secret”两项,LMA凭证相当于是登陆凭证。在点击“Authorize app”后,会生成一串很长的“Refresh Token”. 在这一步中,我们即可以获得调用SP-API的其它三个凭证,即refresh_tokenlwa_app_idlwa_client_secret,其中lwa_app_idlwa_client_secret对应的是LMA凭证信息的“client identifier”和“client secret”两项

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== 编辑

相关文章:

Python对接亚马逊电商平台SP-API的一些概念理解准备

❝ 除了第三方服务商&#xff0c;其实亚马逊卖家本身也可以通过和SP-API的对接&#xff0c;利用程序来自动化亚马逊店铺销售运营管理中很多环节的工作&#xff0c;简单的应用比如可以利用SP-API的对接&#xff0c;实现亚马逊卖家后台各类报表的定期自动下载以及数据分析整理工…...

[Halcon3D] 主流的3D光学视觉方案及原理

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…...

Go Web下gin框架使用(二)

〇、gin 路由 Gin是一个用于构建Web应用程序的Go语言框架&#xff0c;它具有简单、快速、灵活的特点。在Gin中&#xff0c;可以使用路由来定义URL和处理程序之间的映射关系。 r : gin.Default()// 访问 /index 这个路由// 获取信息r.GET("/index", func(c *gin.Con…...

算法笔记-线段树合并

线段树合并 前置知识&#xff1a;权值线段树、动态开点 将两棵线段树的信息合并成一棵线段树。 可以新建一颗线段树保存原来两颗线段树的信息&#xff0c;也可以将第二棵线段树维护的信息加到第一棵线段树上。 前者的空间复杂度较高&#xff0c;如果合并之前的线段树不会再用…...

Fiddler抓取IOS数据包实践教程

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 本章教程,主要介绍如何利用Fiddler抓取IOS数据包相关教程。 目录 一、打开Fiddler监听端口 二、配置网…...

Ansible基础4——变量、机密、事实

文章目录 一、变量二、机密2.1 创建加密文件2.2 查看加密文件2.3 编辑加密文件内容2.4 加密现有文件2.5 解密文件2.6 更改加密密码 三、事实3.1 收集展示事实3.2 展示某个结果3.3 新旧事实命令3.4 关闭事实3.5 魔法变量 一、变量 常设置的变量&#xff1a; 要创建的用户要安装的…...

React实现Vue的watch监听属性

在 Vue 中可以简单地使用 watch 来监听数据的变化&#xff0c;还能获取到改变前的旧值&#xff0c;而在 React 中是没有 watch 的。 React中比较复杂&#xff0c;但是我们如果想在 React 中实现一个类似 Vue 的 watch 监听属性&#xff0c;也不是没有办法。 在React类组件中实…...

axios、跨域与JSONP、防抖和节流

文章目录 一、axios1、什么是axios2、axios发起GET请求3、axios发起POST请求4、直接使用axios发起请求 二、跨域与JSONP1、了解同源策略和跨域2、JSONP&#xff08;1&#xff09;实现一个简单的JSONP&#xff08;2&#xff09;JSONP的缺点&#xff08;3&#xff09;jQuery中的J…...

macOS Ventura 13.5beta2 (22G5038d)发布

系统介绍 黑果魏叔 6 月 1 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.5 开发者预览版 Beta 2 更新&#xff08;内部版本号&#xff1a;22G5038d&#xff09;&#xff0c;本次更新距离上次发布隔了 12 天。 macOS Ventura 带来了台前调度、连续互通相机、Fac…...

jwt----介绍,原理

token&#xff1a;服务的生成的加密字符串&#xff0c;如果存在客户端浏览器上&#xff0c;就叫cookie -三部分&#xff1a;头&#xff0c;荷载&#xff0c;签名 -签发&#xff1a;登录成功&#xff0c;签发 -认证&#xff1a;认证类中认证 # jwt&…...

Three.js--》实现3d水晶小熊模型搭建

目录 项目搭建 初始化three.js基础代码 加载背景纹理 加载小熊模型 今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能灵活将所学知识运用起来&#xff0c;话不多说直接开始。 项目搭建 本案例还是借助框架书写…...

《阿里大数据之路》研读笔记(1)

首先先看到OLAP和OLTP的区别&#xff1a; OLTP(Online transaction processing):在线/联机事务处理。典型的OLTP类操作都比较简单&#xff0c;主要是对数据库中的数据进行增删改查&#xff0c;操作主体一般是产品的用户或者是操作人员。 OLAP(Online analytical processing):…...

Logback 日志框架详解

一、Logback 简介 Logback 是一个日志框架&#xff0c;旨在成为 log4j 的替代品。它由 Ceki Glc 创建并维护&#xff0c;是一款开源的日志框架&#xff0c;是 slf4j&#xff08;Simple Logging Facade for Java&#xff09;的实现。相比于 log4j&#xff0c;Logback 具有更高的…...

BIO、NIO、AIO 有什么区别?

BIO (Blocking I/O)&#xff1a; Block IO 同步阻塞式 IO &#xff0c;传统 IO&#xff0c;特点是模式简单、使用方便&#xff0c;并发处理能力低。 同步阻塞 I/O 模式&#xff0c;数据的读取写入必须阻塞在一个线程内等待其完成&#xff0c;在活动连接数不是特别高&#xff08…...

nginx和tomcat负载均衡、静态分离

tomcat重要目录 bin 存放启动和关闭Tomcat脚本conf存放Tomcat不同的配置文件doc存放Tomcat文档lib存放Tomcat运行需要的库文件logs存放Tomcat执行时的log文件src存放Tomcat的源代码webappsTomcat的主要Web发布目录work存放jsp编译后产生的class文件 nginx负载均衡原理 nginx实…...

用AI写出的高考作文!

今天是6月7日&#xff0c;又到了每一年高考的日子。小灰自己参加高考是在2004年&#xff0c;距离现在已经将近20年&#xff0c;现在回想起来&#xff0c;真的是恍如隔世。 今天高考语文的作文题是什么呢&#xff1f; 全国甲卷的题目是&#xff1a;人技术时间 人们因技术发展得以…...

chatgpt赋能python:Python屏幕输入介绍:了解命令行输入的基本知识

Python屏幕输入介绍&#xff1a;了解命令行输入的基本知识 Python是一种使用广泛的编程语言&#xff0c;用于编写各种类型的应用程序&#xff0c;包括图形用户界面应用程序和基于命令行的应用程序。对于基于命令行的应用程序来说&#xff0c;屏幕输入非常重要。本文将介绍Pyth…...

bert中文文本摘要代码(1)

bert中文文本摘要代码 写在最前面关于BERT使用transformers库进行微调 load_data.py自定义参数collate_fn函数BertDataset类主函数 tokenizer.py创建词汇表encode函数decode函数 写在最前面 熟悉bert&#xff0b;文本摘要的下游任务微调的代码&#xff0c;方便后续增加组件实现…...

为何溃坝事故频发,大坝安全如何保障?

随着水利水电工程的重要性日益突显&#xff0c;水库大坝安全越来越受到相关部门的重视。因为大坝的安全直接影响水利工程的功能与作用&#xff0c;因此对大坝安全的监测显得十分必要。大坝安全监测的作用是能够及时掌握大坝的运行状态&#xff0c;及时发现大坝的变形、渗漏等异…...

第十九章_手写Redis分布式锁

锁的种类 单机版同一个JVM虚拟机内synchronized或者Lock接口。 分布式多个不同JVM虚拟机&#xff0c;单机的线程锁机制不再起作用&#xff0c;资源类在不同的服务器之间共享了。 一个靠谱分布式锁需要具备的条件和刚需 独占性 &#xff1a;OnlyOne&#xff0c;任何时刻只能有且…...

Ubuntu 20.04虚拟机重启后断网?别慌,用Netplan配置静态IP一劳永逸(附避坑指南)

Ubuntu 20.04虚拟机网络配置终极指南&#xff1a;Netplan静态IP与持久化方案 当你兴奋地启动Ubuntu 20.04虚拟机准备大展身手时&#xff0c;突然发现网络连接消失了——这不是个别现象。许多开发者在本地虚拟化环境或云平台中都遭遇过类似困扰。本文将彻底解决这个"幽灵断…...

2026-05-11 全国各地响应最快的 BT Tracker 服务器(联通版)

数据来源&#xff1a;https://bt.me88.top 序号Tracker 服务器地域网络响应(毫秒)1udp://60.172.236.18:6969/announce安徽芜湖联通102udp://118.196.100.63:6969/announce安徽芜湖联通113http://211.75.205.187:6969/announce安徽芜湖联通384http://211.75.205.188:80/announ…...

泉盛UV-K5/K6固件深度定制指南:解锁专业级无线电功能

泉盛UV-K5/K6固件深度定制指南&#xff1a;解锁专业级无线电功能 【免费下载链接】uv-k5-firmware-custom 全功能泉盛UV-K5/K6固件 Quansheng UV-K5/K6 Firmware 项目地址: https://gitcode.com/gh_mirrors/uvk5f/uv-k5-firmware-custom 你是否对原厂固件的功能限制感到…...

别再只懂RGB了!用PIL的getpixel()玩转图片九种模式,从像素值看图像本质

像素解码术&#xff1a;用PIL九种图像模式与getpixel()重构视觉认知 当你用getpixel()提取像素值时&#xff0c;是否曾被这些情况困扰过&#xff1a;明明是彩色图片却返回单个数字&#xff1f;处理PNG透明背景时得到四个值的元组&#xff1f;灰度图的像素值突然变成0或255&…...

3大核心模块+5步实战指南:Betaflight飞控固件深度解析与配置方案

3大核心模块5步实战指南&#xff1a;Betaflight飞控固件深度解析与配置方案 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight Betaflight作为开源飞控固件的标杆&#xff0c;为多旋翼和固定…...

如何让经典DirectX游戏在现代Windows上完美运行:DDrawCompat终极兼容解决方案

如何让经典DirectX游戏在现代Windows上完美运行&#xff1a;DDrawCompat终极兼容解决方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.co…...

BaiduPCS-Go深度解析:从原理到实践的性能调优进阶指南

BaiduPCS-Go深度解析&#xff1a;从原理到实践的性能调优进阶指南 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go BaiduPCS-Go作为一款功能强大的命令行百度…...

液态硅胶注塑加工供应商推荐

随着液态硅胶&#xff08;LSR&#xff09;在医疗、母婴、电子、汽车等多个领域的广泛应用&#xff0c;选择一个可靠的液态硅胶注塑加工供应商变得至关重要。作为天沅智能制造科技有限公司&#xff08;简称TYM&#xff09;&#xff0c;我们不仅深耕于液态硅胶注射成型机械的设计…...

详解 Deepsec:Vercel 开源 AI 代码安全防护工具的技术架构与实现原理

摘要在 AI 大模型深度融入软件开发全链路的今天&#xff0c;代码安全防护正面临 “复杂逻辑漏洞难发现、传统工具误报率高、源码隐私保护难” 三重核心挑战。Vercel 开源的 Deepsec 作为一款Agent 驱动的本地化 AI 安全防护工具&#xff0c;跳出传统 SAST&#xff08;静态应用安…...

TlbbGmTool:从数据库小白到《天龙八部》单机版管理大师的蜕变之旅

TlbbGmTool&#xff1a;从数据库小白到《天龙八部》单机版管理大师的蜕变之旅 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool 你是否曾经面对《天龙八部》单机版数据库的复杂结构感到无从下手&#x…...