eBay账号token授权
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授权的更多相关文章
- spring-security实现的token授权
在我的用户密码授权文章里介绍了spring-security的工作过程,不了解的同学,可以先看看用户密码授权这篇文章,在 用户密码授权模式里,主要是通过一个登陆页进行授权,然后把授权对象写到sessi ...
- 如何在启用JWT Token授权的.NET Core WebApi项目中下载文件
背景 前几天,做项目的时候遇到一个文件下载的问题.当前系统是一个前后端分离的项目,前端是一个AngularJs项目, 后端是一个.NET Core WebApi项目.后端的Api项目使用了Jwt To ...
- SpringBoot 通过jjwt快速实现token授权
A 10分钟了解JSON Web令牌(JWT)https://baijiahao.baidu.com/s?id=1608021814182894637&wfr=spider&for=p ...
- 微信公众账号 token 验证失败 解决办法
问题:微信公众账号 开发过程中配置 token 提示 验证失败 如下图: 点击修改配置: 填写相关url与token(自定义):点击提交,会出现 出现这种情况,主要是对相关参数不熟悉,要了解url与 ...
- 003:MySQL账号创建授权以及Workbench
目录 一. 权限管理 1."用户 + IP"的概念 2. 用户权限管理 3. 基本操作 4. 撤销权限 5.授权和创建用户 二. MySQL模拟角色 三. Workbench与Ut ...
- mysql创建账号、授权、数据导出、导入
1.账号创建及授权 grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant opti ...
- ASP.NET Core 3.1使用JWT认证Token授权 以及刷新Token
传统Session所暴露的问题 Session: 用户每次在计算机身份认证之后,在服务器内存中会存放一个session,在客户端会保存一个cookie,以便在下次用户请求时进行身份核验.但是这样就暴露 ...
- 温故知新,.Net Core遇见JWT(JSON Web Token)授权机制方案
什么是JWT JWT (JSON Web Token) 是一个开放标准,它定义了一种以紧凑和自包含的方法,用于在双方之间安全地传输编码为JSON对象的信息. 因此,简单来说,它是JSON格式的加密字符 ...
- Ubuntu 18.04 启动root账号并授权远程登录
Ubuntu 18.04 刚刚上市2个月,下载安装,尝尝鲜~ 安装界面看上去舒服许多, 安装的速度也较之前17.04 和16.04 都快了许多.抱歉,未截图. Ubuntu 安装完成后默认不启动roo ...
随机推荐
- 《java入门第一季》之集合toString源码解析
代码: Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add(" ...
- Jeff Atwood:Google的头号UI问题
谷歌在用户界面上追求的"极简主义"是让人叹为观止的.但是,他们首页上有个问题一直让我困惑不解.要知道,这个页面可是每天都被下载几百万次哦: 真有人在使用"I'm Feel ...
- Linux IPC实践(12) --System V信号量(2)
实践1:信号量实现进程互斥 父子进程执行流程如下: 父进程 子进程 P P O(print) X(print) sleep sleep O(print) X(print) V V sleep slee ...
- 《java入门第一季》之Math类一个小案例获取任意数值范围内随机数
Math:用于数学运算的类. import java.util.Scanner; /* * 需求:请设计一个方法,可以实现获取任意范围内的随机数. * * 分析: * A:键盘录入两个数据. * in ...
- Gradle实现的两种简单的多渠道打包方法
本来计划今天发Android的官方技术文档的翻译--<Gradle插件用户指南>的第五章的,不过由于昨天晚上没译完,还差几段落,所以只好推后了. 今天就说一下使用Gradle进行类似友盟这 ...
- MySQL学习笔记_10_MySQL高级操作(下)
MySQL高级操作(下) 五.MySQL预处理语句 1.设置预处理stmt,传递一个数据作为where的判断条件 prepare stmt from "select * from table ...
- How to SetUp The Receiving Transaction Manager
In this Document Goal Solution References APPLIES TO: Oracle Inventory Management - Version: 1 ...
- RB-tree (红黑树)相关问题
今天被问到了红黑树的规则,简述总结一下: 1.每个节点不是红色就是黑色. 2.根节点为黑色. 3.如果节点为红,其子节点必须为黑. 4.任一节点至NULL(树尾端)的任何路径,所含之黑节点数必须相同. ...
- 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 ...
- BASE64Decoder小解
BASE64Decoder小解 Base64 是网络上最常见的用于传输8Bit 字节代码的编码方式之一,大家可以查看RFC2045 -RFC2049 ,上面有MIME 的详细规范. Base64 要求 ...