饿了么授权获取token
程序员文章站
2023-12-31 15:01:34
...
注:在饿了么开放平台注册了账户并申请资质认证,创建了应用后
引入jar包
1、首先从【饿了么开放平台】-【文档中心】-【开发文档】-【sdk使用说明】中点击【Java SDK访问地址】
选择语言对应的地址链接
2、点击之后跳转到Coding的代码托管网站
3、在项目中常量类配置文件中(参数在饿了么开放平台-管理中心-沙箱环境)
切记:在常量类配置文件中常量值不能出现空格
4、在spring配置文件中注册
<bean id="IS_SANDBOX" class="java.lang.Boolean">
<constructor-arg>
<value>${IS_SANDBOX}</value>
</constructor-arg>
</bean>
<bean id="SANDBOX_APP_KEY" class="java.lang.String">
<constructor-arg>
<value>${SANDBOX_APP_KEY}</value>
</constructor-arg>
</bean>
<bean id="SANDBOX_APP_SECRET" class="java.lang.String">
<constructor-arg>
<value>${SANDBOX_APP_SECRET}</value>
</constructor-arg>
</bean>
<bean id="SANDBOX_STORE_ID" class="java.lang.String">
<constructor-arg>
<value>${SANDBOX_STORE_ID}</value>
</constructor-arg>
</bean>
<bean id="SANDBOX_STORE_URL" class="java.lang.String">
<constructor-arg>
<value>${SANDBOX_STORE_URL}</value>
</constructor-arg>
</bean>
<bean id="SANDBOX_STORE_PASS" class="java.lang.String">
<constructor-arg>
<value>${SANDBOX_STORE_PASS}</value>
</constructor-arg>
</bean>
<bean id="SANDBOX_REDIRECT_URL" class="java.lang.String">
<constructor-arg>
<value>${SANDBOX_REDIRECT_URL}</value>
</constructor-arg>
</bean>
首先获得店铺授权url
@Resource(name = "IS_SANDBOX")
private boolean IS_SANDBOX;
@Resource(name = "SANDBOX_APP_KEY")
private String SANDBOX_APP_KEY;
@Resource(name = "SANDBOX_APP_SECRET")
private String SANDBOX_APP_SECRET;
@Resource(name = "SANDBOX_REDIRECT_URL")
private String SANDBOX_REDIRECT_URL;
@RequestMapping("mendian")
@ResponseBody
public Map<String,Object> getTake() {
Map<String,Object> map = new HashMap<String,Object>();
Config config=new Config(IS_SANDBOX,SANDBOX_APP_KEY,SANDBOX_APP_SECRET);
OAuthClient client = new OAuthClient(config);
String authUrl = client.getAuthUrl(SANDBOX_REDIRECT_URL, "all", "1234");
map.put("src",authUrl);
return map;
}
在controller中接收回调的授权码获取token值
@RequestMapping(value="ElemeServlet",method = RequestMethod.GET)
public void getToken(HttpServletRequest request) {
String code=request.getParameter("code");
System.err.println(code);
Config config=new Config(true, SANDBOX_APP_KEY, SANDBOX_APP_SECRET);
OAuthClient client = new OAuthClient(config);
Token token=client.getTokenByCode(code, SANDBOX_REDIRECT_URL);
}
若得到的token值一直为空,如下
请使用debug模式去看token的报错信息,如下
去饿了么开放平台中管理中心-开发文档-商户授权说明中查询异常信息
得到token后就可进行对饿了么的操作了