温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在自己的App里面加入微博分享---Android平台

发布时间:2020-04-11 08:54:05 来源:网络 阅读:861 作者:FangjgAndroid 栏目:移动开发

现在的App,如果是想留住用户,单纯的用本App的账户用户名已经很难达到目的,就像网站一样,查看网站内容需要注册账户登录后才能查看,如果不是很感兴趣的内容,一般就直接选择点击网页旁边的小红叉关掉网页。App也是这样的情况,只不过现在用户不是狂按back键返回,而是直接卸载。所以兵来将挡水来土掩,所以考虑各大门户,用第三方接口接入就能比较有效地留住用户了,现在就来讲讲如何接入第三方之微博篇。

 按步骤来讲应该会比较清晰,那就一步一步来吧。


1、基于了解三方接口目的,先到官网下载SDK,微博是到微博的网站下载,网址open.weibo.com

2、将下载好的SDK解压后将Lib 和 Demo都导入开发软件中,并运行Demo,就运行就好其他不要操作,然后开始在新浪的网址上创建应用

3、点击微连接的下拉项选择移动应用,在跳出的页面选择立即连接,此时需要登录微博账号,如果没有注册一个,并且注册开发信息,完事后开始创建应用

4、在创建应用界面输入应用名称,选择客户端、手机、Android,然后点击创建,创建成功跳转至控制台界面,这里如果对刚才的设置有所反悔依然可以修改。

5、Android签名包的注册,首先输入应用的包名,包名在你应用的清单文件那边可以找到,Android签名获得是这样子的,在解压SDK时会有一个app_signatures.apk安装包,将它安装到模拟器中(一般拖拽进去就可以)然后运行,在输入框里输入应用的包名,点击生成就会生成Android应用的签名,将此签名拷贝黏贴到网页的Android签名一栏中,这样就可以了,后面的两组包名和签名不用填,接下来的一些选项如果是开发测试用可以随便填写,如果是正规使用,需要在产品经理的指导下填写。最后点击保存以上信息。

6、在该界面的左边找到高级信息,点击进去里面的授权回调页与取消授权回调页也要填写,当然,这是你们公司服务器的网址,自己测试随便填。记得保存。

7、以上网页端就写好了,接下来是在Demo里面进行配置。

进行三方接口的使用一般都要一个密钥,微博叫AppKey,在你刚才填写的应用信息那边就能找到,将此值复制,打开Demo的Constants.java类,在public static final String APP_KEY  处黏贴key值,并在public static final String REDIRECT_URL处黏贴授权回调的网址,好,这样就可以运行Demo的授权功能了。

8、打开应用,单击微博授权按钮,点击sso授权(ALL IN ONE)就会跳出微博登录页面,输入账户和密码就能进行授权。授权成功后返回本页面会显示一个token码,这个有很大的用途。

接下来是发微博功能。

一般通过微博分享App的形式是酱紫的,在授权用户的微博上发一篇微博,说使用xxApp感觉很棒,并附上App的下载地址,这样就算达到分享效果了,所以本质上是发一条微博。

所以发微博就需要使用微博的微博接口来实现分享功能。

还是这样子,一步一步来。

为了讲解方便,我们自己创建一个项目来进行实现用我们自己的应用发送微博功能。

这里先注意一下,由于官方Demo问题,weiboSDK里面没有库文件,所以要将Demo里面的库考到weiboSDK里面

1、用微博签名生成器给我们自己的应用生成一个签名,并在网页上创建的微博应用进行注册,具体是:

    1)拷贝本项目包名,在模拟器上打开weibo签名生成器,黏贴包名,生成签名,然后复制签名,在网页上我的应用--应用信息--应用签名包信息--下面黏贴包名和签证,保存。

2、创建自己的项目,然后用我们的库去依赖weiboSDK。

3、在库清单文件里面注册权限,还有一个很重要的

    

<!-- 必须注册在微博授权,分享微博时候用到 -->

        <activity

            android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"

            android:configChanges="keyboardHidden|orientation"

            android:exported="false"

            android:windowSoftInputMode="adjustResize" >

        </activity>

这个一定要在清单文件里面配置,这是weiboSDK里面的授权界面的布局,没有配置会直接导致App死掉

4、根据Demo里面的微博授权--SSo授权(ALL IN ONE)按钮的点击事件整合微博的授权功能,微博授权成功,会返回一个Assess_Token,同时会用SharePreference写入手机内存,酱紫以后就不用再每次都要进行授权了。

重点来了,拿到Token后就可以在微博上发微博了。

根据微博的API文档可以知道是通过post协议发送消息的,post协议是由一个请求的URL加上一个Map类的方式进行请求,map里面要包含Token值还有发送的内容,这样就可以发出微博了,代码:

Map<String, String> params = new HashMap<String, String>();

params.put("access_token", accessToken);

params.put("status", mt_say.getText().toString());

String url = "https://api.weibo.com/2/statuses/update.json";

HTTPUtils.post(this, url, params, new VolleyListener() {

@Override

public void onResponse(String arg0) {

WeiboDate weiboDate = GsonUtils

.parseJSON(arg0, WeiboDate.class);

User user = weiboDate.getUser();

setmsg(user);

if (!arg0.isEmpty()) {

if (arg0.contains("error_code")) {

Toast.makeText(MainActivity.this, "分享失败",

Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(MainActivity.this, "分享成功",

Toast.LENGTH_SHORT).show();

}

}

}

http的Post协议得好好研究下,其map对象的内容一定要含有token字段才能发微博,差不多就这样




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI