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. [C++学习历程]基础部分 C++中的函数中的值参数、地址参数、引用参数实际例子

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/20406269 作者:sushengmiyan // sushengmiyanTest. ...

  2. Linux信号实践(1) --Linux信号编程概述

    中断 中断是系统对于异步事件的响应, 进程执行代码的过程中可以随时被打断,然后去执行异常处理程序; 计算机系统的中断场景:中断源发出中断信号 -> CPU判断中断是否屏蔽屏蔽以及保护现场 -&g ...

  3. Leetcode_70_Climbing Stairs

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41851705 You are climbing a sta ...

  4. 解决在onCreate()过程中获取View的width和Height为0的方法

    最近在看Android底层代码的view绘制原理的时候讲到一个很有意思的事情,也是我几年前刚开始学习Android开发的时候比较纳闷的一个问题,如果你不理解Android的底层绘制,请看我之前一片文章 ...

  5. MySQL数据库写入图片并读取图片显示到JLabel上的详解

    相较于Oracle,MySQL作为一个轻量级的开源的数据库,可谓是大大简化了我们的操作.这次我就来写一个关于数据库存入图片,获取图片的例子吧,也为了今后的复习使用.(我们一般采取存入路径的方式,而不是 ...

  6. OC语言大总结(上)

    根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强  未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 第一节类于对象   类与对象http:// ...

  7. EBS 外部信用风险检查

    DECLARE l_msg_count NUMBER; l_msg_data VARCHAR2(2000); l_return_status VARCHAR2(30); l_cc_hold_comme ...

  8. 关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题

    设置.js文件默认以jsx的语法打开 在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示: 当然我们点击转换后就可以了,但是每次都会提示,所以还是来一个 ...

  9. leetcode【67】-Bulb Switcher

    题目描述: There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off ...

  10. 一个App与另一个App之间的交互,添加了自己的一些理解

    URL Scheme 是什么? iOS有个特性就是应用将其自身"绑定"到一个自定义 URL scheme 上,该 scheme用于从浏览器或其他应用中启动本应用.常见的分享到第三方 ...