您的位置:首页 > 其它

淘宝oauth2.0授权流程

2015-06-16 19:50 204 查看

为何要授权:

淘宝上有很多卖家店铺。现在淘宝应用市场有一个第三方应用。这个应用可以服务卖家店铺。我们知道第三方应用是不能随便读取卖家店铺的信息,比如订单、商品信息。现在卖家可以通过授权限制性的开放信息给第三方应用!

首先isv要在淘宝开放平台上申请一个应用,我申请的是百川应用。



 如果没申请过应用,淘宝帐号登录到开放平台后点击控制台在右上角点击创建应用即可!

这里填写的回调地址就是用来获取授权码的,进而通过授权码获取access_keyrefresh_key,点击测试

弹出以下页面


这里点击授权输入手机验证码后将跳到回调地址页面,就是第一张图片填写的回调地址!

在这个回调地址后会跟上授权码code的值!
 http://localhost:8080/openapi/taobao/oauth.vm?code=Q3dEuVloHtME9q67FsQLRtsegtrdso8&state=

有了授权码后,我们直接调用淘宝的接口,就能获取到访问令牌access_token

 

以下获取令牌代码参考http://open.taobao.com/

测试时需将test替换为自己申请应用获得的参数!client_id对应appkey client_secret对应appSecret 

 

package com.xudong.top.test;
/**
* 文件名:OpenOauth.java
*
* 版本信息: v1.0
* Copyright Corporation 2015
* 版权所有
*
*/
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.taobao.api.internal.util.WebUtils; //引用top sdk
public class OpenOauth {
public static void main(String[] args) {
String url="https://oauth.taobao.com/token";
Map<String,String> props=new HashMap<String,String>();
props.put("grant_type","authorization_code");

props.put("code","回调页面生成的code");
props.put("client_id","test");
props.put("client_secret","test");
props.put("redirect_uri","http://localhost:8080/openapi/taobao/oauth.vm");
props.put("view","web");
String s="";
try{s=WebUtils.doPost(url, props, 30000, 30000);
System.out.println(s);
}catch(IOException e){
e.printStackTrace();}
} }

 换取access_token返回值示例

 {
  "w2_expires_in": 0,
  "taobao_user_id": "263685215",
  "taobao_user_nick": "%E5%95%86%E5%AE%B6%E6%B5%8B%E8%AF%95%E5%B8%90%E5%8F%B752",
  "w1_expires_in": 1800,
  "re_expires_in": 0,
  "r2_expires_in": 0,
  "expires_in": 86400,
  "token_type": "Bearer",
  "refresh_token": "6200e1909ca29b04685c49d67f5ZZ3675347c0c6d5abccd263685215",
  "access_token": "6200819d9366af1383023a19907ZZf9048e4c14fd56333b263685215",
  "r1_expires_in": 1800
}

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: