Java web 实现第三方微博账号登陆的功能

Python020

Java web 实现第三方微博账号登陆的功能,第1张

一般这种第三方授权的都会有公钥和私钥,用来对用户身份加密,你这里的code一般就是公钥,公开也没什么关系,私钥一般是第三方接口和你的应用签完授权协议以后给你的,需要双方妥善保管,通过这2者对调用方进行授权检查

① 将长网址用md5算法生成32位签名串,分为4段,,每段8个字符;

② 对这4段循环处理,取每段的8个字符, 将他看成16进制字符串与0x3fffffff(30位1)的位与操作,超过30位的忽略处理;

③ 将每段得到的这30位又分成6段,每5位的数字作为字母表的索引取得特定字符,依次进行获得6位字符串;

④ 这样一个md5字符串可以获得4个6位串,取里面的任意一个就可作为这个长url的短url地址。

很简单的理论,我们并不一定说得到的URL是唯一的,但是我们能够取出4组URL,这样几乎不会出现太大的重复。

实现调用微博内容的Java程序如下:(注意注释)为保护隐私运行结果就不贴出来了。

import java.io.BufferedWriterimport java.io.FileNotFoundException

import java.io.FileOutputStream

import java.io.IOException

import java.io.OutputStreamWriter

import java.util.Iterator

import java.util.List

import weibo4j.Timeline

import weibo4j.model.Status

import weibo4j.model.StatusWapper

import weibo4j.model.WeiboException

public class F { public static void main(String[] args) {

String userID=""//这里由于保护隐私请自己填写userID

String token=""//这里由于保护隐私请自己填写token

Timeline t=new Timeline()

t.client.setToken(token)

StatusWapper sw=null

List<Status>status=null

BufferedWriter bw=null

try{

sw=t.getUserTimelineByUid(userID)

status=sw.getStatuses()

bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\status.txt"),"gbk"))

Iterator<Status>iterator=status.iterator()

Status s=null

while(iterator.hasNext()){

s=(Status)iterator.next()

bw.write(s.toString())//这里如果只需要微博内容可以bw.write(s.getText())

bw.newLine()

bw.flush()

}

}catch(WeiboException e){

e.printStackTrace()

System.out.println(e)

}catch(FileNotFoundException e){

e.printStackTrace()

}catch(IOException e){

e.printStackTrace()

}finally{

try {

bw.close()

} catch (IOException e) {

e.printStackTrace()

}

}

}

}

获取当前登录用户及其所关注用户的最新微博的Java程序如下:(注意注释)为保护隐私运行结果就不贴出来了。

import java.io.BufferedWriter

import java.io.FileNotFoundException

import java.io.FileOutputStream

import java.io.IOException

import java.io.OutputStreamWriter

import java.util.Iterator

import java.util.List

import weibo4j.Timeline

import weibo4j.model.Status

import weibo4j.model.StatusWapper

import weibo4j.model.WeiboException

public class E {

public static void main(String[] args) {

String userID=""//这里由于保护隐私请自己填写userID

String token=""//这里由于保护隐私请自己填写token

Timeline t=new Timeline()

t.client.setToken(token)

StatusWapper sw=null

List<Status>status=null

BufferedWriter bw=null

try{

sw=t.getFriendsTimeline()

status=sw.getStatuses()

bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\friends_status.txt"),"gbk"))

Iterator<Status>iterator=status.iterator()

Status s=null

while(iterator.hasNext()){

s=(Status)iterator.next()

bw.write(s.toString())//这里如果只需要微博内容可以bw.write(s.getText())

bw.newLine()

bw.flush()

}

}catch(WeiboException e){

e.printStackTrace()

System.out.println(e)

}catch(FileNotFoundException e){

e.printStackTrace()

}catch(IOException e){

e.printStackTrace()

}finally{

try {

bw.close()

} catch (IOException e) {

e.printStackTrace()

}

}

}

}