1、注册开发者账号(https://go.developer.ebay.com/)

  hufangyong   hu6253859.

2、注册沙箱测试账号(http://sandbox.ebay.com)

testuser_hufangyong  hu6253859.

3、注册好开发者账号后登陆(如下图),这里需要记录AppID,DevID,CertID。后面API接口请求Token时需要用到,然后点击 User Tokens

4、我们这里选择了Sandbox沙箱环境,所以我们登陆沙箱账号,将沙箱测试账号绑定到开发者账号,然后生成一个授权token

5、登陆了沙箱测试账号后,手动生成的token就已经有了,测试时可以直接copy这个token用

6、打开下面的Get a token from eBay via  Your Application 列表,记录runame,动态获取SessionId时要用到

7、通过上面的手动获取token的过程,我们已经记录了开发者账号的AppID,DevID,CertID,RuName这四个参数。这是在下面通过API接口动态获取Token的必要参数。

根据AppID,DevID, CertID,RuName获取SessionId,然后再拼接成用户登陆验证授权的URL。

  public string GetSessionId()

{

ApiContext localContext = new ApiContext();

ApiAccount apiAccount = new ApiAccount();

apiAccount.Application = AppID;

apiAccount.Developer = DevID;

apiAccount.Certificate = CertID;

localContext.ApiCredential.ApiAccount = apiAccount;

localContext.SoapApiServerUrl="https://api.sandbox.ebay.com/wsapi";

localContext.Version = "981";

localContext.Timeout = 50000;

localContext.Site = SiteCodeType.US;

localContext.ErrorLanguage = ErrorLanguageCodeType.zh_CN;

GetSessionIDCall apiCall = new GetSessionIDCall(localContext);

apiCall.RuName = RuName;

string sessionId = apiCall.GetSessionID();

   return sessionId; //https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn&runame="+runame+"&SessID=" + sessionId

}

8、拼接好URL后,需要用户登陆验证授权(激活这个SessionId),可以粘贴上述地址到浏览器上,也可以在程序中打开,然后用户点击Agree同意授权

9、在用户登陆验证激活SessionId后,就可以通过SessionId来获取Token了

  public  void GetUserTokenBySessionId ( string sessionId)

{

ApiContext localContext = new ApiContext();

ApiAccount apiAccount = new ApiAccount();

apiAccount.Application = application;

apiAccount.Developer = developer;

apiAccount.Certificate = certificate;

localContext.ApiCredential.ApiAccount=apiAccount;

localContext.RuName = runame;

localContext.SoapApiServerUrl="https://api.sandbox.ebay.com/wsapi";

localContext.Version = "981";

localContext.Timeout = 50000;

localContext.Site = SiteCodeType.US;

localContext.ErrorLanguage = ErrorLanguageCodeType.zh_CN;

FetchTokenCall apiCall = new FetchTokenCall(localContext);

apiCall.SessionID = sessionId;

try

{

string token = apiCall.FetchToken(sessionId);

_output.WriteLine("TOKEN:"+token);

}

catch (Exception e)

{

_output.WriteLine("TOKEN:" + e.Message);

}

}

end

eBay账号token授权的更多相关文章

  1. spring-security实现的token授权

    在我的用户密码授权文章里介绍了spring-security的工作过程,不了解的同学,可以先看看用户密码授权这篇文章,在 用户密码授权模式里,主要是通过一个登陆页进行授权,然后把授权对象写到sessi ...

  2. 如何在启用JWT Token授权的.NET Core WebApi项目中下载文件

    背景 前几天,做项目的时候遇到一个文件下载的问题.当前系统是一个前后端分离的项目,前端是一个AngularJs项目, 后端是一个.NET Core WebApi项目.后端的Api项目使用了Jwt To ...

  3. SpringBoot 通过jjwt快速实现token授权

    A 10分钟了解JSON Web令牌(JWT)https://baijiahao.baidu.com/s?id=1608021814182894637&wfr=spider&for=p ...

  4. 微信公众账号 token 验证失败 解决办法

    问题:微信公众账号 开发过程中配置  token 提示 验证失败 如下图: 点击修改配置: 填写相关url与token(自定义):点击提交,会出现 出现这种情况,主要是对相关参数不熟悉,要了解url与 ...

  5. 003:MySQL账号创建授权以及Workbench

    目录 一. 权限管理 1."用户 + IP"的概念 2. 用户权限管理 3. 基本操作 4. 撤销权限 5.授权和创建用户 二. MySQL模拟角色 三. Workbench与Ut ...

  6. mysql创建账号、授权、数据导出、导入

    1.账号创建及授权 grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant opti ...

  7. ASP.NET Core 3.1使用JWT认证Token授权 以及刷新Token

    传统Session所暴露的问题 Session: 用户每次在计算机身份认证之后,在服务器内存中会存放一个session,在客户端会保存一个cookie,以便在下次用户请求时进行身份核验.但是这样就暴露 ...

  8. 温故知新,.Net Core遇见JWT(JSON Web Token)授权机制方案

    什么是JWT JWT (JSON Web Token) 是一个开放标准,它定义了一种以紧凑和自包含的方法,用于在双方之间安全地传输编码为JSON对象的信息. 因此,简单来说,它是JSON格式的加密字符 ...

  9. Ubuntu 18.04 启动root账号并授权远程登录

    Ubuntu 18.04 刚刚上市2个月,下载安装,尝尝鲜~ 安装界面看上去舒服许多, 安装的速度也较之前17.04 和16.04 都快了许多.抱歉,未截图. Ubuntu 安装完成后默认不启动roo ...

随机推荐

  1. 《java入门第一季》之集合toString源码解析

    代码: Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add(" ...

  2. Jeff Atwood:Google的头号UI问题

    谷歌在用户界面上追求的"极简主义"是让人叹为观止的.但是,他们首页上有个问题一直让我困惑不解.要知道,这个页面可是每天都被下载几百万次哦: 真有人在使用"I'm Feel ...

  3. Linux IPC实践(12) --System V信号量(2)

    实践1:信号量实现进程互斥 父子进程执行流程如下: 父进程 子进程 P P O(print) X(print) sleep sleep O(print) X(print) V V sleep slee ...

  4. 《java入门第一季》之Math类一个小案例获取任意数值范围内随机数

    Math:用于数学运算的类. import java.util.Scanner; /* * 需求:请设计一个方法,可以实现获取任意范围内的随机数. * * 分析: * A:键盘录入两个数据. * in ...

  5. Gradle实现的两种简单的多渠道打包方法

    本来计划今天发Android的官方技术文档的翻译--<Gradle插件用户指南>的第五章的,不过由于昨天晚上没译完,还差几段落,所以只好推后了. 今天就说一下使用Gradle进行类似友盟这 ...

  6. MySQL学习笔记_10_MySQL高级操作(下)

    MySQL高级操作(下) 五.MySQL预处理语句 1.设置预处理stmt,传递一个数据作为where的判断条件 prepare stmt from "select * from table ...

  7. How to SetUp The Receiving Transaction Manager

    In this Document   Goal   Solution   References APPLIES TO: Oracle Inventory Management - Version: 1 ...

  8. RB-tree (红黑树)相关问题

    今天被问到了红黑树的规则,简述总结一下: 1.每个节点不是红色就是黑色. 2.根节点为黑色. 3.如果节点为红,其子节点必须为黑. 4.任一节点至NULL(树尾端)的任何路径,所含之黑节点数必须相同. ...

  9. Unable To Import Or Enter Sale Order - ORA-20001: APP-FND-01564: ORACLE error - 1422 in get_seq_info

    In this Document   Symptoms   Cause   Solution APPLIES TO: Oracle Order Management - Version 12.0.4 ...

  10. BASE64Decoder小解

    BASE64Decoder小解 Base64 是网络上最常见的用于传输8Bit 字节代码的编码方式之一,大家可以查看RFC2045 -RFC2049 ,上面有MIME 的详细规范. Base64 要求 ...