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. ADFS部署过程中设置network service对证书的读取权限

    今儿在部署客户正式环境的ADFS时候遇到一问题,在配置完基于声明的身份验证后通过url访问居然报错了,这干过N回的事怎么会出错了呢,百思不得其解 网页报错如下 系统日志报错如下, 回想过程中的每一步, ...

  2. EBS Form个性化的工作原理

    Form的个性化是EBS的比较好用的一个东西.好像很少人研究它的工作原理,都是直接用.最近有个同事问我问题,说他在个性化编写的代码无效果.解决之后,才发现,原来传说中的EBS的Form的个性化是这样子 ...

  3. web安全认证机制知多少

    如今web服务随处可见,成千上万的web程序被部署到公网上供用户访问,有些系统只针对指定用户开放,属于安全级别较高的web应用,他们需要有一种认证机制以保护系统资源的安全,本文将探讨五种常用的认证机制 ...

  4. 【Unity Shaders】Using Textures for Effects——让sprite sheets动起来

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  5. (NO.00003)iOS游戏简单的机器人投射游戏成形记(八)

    回到Xcode,新建ArmStatic类,继承于CCSprite.同样在初始化方法中打开用户交互. 下面添加触摸回调方法,touchBegan以及touchMoved方法和Arm基本相同,主要不同处在 ...

  6. Linux0.11进程切换和TSS结构

    TSS 全称为task state segment,是指在操作系统进程管理的过程中,进程切换时的任务现场信息.       X86体系从硬件上支持任务间的切换.为此目的,它增设了一个新段:任务状态段( ...

  7. 【Linux学习笔记】关于ubuntu开机菜单栏和任务栏不见了的有效解决方法

    (一) 问题描述 ubuntu开机只有桌面,没有菜单栏和任务栏,如下图: (二) 问题解决 刚学习ubuntu,总有些像我这样不折腾就不舒服的人,今天改了一下主题,图标什么的,重启开机后就发现!咦!我 ...

  8. Opencv学习笔记------Harris角点检测

    image算法测试iteratoralgorithmfeatures 原创文章,转载请注明出处:http://blog.csdn.net/crzy_sparrow/article/details/73 ...

  9. Android系统修改硬件设备访问权限

    Android系统修改硬件设备访问权限 在硬件抽象层模块文件(so)文件中,提供的函数调用open函数来打开设备文件,比如/dev/gpio,如果不修改设备文件/dev/gpio的访问权限,那么应用程 ...

  10. DigitalClock的替代者TextClock

    DigitalClock在API 17(Android4.2)中就被官方定义为过时的方法,很奇怪为什么现在很多的网上的帖子都介绍DigitalClock方法的使用(已经过时),如果你想让自己的应用在高 ...