1. 首先 配置环境加载依赖的ebay SDK

下载地址 https://go.developer.ebay.com/ebay-sdks

需要在本地仓库安装下面的jar

  1. mvn install:install-file -Dfile=C:\ebay\ebaysdkjava1055\lib\ebaycalls.jar -DgroupId=com.ebay -DartifactId=ebaycalls -Dpackaging=jar -DgeneratePom=true -Dversion=1.7.0
  2. mvn install:install-file -Dfile=C:\ebay\ebaysdkjava1055\lib\ebaysdkcore.jar -DgroupId=com.ebay -DartifactId=ebaysdkcore -Dpackaging=jar -DgeneratePom=true -Dversion=1.7.0
  3. mvn install:install-file -Dfile=C:\ebay\ebaysdkjava1055\lib\helper.jar -DgroupId=com.ebay -DartifactId=helper -Dpackaging=jar -DgeneratePom=true -Dversion=1.7.0

2. 获取sessionId

  1. import com.ebay.sdk.ApiAccount;
  2. import com.ebay.sdk.ApiContext;
  3. import com.ebay.sdk.call.FetchTokenCall;
  4. import com.ebay.sdk.helper.ConsoleUtil;
  5.  
  6. import java.io.IOException;
  7. public class EbayGetSessionIdController {
  8.  
  9. public static void main(String[] args) {
  10. try {
  11. // Instantiate ApiContext and initialize with token and Trading API URL
  12. ApiContext apiContext = getApiContext();
  13. obtainSessionID(apiContext);
  14. obtainUserToken(apiContext);
  15. } //try
  16. catch(Exception e) {
  17. System.out.println("Fail to get sessionID.");
  18. e.printStackTrace();
  19. }
  20. }
  21.  
  22. private static void obtainUserToken(ApiContext apiContext) throws Exception {
  23. FetchTokenCall fetchTokenCall = new FetchTokenCall(apiContext);
  24. fetchTokenCall.setSessionID("#{sessionId}");
  25. String token = fetchTokenCall.fetchToken();
  26. System.out.println("token :"+token);
  27. }
  28.  
  29. private static void obtainSessionID(ApiContext apiContext) throws Exception {
  30. //Create call object and execute the call
  31. GetSessionIDCall apiCall = new GetSessionIDCall(apiContext);
  32. apiCall.setRuName("#{ru_name}");
  33. String sessionID = apiCall.getSessionID();
  34. //Handle the result returned
  35. System.out.println("sessionID : " + sessionID);
  36. String url = "https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&runame=#{ru_name}&SessID=" + sessionID;
  37. System.out.println("url: "+url);
  38. openBrowser(url);
  39. }
  40.  
  41. public static boolean openBrowser(String url) {
  42. if (url == null) return false;
  43. String[] unixBrowser = new String[] { "google-chrome", "firefox" };
  44. boolean success = false;
  45. if (System.getProperty("os.name").toLowerCase().startsWith("win")) {
  46. try {
  47. Runtime.getRuntime().exec(
  48. new String[] { "rundll32.exe", "url.dll,FileProtocolHandler", url });
  49. success = true;
  50. } catch (Exception e) {
  51. }
  52. } else {
  53. for (int i = 0; i < unixBrowser.length; ++i)
  54. try {
  55. Runtime.getRuntime().exec(new String[] { unixBrowser[0], url });
  56. success = true;
  57. break;
  58. } catch (Exception e) {
  59. }
  60. }
  61. return success;
  62. }
  63.  
  64. // Initializes ApiContext with token and eBay API server URL
  65. private static ApiContext getApiContext() throws IOException {
  66.  
  67. String input;
  68. ApiContext apiContext = new ApiContext();
  69. //set Api Server Url
  70. input = ConsoleUtil.readString("Enter eBay SOAP server URL (e.g., https://api.ebay.com/wsapi): ");
  71. apiContext.setApiServerUrl(input);
  72. ApiAccount apiAccount = new ApiAccount();
  73. String appId = "your app id";
  74. String devId = "your deveoper id";
  75. String certId = "your Cert ID ";
  76. apiAccount.setApplication(appId);
  77. apiAccount.setDeveloper(devId);
  78. apiAccount.setCertificate(certId);
  79. apiContext.getApiCredential().setApiAccount(apiAccount);
  80. return apiContext;
  81. } //getApiContext
  82. }

上面有4个参数需要获取

appId、devId、certId、ru_name

登录ebay deveopers program后,在首页->My Account->Application Keys页面下,可以看到AppId 、DevId、CertId

然后 点击上图中的User Token

上图中拿到RuName

3. 获得相应的use token

结果如下图所示:

  1. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2. <soapenv:Header/>
  3. <soapenv:Body>
  4. <FetchTokenResponse xmlns="urn:ebay:apis:eBLBaseComponents">
  5. <Timestamp>2018-05-30T08:26:55.783Z</Timestamp>
  6. <Ack>Success</Ack>
  7. <Version>1059</Version>
  8. <Build>E1059_CORE_APISIGNIN_18690974_R1</Build>
  9. <eBayAuthToken>xxxxxx</eBayAuthToken>
  10. <HardExpirationTime>2019-11-21T08:25:46.000Z</HardExpirationTime>
  11. </FetchTokenResponse>
  12. </soapenv:Body>
  13. </soapenv:Envelope>

参考资料:

https://blog.csdn.net/sunwukong54/article/details/12092187

http://developer.ebay.com/devzone/xml/docs/howto/tokens/gettingtokens.html

ebay 如何获取用户token的更多相关文章

  1. 融云SDK:获取用户Token的方法

    融云SDK查看ServerAPI里面有个获取Token的方法,本以为只要传三个参数就可以.后来发现,在请求头有几个必须要传的参数,否则服务器返回401(未授权).拿获取Token接口为例子 如图所示, ...

  2. .NET微信开发通过Access Token和OpenID获取用户信息

    本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言. 本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息 ...

  3. OAuth2.0 微博登陆网站功能的实现(一)获取用户授权及令牌 Access Token

    在登陆一些网站的时候,可以选择登陆方式为第三方登陆,例如微博登陆,以爱奇艺为例,进入首页,点击 ”登陆“,会弹出登录框: 除了本站登陆外,还可以选择其他第三方登陆,比如微博登陆.QQ 登陆.微信登陆等 ...

  4. 后台获取用户登录token 和获取前端参数方法

    //获取request请求中所有参数 Enumeration<String> names = request.getParameterNames(); HashMap<String, ...

  5. 再谈Token认证,如何快速方便获取用户信息

    前面我写了一篇<Token认证,如何快速方便获取用户信息>的文章,引起了各位读者的积极参与,除了文章中我提出的三种方式,各位读者大佬们也贡献了其他多种实现方式. 今天决定基于大家提供的思路 ...

  6. Token认证,如何快速方便获取用户信息

    背景 我们有一个Web项目,这个项目提供了很多的Rest API.也做了权限控制,访问API的请求必须要带上事先认证后获取的Token才可以. 认证的话就在Filter中进行的,会获取请求的Token ...

  7. Spring Cloud云架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)

    上一篇我根据框架中OAuth2.0的使用总结,画了SSO单点登录之OAuth2.0 登出流程,今天我们看一下根据用户token获取yoghurt信息的流程: /** * 根据token获取用户信息 * ...

  8. 整合spring cloud云架构 - 根据token获取用户信息

    根据用户token获取yoghurt信息的流程: /** * 根据token获取用户信息 * @param accessToken * @return * @throws Exception */ @ ...

  9. jwt token校验获取用户数据

    /** * 用户登录成功之后,获取用户信息 * 1.获取用户id * 2.根据id查询用户 * 3.构建返回值对象 * 4.返回数据 * @return */@RequestMapping(value ...

随机推荐

  1. Probabilistic interpretation

    Under the previous probabilistic assumptions on the data, least-squares regression corresponds to fi ...

  2. ECS服务器配置密钥登录及常用日志

    一.介绍 1.SSH(22端口)是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)制定:在进行数据传输之前,SSH先对联机数据包通 ...

  3. JS制作一个创意数字时钟

    通过js代码制作一个创意数字时钟 通过JS代码实现创意数字时钟效果如下:由数字化的卡通形象图片取代常规的数字显示当前实时北京时间.具体效果示例: 核心重点: (1)Date方法的初步了解 (2)构建模 ...

  4. ACM_校庆素数

    校庆素数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 广财建校33年了,如今迎来了她的校庆. 小财最近想在研究素数,她突发奇想 ...

  5. Windows8.1查看已连接无线WIFI密码

    Windows8.1操作系统下查看已连接无线wifi密码操作步骤如下: 1.右键任务栏中的无线图标,在弹出的菜单中选择"打开网络和共享中心": 2.在网络和共享中心界面中点击&qu ...

  6. 9i 和 11 g 区别

    9i 和 11 g 区别 9i 不支持 2/4/8G,只支持 2000/4000/8000 M的

  7. jquery中有关cookie的使用简要说明

    jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. <script type="text/javascri ...

  8. 纵横填字map版(初始数据结构)

    新数据结构设计: 定义一个map: key是横纵坐标字符串,比如“0,4” value是一个json,包含以下属性:字,横向的词(若 有的话,无的话,空串),纵向的词(若有的话,无的话,空串). 另有 ...

  9. log4j建立propertie后要建立log4j2.xml

    log4j.properties ### \u8BBE\u7F6E### log4j.rootLogger = debug,stdout,D,E ### \u8F93\u51FA\u4FE1\u606 ...

  10. ARP劫持处理指令集

    第一组(据传xp有效,未实验) arp -a arp -d arp -s IP地址 MAC地址 第二组(windows2008R2有效,已实验) netsh i i show in (记住其中本地连接 ...