CSDN开发平台客户端获取access_token.后再用就报4031错误:访问被拒绝
2017-09-27 15:23
597 查看
csdn的开放平台中,我想基于api做一个桌面客户端的应用。
遇到如下问题:
我使用的是这个验证:
客户端的验证授权(Resource Owner Password Credentials)
CsdnUtil是工具类,里面的getAccessToken方法是用来获取access_token的GetMobile 是获取用户手机号的,在执行这个类时,报这个错误{"request":"/user/getmobile?access_token=c9de4d94751f49d6bee310073e50923f","error_code":"4031","error":"access denied"}
怎么解决这个问题?
如下是我的例子:java语言
/******************************************************************************* * @project: JavaSE * @package: com.burns.csdn.api.user * @file: CSDNUtil.java * @author: Administrator * @created: 2017-9-27 * @purpose: * * @version: 1.0 * * Revision History at the end of file. * * Copyright 2017 AcconSys All rights reserved. ******************************************************************************/ package com.burns.csdn.api.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import net.sf.json.JSONObject; public class CsdnUtil { public static String getAccessToken() throws Exception{ String urlStr = "http://api.csdn.net/oauth2/access_token?client_id=1100309&client_secret=23eaf6637b2d43128c518b8d7e4078ac&grant_type=password&username=357252539@qq.com&password=2011014888zp"; // 链接URL URL url = new URL(urlStr); // 返回结果集 StringBuffer document = new StringBuffer(); // 创建链接 URLConnection conn = url.openConnection(); // 读取返回结果集 BufferedReader reader = new BufferedReader(new InputStreamReader( conn.getInputStream(), "utf-8")); String line = null; while ((line = reader.readLine()) != null) { document.append(line); } reader.close(); // System.out.println(document); JSONObject json = JSONObject.fromObject(document.toString()); // 查看json格式 System.out.println(json.toString()); // // 获取json中某个对象 // JSONObject obj = (JSONObject) json.get("mobile"); // System.out.println(obj.toString()); // 获取对象中某个属性的值 String val = json.getString("access_token"); // System.out.println(val); return val; } } /******************************************************************************* * <B>Revision History</B><BR> * [type 'revision' and press Alt + / to insert revision block]<BR> * * * * Copyright 2017 AcconSys All rights reserved. ******************************************************************************/
/******************************************************************************* * @project: JavaSE * @package: com.burns.csdn.api.user * @file: GetEmail.java * @author: Administrator * @created: 2017-9-27 * @purpose: * * @version: 1.0 * * Revision History at the end of file. * * Copyright 2017 AcconSys All rights reserved. ******************************************************************************/ package com.burns.csdn.api.user; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import com.burns.csdn.api.utils.CsdnUtil; import net.sf.json.JSONObject; /** * user/getmobile 获取用户的手机http://open.csdn.net/wiki/api/user/getmobile * * @author Administrator * */ public class GetMobile { public static void main(String[] args) throws Exception { String accessToken = CsdnUtil.getAccessToken(); String urlStr = "http://api.csdn.net/user/getmobile?access_token="+accessToken; // 链接URL URL url = new URL(urlStr); // 返回结果集 StringBuffer document = new StringBuffer(); // 创建链接 URLConnection conn = url.openConnection(); // 读取返回结果集 BufferedReader reader = new BufferedReader(new InputStreamReader( conn.getInputStream(), "utf-8")); String line = null; while ((line = reader.readLine()) != null) { document.append(line); } reader.close(); JSONObject json = JSONObject.fromObject(document.toString()); // 查看json格式 System.out.println(json.toString()); // // 获取json中某个对象 // JSONObject obj = (JSONObject) json.get("mobile"); // System.out.println(obj.toString()); // 获取对象中某个属性的值 String val = json.getString("mobile"); System.out.println(val); //根据access_token获取用户的mobile } } /******************************************************************************* * <B>Revision History</B><BR> * [type 'revision' and press Alt + / to insert revision block]<BR> * * * * Copyright 2017 AcconSys All rights reserved. ******************************************************************************/
相关文章推荐
- 微信公众号平台接口开发:基础支持,获取access_token
- 微信程序开发--获取access_token和微信服务器ip出现的错误
- 微信开放平台开发(三)获取component_access_token
- 微博开放平台开发(一)获取access_token
- 微信第三方平台开发授权2:获取component_access_token,pre_auth_code
- 微信第三方平台开发经验总结(二):获取component_access_token
- 新浪开放平台---用code获取access_token(oauth2)
- 微信开发专题---4获取access_token
- .Net实现微信公众平台开发接口(二) 之 “获取access_token”
- 利用svcutil.exe 访问windows Server 2003的wcf服务生成客户端代码报错:无法从http://XXX/XXX.svc?wsdl获取元数据”错误的解决方法
- 微信开发-获取access_token
- java 微信开发获取access_token
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
- 微信接口开发1--向微信发送请求--获取access_token
- 微信公众平台开发4-access_token获取与保持有效性
- 微信开发第二篇:获取全局access_token
- 钉钉开发系列(一)access_token的获取
- SharePoint客户端查询数据出现错误-拒绝访问
- 微信公众号开发——获取access_token
- nodejs中微信公众号开发-access_token获取与保存