有赞新零售社区

发帖
API使用问题»工具型应用换取token(内含Java&PHP demo)

工具型应用换取token(内含Java&PHP demo)

有赞-导演 2018-11-13 3269 浏览 9 评论 | 只看楼主 [打印]
说明
  本帖主要以代码的方式说明如何获取工具型应用token方式

demo(声明demo仅供参考)

  JAVA:https://pan.baidu.com/s/1UA1wsWR_oyvsCQpbMS7RmA 提取码:3t7p
  PHP :https://pan.baidu.com/s/1ytQT0cvwgRFPZVV3EGOCmw 提取码:yo23

换取token(以Java为例)

  1.配置应用client_id 和应用client_secret

    如何查看client_id和client_secret:https://bbs.youzan.com/thread-671902-1-1.html

  2.拼接授权url

  1. https://open.youzan.com/oauth/authorize?client_id=填写您的client_id&response_type=code&state=teststate&redirect_uri=您的回调网址
复制代码
   1)response_type=code:默认值请勿修改
    2)state=teststate:授权权限,以空格分隔的权限列表,若不传递此参数,代表请求用户的默认权限。
    3)redirect_uri:请和您的应用回调网址保持一致

  3.获取code

    1)直接访问第二步的授权url,会跳转到店铺授权页面,商家登录店铺》选择授权店铺》确认授权
   
    2)在地址栏中复制获取code,放到代码中(该code会通知到您的回调地址中,可以在您的回调地址红接收)

  1. http://zhedn-com.xxx.la:46433/payManage/push?code=f276b94e4e173a7e998a4be55960d4f4&state=teststate
复制代码
4.换取token

  1. public static void main(String[] args) {
  2.                 // TODO Auto-generated method stub
  3.         HttpClient httpClient = new DefaultHttpClient();
  4.         HttpClient.Params params = HttpClient.Params.custom()

  5.               .add("client_id", "填写您的client_id") //填写您的client_id   
  6.               .add("client_secret", "填写您的client_secret") //填写您的client_secret                  
  7.               .add("grant_type", "authorization_code") //默认值请勿修改      
  8.               .add("code","填写您获取的code")
  9.               .add("redirect_uri","填写您的回调网址")
  10.         .setContentType(ContentType.APPLICATION_FORM_URLENCODED).build();
  11.         String resp = httpClient.post("https://open.youzan.com/oauth/token", params);
  12.         System.out.println(resp);
  13.     }
复制代码

  5.返回值如下:

  1. {"access_token":"90b4997b049033248a5e5cf83f131088","expires_in":604800,"refresh_token":"03e98ecef7803d0fbc8d43e7f3d17458","scope":"multi_store shop item trade logistics coupon_advanced user pay_qrcode trade_virtual reviews item_category storage retail_goods seller_refund trade_advanced circle trade-delivery extension_analysis ka_customization","token_type":"Bearer"}
复制代码
6.token获取成功您可以调用api接口

    access_token:有效7天;access_token失效前可通过refresh_token刷新获取新的access_token,有效期仍是7天

如果您在获取工具型token有疑问欢迎在本帖下方追问






用手机打开
收藏 ··· 回复
    df2c8bc4488e   青铜   2018-11-13 | 只看该作者
    能不能跟我说说JAVA获取token

      df2c8bc4488e 发表于 2018-11-13 15:55
      能不能跟我说说JAVA获取token


      您是要获取自用型还是工具型,你对上面帖子流程哪里有疑问吗?

        b75a90ef1602   青铜   2019-01-18 | 只看该作者
        可以说下.net自用型获取token的方式吗

          b75a90ef1602   青铜   2019-01-18 | 只看该作者
          // Auth auth = new Sign("app_id", "app_secret");
          这种方式以后还继续维护吗?

            b75a90ef1602 发表于 2019-1-18 10:23
            可以说下.net自用型获取token的方式吗


            1..net的需要你参考:https://open.youzan.com/v3/apicenter/doc-api-main/1/1/4370 官方文档进行对接了。
            2.// Auth auth = new Sign("app_id", "app_secret");这种方式以后还继续维护吗?  
            该签名方式已经废弃,不会再进行维护了。

              铭心   青铜   2019-02-25 | 只看该作者
              您好,创建工具型应用这个回调地址,有没有一个测试的

                不好意思,没有提供哦
                有赞-技术支持

                  Crachim   青铜   2019-06-06 | 只看该作者
                  导演 发表于 2019-1-18 11:08
                  1..net的需要你参考:https://open.youzan.com/v3/apicenter/doc-api-main/1/1/4370 官方文档进行对接了 ...


                  code如何获取,点击控制台的获取code显示成功,但是没有返回,使用上面那个方式去主动授权,提示应用id非法

                    有赞-技术支持

                      1跳至
                      您需要登录后才可以回帖 登录 | 立即注册

                      本版积分规则

                      复制链接
                      新浪微博
                      QQ空间
                      微信扫码
                      • 回复

                      • 评分

                      客服工作时间是9:00-18:00,客服妹子当前不在线,若不能及时回复请谅解。试试右上角的搜索吧,论坛有丰富的经验贴、公告贴,相信一定能够帮到您~

                      复制成功