OAuth快速入门指导
发布时间:2017-04-21 最近刷新时间:
*clientSecret - Cert ID (Client Secret)
*redirectUri - OAuth Enabled RuName for the clientId
授权代码的生命周期只有5分钟,5分钟以后需重新获取用户授权。
第二步: 用授权代码交换用户token (User Token)和更新token (refresh_token)
<URL-decoded-auth-code>: ******获取到的授权代码。
比如说,你可以使用网站 http://meyerweb.com/eric/tools/dencoder/ ***。一个URL-decoded-auth-code示例: v^1.1#i^1#r^1#p^3#I^3#f^0#t^Ul4xXzE0QzJGQ0I2RDA2NENDMUY4MDkwRjQ3NDE3MzdENzU2XzJfMSNFXjEyODQ=
<B64-encoded-oauth-credentials>: 格式是 <your_client_id>:<your_client_secret> ,需64位编码。
比如说,你可以使用网站 https://www.base64encode.org/ 进行编码。
一个成功的回复包括 access_token, expires_in,refresh_token and refresh_token_expires_in
其中access_token是用来执行API 调用的token,时效非常有限。 refresh_token是用来重新获取用户token的更新token,需保存管理。
第三步:当access_token过期之后,使用第二步中获取的 refresh_token来生成一个新的token。
请注意,这里的 scope需与***使用的scope一致。
一个成功的回复类似:
有问题请联系我们: DL-eBay-CBT-API@ebay.com。
发布时间:2017-04-21 最近刷新时间:
Buy & Sell APIs采用的是Oauth token机制, 与Trading API的token不通用。 使用Buy & Sell API, 需要获取用户的Oauth token。下面详细列出了如何获取用户访问级别的Oauth token (Getting an user access token) 步骤。
首先,你需要知道一些必要的参数:
*client_id - App ID (Client ID)*clientSecret - Cert ID (Client Secret)
*redirectUri - OAuth Enabled RuName for the clientId
*redirectUrl - Auth Accepted URL associated with the redirectUri
以上均可通过开发者账户设置查看:
获取用户OAuth token步骤:
***: 获取用户允许并获取授权代码给应用
https://signin.sandbox.ebay.com/authorize?client_id=<your_client_id>
&redirect_uri=<your_redirect_uri>
&response_type=code
&scope=<URL-encoded-scope-name(s)>
<URL-decoded-auth-code>: 放入URL请求中的scope需要编码处理;多个scope之间以空格隔开。Sell API scope 清单:
https://api.ebay.com/oauth/api_scope
https://api.ebay.com/oauth/api_scope/buy.order.readonly
https://api.ebay.com/oauth/api_scope/buy.guest.order
https://api.ebay.com/oauth/api_scope/sell.marketing.readonly
https://api.ebay.com/oauth/api_scope/sell.marketing
https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
https://api.ebay.com/oauth/api_scope/sell.inventory
https://api.ebay.com/oauth/api_scope/sell.account.readonly
https://api.ebay.com/oauth/api_scope/sell.account
https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
https://api.ebay.com/oauth/api_scope/sell.fulfillment
https://api.ebay.com/oauth/api_scope/sell.analytics.readonly
https://api.ebay.com/oauth/api_scope/buy.order.readonly
https://api.ebay.com/oauth/api_scope/buy.guest.order
https://api.ebay.com/oauth/api_scope/sell.marketing.readonly
https://api.ebay.com/oauth/api_scope/sell.marketing
https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
https://api.ebay.com/oauth/api_scope/sell.inventory
https://api.ebay.com/oauth/api_scope/sell.account.readonly
https://api.ebay.com/oauth/api_scope/sell.account
https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly
https://api.ebay.com/oauth/api_scope/sell.fulfillment
https://api.ebay.com/oauth/api_scope/sell.analytics.readonly
授权代码的生命周期只有5分钟,5分钟以后需重新获取用户授权。
第二步: 用授权代码交换用户token (User Token)和更新token (refresh_token)
POST /identity/v1/oauth2/token HTTP/1.1
Host: api.sandbox.ebay.com
Authorization: Basic <B64-encoded-oauth-credentials>
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=<URL-decoded-auth-code>&redirect_uri=<your_redirect_uri>
<URL-decoded-auth-code>: ******获取到的授权代码。
比如说,你可以使用网站 http://meyerweb.com/eric/tools/dencoder/ ***。一个URL-decoded-auth-code示例: v^1.1#i^1#r^1#p^3#I^3#f^0#t^Ul4xXzE0QzJGQ0I2RDA2NENDMUY4MDkwRjQ3NDE3MzdENzU2XzJfMSNFXjEyODQ=
<B64-encoded-oauth-credentials>: 格式是 <your_client_id>:<your_client_secret> ,需64位编码。
比如说,你可以使用网站 https://www.base64encode.org/ 进行编码。
一个成功的回复包括 access_token, expires_in,refresh_token and refresh_token_expires_in
{
"access_token": "v^1.1#i^1#r^0#I^3#p^3#...AAAOVXe2xTVRhf121kjo0YUGDxUS5v5LbnPnrbe0Mr3YO0uE",
"token_type": "User Access Token",
"expires_in": 7200,
"refresh_token": "v^1.1#i^1#p^3#f^0#I^3#r^1#t^Ul4yX0Y0OUY1RjRENTU2NDZENTBFQ0E4ODg3MzE2Q0RFQj
M2XzdfMSNFXjI2MA==",
"refresh_token_expires_in": 47304000
}
其中access_token是用来执行API 调用的token,时效非常有限。 refresh_token是用来重新获取用户token的更新token,需保存管理。
第三步:当access_token过期之后,使用第二步中获取的 refresh_token来生成一个新的token。
HTTP headers:
Content-Type = application/x-www-form-urlencoded
Authorization = Basic <B64-encoded-oauth-credentials>
Request body:
grant_type=refresh_token&refresh_token=<refresh_token value obtained in the step 2>&scope=<URL-encoded-scope-name(s)>
请注意,这里的 scope需与***使用的scope一致。
POST /identity/v1/oauth2/token HTTP/1.1
Host: api.sandbox.ebay.com
Authorization: Basic <B64-encoded-oauth-credentials>
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token=v^1.1#i^1#p^3#f^0#I^3#r^1#t^Ul4yX0Y0OUY1RjRENTU2NDZENTBFQ0E4ODg3MzE2Q0RFQj
M2XzdfMSNFXjI2MA==
&scope=https%3A%2F%2Fapi.ebay.com%2Foauth%2Fscope%2Fsell%40user
一个成功的回复类似:
{
"access_token": "v^1.1#i ... AjRV4yNjA=",
"token_type":"User Access Token",
"expires_in": 7200,
"refresh_token": "N/A"
}
有问题请联系我们: DL-eBay-CBT-API@ebay.com。