最近公司需要从eBay拉取数据,踩了很多坑,记录下过程。

首先,调用eBay接口需要注册eBay的开发者账号。注册地址:https://developer.ebay.com/signin。注册之后大概需要一到两个工作日,eBay那边需要审核,审核通过之后才能登陆。登陆之后需要填写Application Keys及一些其他信息,填好之后就是这个样子。

当然,你们刚进来肯定不是我这种。生产那边显示密钥已禁用,点击那个什么“市场删除通知”(翻译之后的文字),会跳转到那个删除通知的页面,大概就是这种

选择选择退出 eBay 市场帐户删除/关闭通知,就能启用生产密钥了。具体可参考:https://developer.ebay.com/marketplace-account-deletion,英文可用页面翻译。

第二步,获取token。先放链接:https://developer.ebay.com/api-docs/static/oauth-tokens.html

我这边是需要去获取其他账号的数据,所以需要第二种类型token。流程是这样

用白话来说就是:程序拼接授权链接 → 用户点击链接 → 登录账号 → 会出现一个授权页面 → 点击agree → 进行跳转 → eBay会跳转到你设置的回调地址 → 地址上携带参数code → 拿到此code去获取access_token → 调用restful接口需携带access_token

(1)先去设置一些东西,回调地址啥的

 勾选OAuth,代表新的授权方式,默认的左边的是旧的。restful要采用右边的OAuth。

回调地址会在用户授权之后调用,参数code会有时效,几分钟好像就过期了,要重新授权获取code。回调地址大致长这样:https://xxx.com/ebay/auth/token?code=v%5E1.1%23i%5E1%23f%5E0%23I%xxxxxxxxxxxxxxxxxxxxxxNGQ0Y5N0QyOTM1M0EwNzRfMF8xI0VeMjYw&expires_in=299,所以可以用spring的@RequestParam去接收参数。

(2)拼接授权地址:https://developer.ebay.com/api-docs/static/oauth-authorization-code-grant.html

client_id=<你的client-id-value>
redirect_uri=<上面配置的那里有,RuName>
response_type=code&
state=<自定义参数>&
scope=<scopeList>&   //上面有scopes,用空格分隔地址,并且用URL对这个参数进行编码
prompt=login

(3)用户点击授权链接,授权后执行回调。回调方法拿到code,获取token数据,再调用api接口时带上access_token即可。

注:

1、code有效期好像只有1分钟,若报错Invalid value,则可能是code过期;

2、若采用postman调用接口,报错unsupported_grant_type,则有可能是body设置不对,body需设置row选项,且传值格式为grant_type=authorization_code&redirect_uri=……..&code=………. &expires_in=7200;

3、access_token有效期2小时,refresh_token时效大概500多天。access_token过期后可通过refresh_token重新获取,refresh_token过期则需重新授权。

4、使用postman调试接口,scopes需要用空格隔开,并且采用URL编码。Basic 后面需要加上空格,并且对client_id:client_secret进行base64编码。

最后,放上项目demo:https://github.com/songdada1995/ebay-api-demo,有帮助可以点个star。

EBay 接口开发(restful接口调用)相关推荐

  1. c#分页_使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页

    前言 上一篇文章请看这里:使用Kotlin搭配Springboot开发RESTFul接口与服务部署 上一篇文章介绍了Kotlin搭配Springboot的开发流程,从搭建项目.ORM.Controll ...

  2. php调用restful接口_PHP restful 接口

    首先我们来认识下RESTful Restful是一种设计风格而不是标准,比如一个接口原本是这样的: http://www.test.com/user/view/id/1 表示获取id为1的用户信息,如 ...

  3. webservice接口与restful接口

    webservice接口与restful接口的区别: 1.接口调用方式: webservice接口:soap报文,<尖括号>, restful接口:json文件,"双引号&quo ...

  4. SpringBoot开发Restful接口

    1.说明 基于已经创建好的Spring Boot工程, 开发Restful风格的接口, 并且对外提供HTTP服务. Spring Boot工程创建方式有两种: Maven向导方式:SpringBoot ...

  5. php开发流程 restful,PhpBoot 入门(一) 快速开发 RESTful 接口

    PhpBoot 是一款为快速开发 RESTful API 而设计的PHP框架(更多内容请前往 PbpBoot Github).本文为你演示如何使用 PhpBoot 快速开发一套 RESTful 风格的 ...

  6. 银联商务MISPOS接口开发demo 需要调用POSINF.DLL

    1.接口文档 1.1 无gmc界面接口 (dll/ocx) dll调用(posinf.dll)函数名为:int bankall (char * request,char *response),其中第一 ...

  7. 【Restful接口】restful接口的两种使用方式

            小编最近的项目是好几个团队的一块合作,由于项目大,功能多,各个团队负责的东西不同,我的团队除了自己的开发前端和后端外,还负责给别的团队提供后端支持,在这里就用上了restful接口. ...

  8. webservice接口和restful接口哪个更好?

    RESTful 是一种接口API,web service 不是接口,它是一种服务.两个概念不应该相提并论. 实践中,REST 和 SOAP 是 web services 中两个比较常见的接口 API. ...

  9. python连接微信接口开发教程_Python调用微信公众平台接口操作示例

    本文实例讲述了Python调用微信公众平台接口操作.分享给大家供大家参考,具体如下: 这里使用的是Django,其他类似 # coding=utf-8 from django.http import ...

  10. python链接微信接口开发教程_Python调用微信公众平台接口操作示例

    本文实例讲述了Python调用微信公众平台接口操作.分享给大家供大家参考,具体如下: 这里使用的是Django,其他类似 # coding=utf-8 from django.http import ...

最新文章

  1. “我辞职了,决定全职去开发我的操作系统!”
  2. .net中存储过程的应用
  3. 小车自动往返工作原理_自动门厂家为你讲解各类自动门工作原理
  4. cydia收费插件源_Cydia消失了怎么办 Cydia错误汇总介绍【图文】
  5. Java-COW在Java中的应用
  6. 红米note2移动4g在哪里显示无服务器,红米note2移动版能用联通4g吗?红米note2插联通卡用法介绍...
  7. date类before()方法的主要作用是_黄精的主要作用及中医食疗方法
  8. 拯救者linux无法正常关机,Ubuntu无法关机解决办法
  9. java调用指定浏览器打开指定网址
  10. 命令行方式登录PostgreSQL、创建用户和数据库并赋权
  11. 安装oracle创建的数据库实例,oracle创建数据库实例
  12. 为 Windows 系统替换优雅的苹果字体
  13. c语言补码取反后什么意思,补码为什么取反加一
  14. android音频系统分析,详细分析智能手机Android系统硬件音频架构_ Android手机_Android手机开发_Android_课课家...
  15. SketchUp教程:BIG事务所的建筑竞赛分析图表现(附笔刷+处理稿)
  16. 学渣考深大计算机,江苏科技大学又出学霸宿舍,6名同学全部考上研究生
  17. 前端获取北京时间_js获取北京时间
  18. python01g内存读取10g文件并排序_将大文件逐行读取到Python2.7中时的内存使用
  19. Git error: cannot spawn ssh: No such file or directory的一个解决办法
  20. 百度、腾讯、阿里等互联网公司年终奖都发多少?找工作指南

热门文章

  1. Tomcat集群---Cluster节点配置
  2. 关于outlook2007导入导出邮件
  3. Happy Valentine’s Day
  4. PZT-JH30/1压电薄膜极化实验机(30KV以下压电薄膜试样)
  5. flex 联机游戏开发 - 四国军棋游戏:(一)引子
  6. [C++][枚举]熄灯问题
  7. 磨金石教育插画技能干货分享|插画怎么配色才好看?
  8. Asp.net 基础
  9. 看完阮一峰老师的博客后,感觉 OAuth2.0认证就这?
  10. AR乐园实例教程项目1---AR动物园(上)的实现