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之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习

    JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中 ...

  2. java 运行环境

    1.jre和jdk的区别 jre:java runtime environment, java运行环境,是java程序运行依赖的,包括java的类库的.class文件和kvm. jdk:java de ...

  3. [Ext.Net]TreePanel+gridPanel实例

     @小花要完整例子,尝试一下图文并茂,力求完整. gridPanel TreePanel.JPG (27.49 KB, 下载次数: 16) 下载附件  保存到相册 2013-1-6 11:24 上 ...

  4. 大多数时候是软件的Bug,但是... 有时候的确是硬件的问题!

    在我们性能最好的服务器中,有一台是从之前的64位测试项目中遗留下来的.那台机器配有皓龙250双核处理器,内存有8 GB.服役了一年之后,那种配置仍然是相当不错的.它还有贴心的升级方案可选:它的泰安Th ...

  5. linux知识汇总

    1.     利用Ctrl+Alt+F1到Ctrl+Alt+F6在6个虚拟控制台之间切换,利用Ctrl+Alt+F7切换回图形界面. 2.     使用who命令来判断谁在系统上及其登录方式.id命令 ...

  6. Java之美[从菜鸟到高手演变]之设计模式四

    在阅读过程中有任何问题,请及时联系:egg. 邮箱:xtfggef@gmail.com 微博:http://weibo.com/xtfggef 转载请说明出处:http://blog.csdn.net ...

  7. [Python]Flask构建网站分析应用

    原文Saturday morning hacks: Building an Analytics App with Flask - 由orangleliu友情翻译 ,主要是通过埋点技术来实现web网页的 ...

  8. 《java入门第一季》之面向对象面试题(面向对象都做了哪些事情)

    创建对象内存图解.

  9. AngularJS进阶(四)ANGULAR.JS实现下拉菜单单选

    ANGULAR.JS: NG-SELECT AND NG-OPTIONS PS:其实看英文文档比看中文文档更容易理解,前提是你的英语基础还可以.英文文档对于知识点讲述简明扼要,通俗易懂,而有些中文文档 ...

  10. Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别

    Universal-Image-Loader,android-Volley,Picasso.Fresco和Glide五大Android开源组件加载网络图片比较 在Android中的加载网络图片是一件十 ...