Amazon SPAPI By Postman 操作

I. 介绍

在论坛和群里仍然还有很多小伙伴对poatman操作有很多不熟悉的,而每次开case的时候,官网支持人员要求提供postman的Request Info and Response Info,或者自己调试的时候想要快速调用接口出结果,使用http工具无疑是很大的帮助,今天我用中文详解一遍如何使用postman去请求SPAPI接口。

  • SPAPI的概述

官方文档:Selling Partner APIhttps://developer-docs.amazon.com/sp-api

  • Postman的介绍

官方文档:Postman(你使用其他工具也可以的,我已经习惯了postman,其他中文工具Apifox,ApiPost)

II. 前置条件

如何使用AWS和SPAPI密钥和获取访问和刷新令牌

查看下面内容时可先查看官方提供的示例:

将 Postman 用于SP API 模型icon-default.png?t=N176https://developer-docs.amazon.com/sp-api/docs/using-postman-for-selling-partner-api-models#get-aws-sts-request

在 Postman 中为 SP-API 应用程序创建自定义监控仪表板icon-default.png?t=N176https://developer-docs.amazon.com/sp-api-blog/docs/create-custom-monitoring-dashboards-for-sp-api-apps-in-postman

这里我直接把导出的postman json放进来

{"info":{"_postman_id":"79c7a292-f351-4bca-9982-709f8bae30ed","name":"获取AWS STS Token and SPAPI AccessToken","description":"postman接口调试 SPAPI 模块接口,所有接口必须先从此处执行 1和2的接口的步骤,变量自动获取赋值\n\n官方教程:[将邮递员用于销售合作伙伴 API 模型 (amazon.com)](https://developer-docs.amazon.com/sp-api/docs/using-postman-for-selling-partner-api-models)","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"item":[{"name":"1.获取店铺accessToken","event":[{"listen":"test","script":{"exec":["var data = JSON.parse(responseBody); \r","// 设置环境变量token,供后面的接口引用 \r","pm.environment.set(\\\"access_token\\\", data.access_token);"],"type":"text/javascript"}}],"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded;charset=UTF-8","type":"text"},{"key":"Host","value":"api.amazon.com","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"refresh_token","type":"text"},{"key":"refresh_token","value":"{{refresh_token}}","type":"text"},{"key":"client_id","value":"{{client_id}}","type":"text"},{"key":"client_secret","value":"{{client_secret}}","type":"text"}]},"url":{"raw":"https://api.amazon.com/auth/o2/token","protocol":"https","host":["api","amazon","com"],"path":["auth","o2","token"]}},"response":[]},{"name":"2.获取临时凭证","event":[{"listen":"test","script":{"exec":["var data = xml2Json(responseBody)\r","// 设置环境变量token,供后面的接口引用 \r","// pm.environment.set(\\\"access_token\\\", data.access_token);\r","console.log(data.AssumeRoleResponse.AssumeRoleResult.AssumedRoleUser.AssumedRoleId)\r","console.log(data.AssumeRoleResponse.AssumeRoleResult.Credentials.SecretAccessKey)\r","console.log(data.AssumeRoleResponse.AssumeRoleResult.Credentials.AccessKeyId)\r","console.log(data.AssumeRoleResponse.AssumeRoleResult.Credentials.SessionToken)\r","\r","pm.environment.set(\\\"AccessKeyId\\\", data.AssumeRoleResponse.AssumeRoleResult.Credentials.AccessKeyId);\r","pm.environment.set(\\\"SecretAccessKey\\\",data.AssumeRoleResponse.AssumeRoleResult.Credentials.SecretAccessKey);\r","pm.environment.set(\\\"SessionToken\\\",data.AssumeRoleResponse.AssumeRoleResult.Credentials.SessionToken);\r",""],"type":"text/javascript"}}],"request":{"auth":{"type":"awsv4","awsv4":[{"key":"secretKey","value":"{{AWSSecretKey}}","type":"string"},{"key":"accessKey","value":"{{AWSAccessKey}}","type":"string"},{"key":"region","value":"us-east-1","type":"string"},{"key":"service","value":"sts","type":"string"},{"key":"addAuthDataToQuery","value":false,"type":"boolean"},{"key":"sessionToken","value":"","type":"string"}]},"method":"GET","header":[],"url":{"raw":"https://sts.amazonaws.com/?Version=2011-06-15&Action=AssumeRole&RoleSessionName={{RoleSessionName}}&RoleArn={{RoleArn}}&DurationSeconds=3600","protocol":"https","host":["sts","amazonaws","com"],"path":[""],"query":[{"key":"Version","value":"2011-06-15"},{"key":"Action","value":"AssumeRole"},{"key":"RoleSessionName","value":"{{RoleSessionName}}"},{"key":"RoleArn","value":"{{RoleArn}}"},{"key":"DurationSeconds","value":"3600"}]}},"response":[]}]}

直接复制json导入到postman

涉及到的几个参数变量请自行在环境里添加

环境变量导入:

{"id":"30f04050-4a72-45f3-b994-c5fb06b0e9e9","name":"SPAPI","values":[{"key":"baseUrl","value":"https://sellingpartnerapi-na.amazon.com","enabled":true},{"key":"EURegion","value":"eu-west-1","enabled":true},{"key":"NARegion","value":"us-east-1","enabled":true},{"key":"FERegion","value":"us-west-2","enabled":true},{"key":"client_id","value":"your client_id","enabled":true},{"key":"client_secret","value":"your client_secret","enabled":true},{"key":"access_token","value":"","enabled":true},{"key":"AWSAccessKey","value":"your AWSAccessKey","enabled":true},{"key":"AWSSecretKey","value":"your AWSSecretKey","enabled":true},{"key":"SessionToken","value":"","enabled":true},{"key":"AccessKeyId","value":"","enabled":true},{"key":"RoleArn","value":"your RoleArn","enabled":true},{"key":"RoleSessionName","value":"your RoleSessionName","enabled":true},{"key":"SecretAccessKey","value":"","type":"any","enabled":true},{"key":"refresh_token","value":"your SPAPI Seller by refresh_token","type":"default","enabled":true}],"_postman_variable_scope":"environment","_postman_exported_at":"2023-03-13T06:14:15.181Z","_postman_exported_using":"Postman/9.12.2"}

  • 构建OAuth授权头

给环境变量赋值

  • 获取AWS STS凭证

给环境变量赋值

var data = xml2Json(responseBody) // 设置环境变量token,供后面的接口引用 pm.environment.set("AccessKeyId", data.AssumeRoleResponse.AssumeRoleResult.Credentials.AccessKeyId); pm.environment.set("SecretAccessKey",data.AssumeRoleResponse.AssumeRoleResult.Credentials.SecretAccessKey); pm.environment.set("SessionToken",data.AssumeRoleResponse.AssumeRoleResult.Credentials.SessionToken);

III. 测试Order API

  • 构建API请求

这里我们获取最新的Order API model导入到postman,从官网复制

  • 请求get Order

请求之前我们先把接口调整一下

1.修改请求参数

2.修改授权(Auth)

3.请求头增加一个参数【x-amz-access-token】

4.获取订单结果

  • 结束

本篇使用获取订单信息作为示例就结束了,有些人会问,我的订单信息怎么会有用户信息和地址信息,pii才有权限获取

将 Postman 用于SP API:需要先拥有AWS和SPAPI密钥,获取访问和刷新令牌;Postman:官方文档Postman;获取店铺accessToken和临时凭证:需要设置环境变量,导入json文件,自行添加环境变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27096.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT文本框再次升级,打造出新型操作系统

在ChatGPT到来之前,没有谁能够预见。但是,它最终还是来了,并引起了不小的轰动,甚至有可能颠覆整个行业。 从某种程度上说,ChatGPT可能是历史上增长最快的应用程序,仅在两个多月就拥有了1亿多活跃用户&…

马云回国还谈ChatGPT:人类不应被人工智能所控制

雷递网 乐天 3月27日 阿里巴巴创始人马云日前现身杭州云谷,和校园长们进行交流。这也意味着马云已经回到国内。 此次活动中,校园长们说,云谷从创校以来,一直在探索如何在人工智能快速发展的时代为孩子提供面向未来的教育。 马云说…

程序员再“整活”,在 Dos 上也能玩 ChatGPT 客户端!

编译 | 苏宓 出品 | CSDN(ID:CSDNnews) 如果撇开科技大厂的业务线不谈,我们还可以用 ChatGPT、GPT-4 来干什么?除了逗趣、生成代码、聊天之外,这届网友已经尝试雇佣了 GPT-4 当老板,开启从零的创…

50倍效率!600+AI工具、3000+AI提示艺术,《AIGC万能工具包》助你职场效率起飞

众所周知,2023年是AI元年。 以ChatGPT为例,AI能帮你定目标、写文案,列提纲、找数据,甚至还能帮你做到想不到的事情…… 对不同行业的职场人士来说,它绝对是一个省力气,省时间,能大幅度提升工作产…

阿里、百度、值得买齐发声,电商的“AIGC式”进化

配图来自Canva可画 一年一度618要来了,和往年一样折扣力度、明星直播等话题被炒得火热,不同的是今年618的科技属性更强。 究其原因,过去半年AIGC技术被电商平台应用到实际运营中,“AIGC选品”、“虚拟货场”、“智能客服”成为电商…

运营er们,AIGC来了!你们怕不怕?

微软已官宣将ChatGPT整合到Bing搜索和Edge浏览器之中,它能根据聊天的上下文进行互动,真正像人类一样来聊天交流,运营er们甚至能用它完成撰写邮件、视频脚本、文案、翻译、代码等任务! AIGC爆火 不仅可以提高我们工作效率 而且也可…

ChatGPT超级智能体改写人类未来的宇宙大冒险!|小智ai

ChatGPT丨小智ai丨chatgpt丨人工智能丨OpenAI丨聊天机器人丨AI语音助手丨GPT-3.5丨开源AI平台 ChatGPT,这个惊世骇俗的超级智能体,正在以惊人的速度改写着人类的未来,引领我们进入一场前所未有的宇宙大冒险!准备好了吗&#xff1f…

大模型“图纸”已现,火山方舟开工

文丨刘雨琦 编丨王一粟 中国房子盖了2000年,直至汉朝初期,才开始出现“建筑图纸”。 有了图纸后,盖房子便不仅仅依赖于几个“老师傅”,图纸是全盘的指导,避免了曾经多次的推倒重建以及因为力学结构不合理而半途而废…

推荐一个开源数据同步神器,支持多种数据源和预警功能!

DBSyncer是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。 支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。 特点: 组合驱动&#…

Java 17 采用率在一年内增长 430% !

出品 | OSC开源社区(ID:oschina2013) New Relic 最新发布了一份 “2023 年 Java 生态系统状况报告”,旨在提供有关当今 Java 生态系统状态的背景和见解。该报告基于从数百万个提供性能数据的应用程序中收集的数据,对生产中使用最多…

简单的数据库连接与提供前端接口

前言: 本文浅浅讲解一下,使用多种软件共同开发一个java工程。 这是我在windows系统上跑成功的一次设计: 逻辑图如下: 一:所需软件和版本。 idea,maven,jdk,git,jenki…

免费“白嫖” GPT-4 方法 +1, 开发者锐评:跟“偷”有什么区别?

整理 | 郑丽媛、出品 | CSDN(ID:CSDNnews) 前不久,可“白嫖” GPT-4 的 Forefront Chat 吸引了众多关注,导致该网站一度崩溃,也令不少人发出疑问:“GPT-4 这么贵,为什么它能免费让我…

chatgpt赋能python:免费Python软件——学习和开发的首选工具

免费Python软件——学习和开发的首选工具 Python是一门高级编程语言,流行于数据科学、机器学习、自然语言处理等领域。但是,许多初学者和开发者因为高昂的学习和购买成本而退缩。然而,免费的Python软件正在帮助更多人轻松学习和开发Python程…

chatgpt赋能python:免费的Python编程软件:开发者必备工具!

免费的Python编程软件:开发者必备工具! Python是一门广受欢迎的编程语言,它已经成为了很多公司和开发者的首选语言。Python的出现改变了编程的方式,它具有简单、易懂、易读、易写、易拓展等特点,因此成为了很多新手入…

写 bug 速度提升200%!吊爆的 IDEA 使用技巧

来源:blog.xiaohansong.com/idea-live-templates.html 今天分享一篇idea技巧,让我们少写一些重复代码,提高效率~ 背景 Java 开发过程经常需要编写有固定格式的代码,例如说声明一个私有变量,logger或者bean等等。对于这…

chatgpt赋能Python-python886

Python886:一款优秀的Python IDE 作为一款Python开发的强大IDE,Python886 绝对不会让您失望。Python886 是 Python 编程语言的一个集成开发环境(IDE),支持C、C、Python、PHP、Ruby、Perl等多种编程语言。Python886 具…

IntelliJ IDEA 2023.1 发布:新UI、支持Java 20、简化Git Commit、重新设计 “Run”

出品 | OSC开源社区(ID:oschina2013) IntelliJ IDEA 2023.1 现已发布。此版本包括对新 UI 的改进,根据从用户那里收到的反馈进行了彻底改造。此外还实现了性能增强,从而在打开项目时更快地导入 Maven 和更早地使用 IDE 功能。由于…

npm安装教程

一、使用之前,我们先来掌握3个东西是用来干什么的。 npm: Nodejs下的包管理器。 webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源做相应的准备,比如资源的合并和打包。 vue-cli: 用户生成Vue工程模板。(帮你快…

实用工具 | <01>ChatGPT-4——Cursor(AI代码神器)

目录 一、简单介绍 二、安装教程 三、使用教程 四、总结 一、简单介绍 ChatGPT是一个大型多模态模型,可以接受图像和文本输入,并生成文本输出。GPT-4是基于Transformer的模型,经过训练后可以预测文档中的next token。为了提高准确性和确保G…

分割一切后,Segment Anything又能分辨类别了:Meta/UTAustin提出全新开放类分割模型...

点击上方“AI遇见机器学习”,选择“星标”公众号 第一时间获取价值内容 前几日,Meta 推出了「分割一切」AI 模型 Segment Anything,令网友直呼 CV 不存在了?!而在另一篇被 CVPR 2023 收录的论文中,Meta、UT…