饿了么平台API接入实战

大家好,本文介绍对接饿了么API的全过程,希望给其他人一点入门参考,少走弯路。

1) 总的流程

  1. 注册账号:开发者账号
  2. 创建应用:饿了么平台上的应用
  3. 获取token:商户授权给应用,允许应用访问商户在饿了么平台上的资源
  4. 访问api:饿了么提供各种api供使用,建议用SDK写代码

2) 注册账号

  1. 访问网址 https://open.shop.ele.me/openapi 注册开发者账号
  2. 注册完账号后,需要提交企业材料进行【资质认证】,认证通过后才能访问接口

注册环节没什么好多说的,只要把材料规范的提交上去就可以了,一般一天就会通过审核

3) 创建应用

  1. 在等待审核的时候,可以创建一个【应用】,我们先关注【沙箱环境】就可以了,其他的可以先不看。(我创建的是【企业应用】)


  2. 点开沙箱环境,这几个参数都要用的


什么是沙箱环境?答:就是测试环境,随便怎么搞都可以的。

4) 获取token

  1. 获取token这个事情是要写代码并部署到服务器上后才能获取到的。只是在本地搞是搞不了的。(需要准备一个线上服务器)
  2. 获取的步骤如下:
    • 先了解一下开发平台提供的SDK(后面访问商铺信息也建议用sdk写代码,方便)https://open.shop.ele.me/openapi/documents/sdk

    • 我们用最直接的方式:通过url打开网页(饿了么提供的)、商户填入账号密码、授权成功后跳转到callback_url(就是在应用里配置的【回调地址URL】,后面还会附上2个新的参数code和state),跳转到的callback_url里包括参数code,是生成token的最重要参数。

    • 授权网页的url怎么来?appKey参数就是前面说的key

    public static String getAuthUrl(boolean isSandbox, String appKey, String appSecret, String callbackUrl) {
        Config config = new Config(isSandbox, appKey, appSecret);
        OAuthClient client = new OAuthClient(config);
        
        String scope = "all";  //接口要求填 all
        String state = "xyz";  //任意值

        String authUrl = client.getAuthUrl(callbackUrl, scope, state);

        return authUrl;
    }

这里面的code很重要,有了code,我们就可以生成token了。

  • 生成token的代码很简单,callbackUrl就是应用里配置的【回调地址URL】
    public static Token getToken(boolean isSandbox, String appKey, String appSecret, String callbackUrl, String code) {
        Config config = new Config(isSandbox, appKey, appSecret);
        
        OAuthClient client = new OAuthClient(config);
        
        return client.getTokenByCode(code, callbackUrl);
    }

好了,到这里,最重要的token搞定了。有了token,我们就可以自由访问API了。(token的有效管理,本文不做介绍)

token对象长啥样?

        Token token = new Token();
        token.setAccessToken("f8764e056d5ef9a599aeebb5796895");
        token.setTokenType("Bearer");
        token.setExpires(86400);  //沙箱环境的token,有效期是一天
        token.setRefreshToken("2b370d43eba2115308625f11785dc0");

5) 获取API

通过饿了么提供的SDK访问API
例如获取商户的店名和地址

    public static void getShopInfo(boolean isSandbox, String appKey, String appSecret, Token token, int shopId) {
        try {
            Config config = new Config(isSandbox, appKey, appSecret);
            ShopService shopService = new ShopService(config, token);
            OShop shop = shopService.getShop(shopId);
            log.info("店名:"+shop.getName()+", 地址:"+shop.getAddressText());
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

结果:


6) 总结

因小编能力有限,加上文档中心有些内容介绍的稍微简单了点,整个过程中,token的获取是我花时间研究最多的地方。

在实际产品开发中,token的有效管理也是很重要的。

对key、secret、code、token、callback_url、店铺ID、店铺账号密码等概念要搞的清楚。

注意:
要装PC版的商家平台,从里面打开我的店铺(直接浏览器版打开好像是打不开的,提示餐厅不存在)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容