微博分享功能

2020-03-03  本文已影响0人  小花生L

https://blog.csdn.net/guojun13598079464/article/details/81222056

1、开发平台注册获取自己的值

https://open.weibo.com/apps/1268866508/info/advanced

App Key等信息

2、下载sdk

https://github.com/sunxiaowei2014/weibo4j-oauth2-beta3.1.1/

2.1 配置信息

config.properties配置文件中填写
client_ID = App Key
client_SERCRET = App Secret
redirect_URI = 授权回调页

2.2运行,输入网址得到授权信息

配置完成后运行examples包下的oauth2.0下的OAuth4Code.java文件的main方法,根据控制台输出的网址


授权

此刻默认浏览器会打开用户授权页面,授权后浏览器地址最后会多出一个code=******,复制该code粘贴到编辑器的控制台,然后回车,就会返回授权信息。


返回授权信息

此时
复制返回的授权信息中的accessToken的值,该值为授权码。

AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****]有了该授权码,接着我们就可以正式操作微博了。

三、测试

首先在src/Timeline中写俩个方法

public Status updateStatus(String status) throws WeiboException {
        HttpClient httpClient = new HttpClient();
        return new Status(httpClient.post(WeiboConfig.getValue("baseURL")+
                        "statuses/update.json",
                new PostParameter[] { new PostParameter("status", status) },
                access_token));
    }

    public Status share(String status) throws WeiboException {
        HttpClient httpClient = new HttpClient();
        return new Status(httpClient.post(WeiboConfig.getValue("baseURL")
                        + "statuses/share.json",
                new PostParameter[] { new PostParameter("status", status) },
                access_token));
    }

之后,可以再example/timeline包下UpdateStatus类创建测试方法

public static void main(String[] args) {
        String access_token = "2.**************";
        String statuses = "该条微博由JAVA程序发送,目的测试其微博相关api,并无实际用途。https://baike.baidu.com/item/Java/85979?fr=aladdin";
        Timeline tm = new Timeline(access_token);
        try {
        Status share = tm.share(statuses);
        System.out.println(share);
        } catch (WeiboException e) {
            e.printStackTrace();
        }}

三、分享微博代码,只需要前台配置,传入相应的值

第一个例子:

<!--分享到微博详细代码-->
<!--<script type="text/javascript">-->
<!--    function postToWb(){-->
<!--        var _t = encodeURI('${(activity.intro)!}');//'${(activity.intro)!}'这是取得Action穿过来的值,如果想取当前标题改为document.title  -->
<!--        var _url = encodeURI(document.location);-->
<!--        var _appkey = encodeURI("appkey");//你从腾讯获得的appkey  -->
<!--        var _pic = encodeURI('');//(列如:var _pic='图片url1|图片url2|图片url3....)  -->
<!--        var _site = '';//你的网站地址  -->
<!--        var _u = 'http://v.t.qq.com/share/share.php?title='+_t+'&url='+_url+'&appkey='+_appkey+'&site='+_site+'&pic='+_pic;-->
<!--        window.open( _u,'转播到腾讯微博', 'width=700, height=680, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, location=yes, resizable=no, status=no' );-->
<!--    }-->
<!--</script>   -->

第二个例子:

<div>
            <form action="" id="theForm">
                分享理由:<input id="title" name="title" value="这个内容太好啦,我要分享分享"><br>
                分享的网址:<input id="url" name="url" value="http://localhost:8080/index/test">
                <span id="buttonShare" onclick="buttonShare('http://v.t.sina.com.cn/share/share.php?appkey=2684493555')"><img  src="http://static.youku.com/v1.0.0691/v/img/ico_sina.gif" /></span>
            </form>
        </div>

<script>
    $(function(){

    });
    function buttonShare(url){
        $("#theForm").attr("action",url);
        $("#theForm").submit();
    }

</script>
上一篇 下一篇

猜你喜欢

热点阅读