Java认证人人开放平台
来源:互联网 发布:mac a1502 编辑:程序博客网 时间:2024/05/17 03:29
1. 注册应用
在人人网注册应用,注册应用成功后会得到APPID、API Key、Secret。
应用申请成功后,API Key和Secret就会显示在“开放平台”à“我的应用”页面
2. 下载人人网OAuth2.0代码
人人网OAuth2.0认证代码:http://lovertest.googlecode.com/svn/trunk/RenRen4j/
(下载src目录下的代码即可)
3. 加入jar包:
JUnit4(Eclipse自带)
commons-codec.jar
commons-httpclient.jar
commons-logging-1.1.1.jar
Json-simple-1.1.jar
4. 创建项目
新建Java项目,RenrenOauth2.0代码复制到项目中,并修改代码。
1)复制RenrenOauth2.0代码到项目中;
2)修改com.carey.renren.RenRenOauth.java中APIKey、SecretKey属性,设置成自己的API Key、Secret。
5. 测试类
package com.carey.renren;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Scanner;
import java.util.TreeMap;
import org.junit.Test;
import com.carey.renren.RenRenHttpClient;
import com.carey.renren.RenRenOAuth;
import com.carey.renren.utils.RenRenHttpUtil;
/**
* 人人网 Oauth2.0认证过程(Java)
*
* 本测试类中有四个测试方法:
* 1.testGetAuthorizationCode
* 2.testGetAccessToken
* 3.testGetSessionKey
* 4.testAPI
*
* 按顺序和方法注解执行上面的测试方法
* 注意:按照顺序是因为每个测试方法需要前一个方法的结果
*
* @author Lupeng
* @create 2011-08-01
* @modify 2011-08-05
*
* E-mail: lupeng0527@163.com
* QQ: 244077575
*/
public class RenrenTester {
/**
* 1.获取Authorization Code
*
* 测试本方法,控制台会输出一个URL,在浏览器中进入此URL,
* 会返回一个新的URL: http://graph.renren.com/oauth/login_success.html?code=***
* code的值***就是Authorization Code
*/
@Test
public void testGetAuthorizationCode() {
System.out.println("get Authorization Code......");
try {
String urlStr = RenRenOAuth.AuthorizationURL + "?"
+ "client_id=" + RenRenOAuth.APIKey + "&"
+ "response_type=code" + "&"
+ "redirect_uri=" + RenRenOAuth.RedirectURL;
System.out.println("authorization url: \n" + urlStr);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 2.获取访问令牌
* 执行次测试方法,输入上面得到的Authorization Code,会返回一个地址,
* 进入此地址会返回一个json数据,记录下此数据
*/
@Test
public void testGetAccessToken() {
System.out.println("get Access Token......");
System.out.println("Input your Authorization code:");
Scanner in = new Scanner(System.in);
String input = in.nextLine();
try {
String urlStr = RenRenOAuth.OAuthURL + "?" + "client_id="
+ RenRenOAuth.APIKey + "&client_secret="
+ RenRenOAuth.SecretKey + "&redirect_uri="
+ RenRenOAuth.RedirectURL
+ "&grant_type=authorization_code" + "&code=" + input;
System.out.println("access url: \n" + urlStr);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 3.获取Session Key
* 输入上面json中的access token
* 会得到获取Session Key的链接地址,同样会返回一个资源地址,进入此地址,会返回json数据,
* 这个json数据中包含了session_key。
*/
@Test
public void testGetSessionKey() {
System.out.println("get Session Key......");
System.out.println("Input your Access token:");
Scanner in = new Scanner(System.in);
String input = in.nextLine();
try {
input = URLEncoder.encode(input, "UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
try {
String urlStr = RenRenOAuth.SessionURL + "?" + "oauth_token=" + input;
System.out.println("session url: \n" + urlStr);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 4.测试Renren Java API
* 执行此测试方法时会需要上面得到的session_key,
* 返回的json就是你要获取的人人网的数据。
*/
@Test
public void testAPI() {
System.out.println("Input your Session Token:");
String input = null;
Scanner in = new Scanner(System.in);
input = in.nextLine();
TreeMap<String, String> params = new TreeMap<String, String>();
params.put("session_key", input);
// params.put("method", "friends.getFriends"); // 获取当前用户好友
params.put("method", "users.getInfo"); // 获取当前用户信息
params.put("uids", "242508128"); // 当前用户ID
// 测试更多方法请查看Renren API
String content = sendPostRestRequest(params, "JSON", RenRenOAuth.ApiUrl);
if (content.indexOf("error_code") >= 0) {
//error
}
System.out.println(content);
}
public static String sendPostRestRequest(TreeMap<String, String> params,
String format, String url) {
RenRenHttpUtil.prepareParams(params, format);
String content = RenRenHttpClient.doPost(url, params);
return content;
}
}
6. 示例代码地址:http://d.download.csdn.net/down/3497062/lupeng0527
邮箱:lupeng0527@163.com
QQ:244077575
- Java认证人人开放平台
- 人人开放平台
- 人人开放平台客户端OAuth认证及API的使用[python]
- 人人网/开心网开放平台Wiki、
- 新浪开放平台开发1--认证
- 人人网开放平台如何获取photo_upload权限
- 人人开放平台合作微软WP7 用二维码社交推广
- 开放平台-web实现人人网第三方登录
- 手把手教你如何通过OAuth2.0新浪开放平台认证新浪用户-java
- Oauth2认证以及新浪微博开放平台应用
- 新浪微博开放平台之OAuth2.0认证
- 人人网开放平台推出Live Stream Box,为视频直播带来社会化属性!
- 基于Android客户端的人人网开放平台开发系列教程
- [开发手记] 人人网开放平台不使用表单上传照片
- 人人网——揭秘社交网络之开放平台技术
- 基于Android客户端的人人网开放平台开发系列教程
- 微信开放平台接口java版
- JAVA微信开放平台授权
- oracle扩展表空间
- Windows的系统时钟间隔
- gdb
- Oracle的SQL语法提示
- 搜藏
- Java认证人人开放平台
- 2011暑假集训组队赛4
- oracle 使用leading, use_nl, rownum调优
- 2011.8.10 南京 用户现场 项目开发管理中...
- 某个3d游戏的总体设计框架 .
- pb 中类型转换函数
- 二叉树(2)——基本操作
- busybox自带的tftp服务器
- notifyListener无法调用handler