1. 什么是授权,如何授权?
所谓授权,即获取 Access Token ,应用获取到了Access Token 即意味着取得了用户的授权,可以替用户向TOP(开放平台)请求用户的隐私信息(如商品、订单等)。这里的Access Token(Oauth2.0协议,当前应用均默认该协议) 即是原来“TOP授权协议” 时取到的SessionKey。获取授权详细方法可点 这里 参考。
2. Access Token(SessionKey) 的有效时长只有24小时,如何提高?
“在线订购”应用正式环境测试阶段,Access Token 有效时长固定24小时,无法提高,失效后需重新授权;应用上线后(需审核)Access Token有效时长会自动提高(和订购时长一致),各应用授权有效时长如下:
标签名称  |  
    正式测试环境  |  
    上线运行中  |  
    备注  |  
   
在线订购应用  |  
    24小时  |  
    订购时长绑定  |  
    如应用上线后,用户订购1年,则Access Token有效1年。更详细说明参考这里;  |  
   
xTao合作网站  |  
    24小时  |  
    24小时  |  
    |
商家后台系统  |  
    24小时  |  
    1年  |  
    |
店铺模块前台  |  
    无session  |  
    无session  |  
    |
店铺模块后台  |  
    24小时  |  
    订购时长绑定  |  
    |
新业务  |  
    24小时  |  
    1年  |  
    
3. 授权报错: application callback can not match the redirect_uri (错误码:invalid_client),什么原因?
授权时请求url 中的uri 值与应用回调地址不一致导致,修改uri 和回调地址一致即可。
4. 授权1001 错误(此应用不允许当前用户访问,下图所示),如何解决?
该错误是给应用授权的用户未在应用授权列表里,登录开放平台应用“授权管理”页面,绑定需授权用户即可。只有授权是小部分人使用的应用需要设置(如商家后台系统、未上线的在线订购应用)。
  
5. 使用code 获取Access Token时,报如下错误,如何处理?
"error": "invalid_client",? "error_description": "authorize code qexkqiJRNXJXEPTjPTWYYsK5486529 invalidate,please authorize again."
授权后回调地址上取得的code 只能使用一次,如果重复使用,则报该错误。重新授权或code 重试即可。
6. 程序如何判断授权(Access Token)失效时间?
应用程序可记录用户授权时间,再结合在获取Access Token 时返回的expires_in ( Access Token有效时间,单位秒)即可判断。
7. 应用如何支持子账号授权?
详情请查看子账号授权流程介绍(新)
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  |  
    该请求必须用GET或POST方法  |  
   
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的值必须为code或者token  |  
   
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和事先配置的回调地址不匹配  |  
   
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协议参数校验失败  |  
   
@
1. 什么是签名(sign),如何生成?
参考文档:点击查看(第一部分 sign 相关内容)。
2. 调用api 报“Invalid signature”错误,什么原因?
1)AppSecret错误,如输入了错误的AppSecret 或AppSecret 被重置过。
2)生成签名时的参数 和 http请求时参数不一致导致错误。
3)签名方法有误,建议参考我们提供示例代码 点击查看。
3. sdk的作用及如何下载?
淘宝开放平台的SDK是由程序自动化生成的代码包,其中包含了已经开放的API和相应的请求、加密、返回解析等一些必要的功能。登录到“开发者中心”通过应用证书页面即可下载(下载时选择权限对应的sdk),详细可参考点击查看。
4. appkey有api 调用权限,为什么下载到的sdk中未包含相应的类?
应用申请到新的API权限后需要重新生成并下载SDK。
5. java sdk中如何设置返回数据格式;及sdk是否支持自定义接口方法?
TaobaoClient client = new DefaultTaobaoClient ()此处括号里面加xml 或json 即可指定 ;不支持自定义接口。