授權簽名與SDK


登入授權相關

@
1、什麼是授權,如何授權?
所謂授權,即獲取 Access Token ,應用程式獲取到了Access Token 即意味著取得了用戶的授權,可以替用戶向TOP(開放平台)請求用戶的隱私資訊(如商品、訂單等)。這裡的Access Token(Oauth2.0協議,目前應用程式皆預設該協定) 即是原來「TOP授權協定」 時取到的SessionKey。取得授權詳細方法可點  這裡  參考

2、Access Token(SessionKey) 的有效時長只有24小時,如何提升?
「線上訂購」應用正式環境測試階段,Access Token 有效時長固定24小時,無法提高,失效後需重新授權;應用上線後(需審核)Access Token有效時長會自動提高(並訂購時長一致),各應用授權有效時長如下:

 訂購時間綁定 xTao合作網站 24小時# 商家後台系統
標籤名稱# 正式測試環境 上線運行中 備註
 備註
 線上訂購應用程式 24小時
 如應用程式上線後,用戶訂購1年,則Access Token有效1年。更詳細說明參考這裡;
# 24小時 
### 24小時# ########### 1年######### ################ 店鋪模組前臺######################################################################################## ## 無session############ 無session########## ############### 店鋪模組後台##### ####### 24小時############ 訂購時間綁定######### ############### 新業務############24小時############ 1年######### ############

@
3、授權報錯: application callback can not match the redirect_uri (錯誤碼:invalid_client),什麼原因?
授權時請求url 中的uri 值與應用回呼位址不一致導致,修改uri 和回呼位址一致即可
 
4、授權1001 錯誤(此應用程式不允許目前用戶訪問,下圖所示),如何解決?

此錯誤是給應用程式授權的使用者未在應用程式授權清單裡,登入開放平台應用「授權管理」頁面,綁定需授權使用者即可。只有授權是小部分人使用的應用程式需要設定(如商家後台系統、未上線的線上訂購應用程式)。

T1FKdYFslmXXb1upjX.jpg


5、使用code 取得Access Token時,報如下錯誤,如何處理?
"error": "invalid_client",  "error_description": "authorize code qexkqiJRNXJXEPTjPTWYYsK5486529 invalidate,please authorize again."
授權後回呼位址上取得的重複使用 codehorize again."
授權後回呼地址上取得的重複 code報該錯誤。重新授權或code 重試即可
6、程式如何判斷授權(Access Token)失效時間?

應用程式可記錄使用者授權時間,再結合在取得Access Token 時傳回的expires_in ( Access Token有效時間,單位秒)即可判斷。
7、應用程式如何支援子帳號授權?

1)應用程式授權管理頁面勾選「支援淘寶子帳號登入授權」;2)主帳號給應用程式授權;3)主帳號登入賣家中心,授予子帳號應用程式權限
#8、線上訂​​購應用程式上線用戶訂購後,應用程式本身需要做什麼操作,或者是怎麼去判斷用戶訂購的版本資訊等?
用戶(賣家)訂購後在我購買的服務裡能看到應用,點"立即使用"就會進入授權頁面(系統自動完成,和正式環境區別是,正式環境需給出授權URL讓使用者存取),使用者授權後TOP會傳回CODE 參數到回呼位址上,ISV 用這個參數使用POST方式取得到賣家nick 等資訊(詳細參考這裡)。然後再呼叫服務平台API (點 這裡
查看)進行判斷,用戶訂購的時長,何種套餐等,之後應用再給予對應的權限。

補充:使用者首次造訪(從「賣家中心--我購買的服務」進入),有彈出授權頁面,授權後返回CODE給應用程式並據此取得nick可判斷使用者身分。雖然在這之後第二次、第三次訪問應用,並未彈出授權頁面,但CODE仍會返回到回調地址上
9、有3個淘寶店鋪,現需要在一個應用下,取三個店舖的商品訊息,用淘寶taobao.items.inventory.get sessionkey只能取到一個店舖的商品資訊。這種情況要如何處理?

分別取到3間店舖的sessionkey,取得方法可參考 //open.taobao.com/doc/detail.htm?id=101423 。取得後參考下列範例取得商品資訊:
如店家A 下方有appkey (888 ),現想用taobao.items.inventory.get 取店舖B 的商品 。
A)取店舖A 商品時,是店舖A 給888授權並取得sessionkeyA,然後調api 時傳人sessionkeyA 取得店鋪A 商品。
B)取店舖B商品時,是店舖B給888授權並取得sessionkeyB,然後調api 時,傳人sessionkeyB取得店舖B的授權。
10、授權常見錯誤及說明

####父帳號未授權或授權已過期

錯誤訊息

錯誤原因

request method must be get/post

該請求必須用GETPOST

client_id is empty

#client_id(appkey)不能為空

response_type is empty

response_type#不能為空

redirect_uri is empty

redirect_uri不能為空

grant type is empty

## grant type不能為空

#authorize code is empty

authorize code不能為空

unsupported response type ,

the response type must code or token

response type#的值必須為codetoken

redirect_uri is invalidate

redirect_uri 和在開發者中心註冊的回呼位址不一致

the grant type unsupported

#

grant type值無效

authorize reject

用戶拒絕授權

authorize code expire

authorize code#失效,請重新授權

authorize code xxxx invalidate,please authorize again.

##authorize code失效,請重新授權

client_secret is invalidate

##app secret#已校驗失敗

xss chars included in params, such as <, >, ', "

#請求參數中帶有以下字元:<, >, ', "

The Application already Bind with user ids:xxx

#授權使用者未在開發者中心授權管理頁面綁定#

Can not find the client_id:xxxxx

client_id(appkey)不存在

#Application need publish

#只有狀態為正式環境測試上線運行中的應用程式才允許授權

##Application xxx need purchase

#必須先訂購才能使用

app call back is invalidate

套用的回呼位址不合法

application callback can not match the redirect_uri

redirect_uri

#############################################################################################################################################4 ###和事先配置的回呼位址不符#########################only support http or https####################################################################### ########回呼######URL######只支援#######https######或#####http##### #協定######

application in black list,access forbidden.

app #存在黑名單中

The application don't need session

此應用程式不需要session key,不用刷新session key

session key num is larger than xx

#有效session key個數超過上限

在控制台中的授權管理裡面進行設定。

#

userid is invalidate

userId ##不存在

login failure

#使用者登入失敗

login sign failure

#無線登入簽章校驗失敗

taobao staff can't accredit

淘寶小二不允許訪問

subuser can't access

#應用程式不支援子帳號存取

parent account forbid this sub account to access app.

父帳號未授權此子帳號存取應用

#parent account forbidden

####refresh token is empty############ #######refresh token######為空#######

refresh token is error:xxxx

refresh token#內容有誤解析失敗

refresh token is invalid

refresh token已經失效

#refresh times limit exceed

#刷新次數超過上限,一個session key一天最多可刷新60

session expire

目前會話已經過期,可能使用者瀏覽器暫停太久已經逾時

OAUTH SERVER ERROR:xxxxx

系統內部錯誤,請重試

#Iossdk params is lack

#缺少ios sdk協定參數

## #################iossdk track_id is invalid#################ios sdk#######協定參數# #####track id######校驗失敗。建議核對一下######app secret######

iossdk params check failed

ios sdk協議參數校驗失敗

簽章SDK相關

##@
##1、什麼是簽名(sign),如何產生?

參考文件//open.taobao.com/doc/detail.htm?id=101617 (第一部分sign 相關內容)
2、呼叫api 封包“Invalid signature”錯誤,什麼原因?

1)AppSecret錯誤,如輸入了錯誤的AppSecret 或AppSecret 被重置過
2)產生簽章時的參數 和 http請求時參數不一致導致錯誤。
3)簽章方法有誤,建議參考我們提供範例程式碼 //open.taobao.com/doc/detail.htm?id=112 。
3、sdk的作用及如何下載?

淘寶開放平台的SDK是由程式自動化產生的程式碼包,其中包含了已經開放的API和相應的請求、加密、返回解析等一些必要的功能。登入「開發者中心」透過應用程式憑證頁面即可下載(下載時選擇權限對應的sdk),詳細可參考//open.taobao.com/doc/detail.htm?id=101618
#4、appkey有api 呼叫權限,為什麼下載到的sdk中未包含對應的類別?

下載sdk時未選擇「權限對應的sdk」導致,進入憑證頁面重新下載


5、java sdk中如何設定回傳資料格式;以及sdk是否支援自訂介面方法?

TaobaoClient client = new DefaultTaobaoClient ()此處括號內加xml 或json 即可指定;不支援自訂介面

FAQ
  • #關於此文件暫時還沒有FAQ
###