EBay 接口开发(restful接口调用)

ebay 专栏收录该内容
1 篇文章 0 订阅

       最近公司需要从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编码。

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

  • 2
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

宋大大是大大宋

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值