文档中心 > 淘寶台灣開放平台

賣家授權的介紹

更新时间:2020/07/07 访问次数:424

 

如果您的應用程式需要通過淘寶台灣開放平台訪問淘寶台灣賣家的業務數據(如產品和訂單信息),您需要獲得賣家的授權,即,訪問賣家信息所需要的“Access Token”。您需要指導賣家完成“使用淘寶台灣賣家帳號登錄授權申請”流程。此過程使用國際OAuth2.0標準協議進行使用者身份驗證和授權。

淘寶台灣開放平台採用“Code for token”模式,具體描述如下:

服務器地址https://auth.taobao.tw/oauth/authorize

授權步驟(如圖所示):


連接授權URL

https://auth.taobao.tw/oauth/authorize?response_type=code&force_auth=true&redirect_uri=${app call back url}&client_id=${appkey}

請將“client_id”和“redirect_uri”替換為您的應用程式設定。

下表列出了參數及其描述:

參數

是否必須?

描述

client_id

 

由開放平台分配的您的應用程序App Key。

redirect_uri

創建應用程式時提供的回檔URL。

redirect_uri”是賣方完成授權時回傳給您的接收代碼,它必須與在淘寶台灣開放平台上創建應用程式時提供的回檔URL相同。

response_type

code

值為“code”的授權類型。

force_auth

true

刷新web流覽器cookie以獲得新的授權流程。

state

可自定義,如1212.

應用程式的狀態,與輸入和回應的相同。

uuid

uuid283118319

分配給賣方的身份,可以保護返回的授權碼。



引導賣家授權


引導賣家通過web流覽器打開上述授權URL,會出現如下圖所示的授權登錄頁面。左側顯示了授權之後賣家授予應用程式的權限,賣家需輸入賣家的帳號和密碼,點擊“登錄並授權”後,完成對應用程式的授權。

 
取得授權碼

賣家完成授權後,淘寶台灣開放平台會返回授權碼到回傳URL地址。您的應用程式會通過授權碼來獲取Access Token。網址將為您所設定的 APP回檔位址+授權碼

 

注意:此授權碼將在30分鐘內過期。您需要在過期前使用此代碼獲取access token。


取得 Access Token

使用/auth/token/create API來獲取Access Token。

代碼示例:

IopClient client = new IopClientImpl("https://auth.taobao.tw/rest", appkey, appSecret); 
IopRequest request = new IopRequest("/auth/token/create");
request.addApiParameter("code", "0_TryzT8Vd9T1pwS7VWZ2qlMOS5");
request.addApiParameter("grantType", "authorization_code");
IopResponse response = client.execute(request); 
System.out.println(response.getBody());


保存Token

Access Token將在一定時間範圍內有效。在過期之前,賣家不需要再次授權應用程式。您需要妥善保管最新的Token。


Token樣例:

 注: 此示例中的“access_token”和“refresh_token”僅供參考。

 

{  
"access_token":
"50000601c30atpedfgu3LVvik87Ixlsvle3mSoB7701ceb156fPunYZ43GBg",  
"refresh_token":
"500016000300bwa2WteaQyfwBMnPxurcA0mXGhQdTt18356663CfcDTYpWoi",   
"refresh_expires_in": 259200,  
"account_platform": "seller_center",  
"expires_in": 259200,  
"account": "xxx@gmail.com"   
"user_info":   
[         
    {         
        "seller_id": "1001",         
        "user_id": 10101         
    },         
    {         
        "seller_id": "2001",         
        "user_id": 20101         
    }   
]
}

 

 

下表列出了token的參數和描述:

 

下表列出了token的參數和描述:

Key
Type
Sample
描述
access_token
string
50000601c30atpedfgu3LVvik87Ixlsvle3mSoB7701ceb156fPunYZ43GBg
Access token.
refresh_token
string
500016000300bwa2WteaQyfwBMnPxurcA0mXGhQdTt18356663CfcDTYpWoi
Refresh token, 用於在“refresh_expires_in”>0時刷新。
expires_in
number
25920 (expires in 25920 seconds)
access token的過期時間以秒為單位. "測試"狀態的應用程式, 該值是7天. “在線”狀態的應用程式,該值是30天.
refresh_expires_in
number
25920 (expires in 25920 seconds)
refresh token的過期時間. “測試”狀態的應用程式,該值是 30天.“在線”狀態的應用程式,該值是180天.
account_id
string
706388888
User ID, 當“account_platform” = “seller_center”時可以忽略。
account
string
User account.
account_platform
string
seller_center
用戶平台,支持多個平台。
user_info
json
[
	{
      	"seller_id": "1001",
      	"user_id": 10101
	},
	{
      	"seller_id": "2001",
      	"user_id": 20101
	}
]
 

重新取得授權步驟:

  1. 使用“/auth/token/refresh” 來更新Access Token。

參看如下樣例:

 

IopClient client = new IopClientImpl("https://auth.taobao.tw/rest", appkey, appSecret); 
IopRequest request = new IopRequest("/auth/token/refresh");
request.addApiParameter("refresh_token", "50000601c30atpedfgu3LVvik87Ixlsvle3mSoB7701ceb156fPunYZ43GBg");
IopResponse response = client.execute(request);
System.out.println(response.getBody());

 

通過“/auth/token/refresh”返回的數據結構與通過授權代碼獲取訪問權限返回的數據結構相同。您將獲得新的“access_token”和“refresh_token”。您必須保存最新的“refresh_token”以獲取新的“access_token”。請注意,access_token的時長會被重置,但refresh_token的時長不會被重置。refresh_token過期後,賣家需要重新授權您的應用程式來生成新的access_token和refresh_token。

使用注意事項:

在Refresh Token過期前,賣家不需要再次授權。

如果“refresh_expires_in”= 0,則無法刷新 Access Token。只有當“refresh_expires_in”> 0時,才可以呼叫/auth/token/refresh API來刷新access token。

如果需要更新 Access Token,建議在 Access Token 過期前30分鐘進行刷新。

FAQ

关于此文档暂时还没有FAQ
返回
顶部