现在的android版SDK中,进行微博分享必须要通过微博客户端吗
发布网友
发布时间:2022-04-26 15:36
我来回答
共1个回答
热心网友
时间:2023-10-12 06:20
本文介绍了如何在Android程序中使用新浪微博提供的AndroidSDK
微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博。
首先我们需要在新浪微博开放平台上进行注册,之后需要创建一个新的应用,并且需要记下应用的APP key,App Secret Key以及设置应用的回调页以便我们在程序中进行使用。此外,还需要在应用的高级信息里添加测试用户的uid,切记切记,否则会出现登陆不成功等怪现象。
接着我们下载微博提供的Android上的SDK,下载地址在这里http。//open。weibo。com/wiki/SDK,选择AndroidSDK进行下载即可。
使用方法:
首先将下载的sdk进行解压,并将其导入到eclipse中,接着在你需要使用sdk的android工程中点击右键,属性,设置library属性,选中刚才导入的weibosdk即可。如图所示
然后在你的工程的Manifest文件中,加入以下权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
这样我们就能使用weibosdk了
建立工程以后如何在代码中使用weiboAPI呢,下面就由我来为大家介绍使用方法:
首先在你需要使用微博的Activity中加入以下代码:
Weibo weibo = Weibo.getInstance();
weibo.setupConsumerConfig(Constants.CONSUMER_KEY,Constants.CONSUMER_SECRET);
weibo.setRedirectUrl("Your URLhere");
weibo.authorize(this,
listener);
注意代码中的Constants.CONSUMER_KEY,Constants.CONSUMER_SECRET即是文章开头介绍的在微博上创建的应用里的两个key,setRedirectUrl中的内容即是在应用中设置的回调页。
Listener则是在进行登陆授权后对执行结果进行处理的Litener,代码如下
public class AuthDialogListener implements WeiboDialogListener {
private Activity context;
private String content;
private String file;
private float lat;
private float lon;
private static boolean isOver=true;
public AuthDialogListener(Activity context,String content,String file,float lat,float lon){
this.context= context;
this.content=content;
this.file=file;
this.lat=lat;
this.lon=lon;
}
@Override
public void onComplete(Bundle values) {
String token = values.getString("access_token");
String expires_in = values.getString("expires_in");
String oauth_verifier = values.getString("oauth_verifier");
AccessToken accessToken = new AccessToken(token, Constants.CONSUMER_SECRET);
accessToken.setExpiresIn(expires_in);
accessToken.setVerifier(oauth_verifier);
Weibo.getInstance().setAccessToken(accessToken);
try {
if (isOver) {
isOver=false;
share2weibo(this.content,null,listener,lat,lon);
}
} catch (WeiboException e) {
e.printStackTrace();
}
}
@Override
public void onError(DialogError e) {
Toast.makeText(context.getApplicationContext(),
"Auth error : " + e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onCancel() {
Toast.makeText(context.getApplicationContext(), "Auth cancel",
Toast.LENGTH_LONG).show();
}
@Override
public void onWeiboException(WeiboException e) {
Toast.makeText(context.getApplicationContext(),
"Auth exception : " + e.getMessage(), Toast.LENGTH_LONG)
.show();
}
private void share2weibo(String content,String file,RequestListener listener,float lat , float lon) throws WeiboException {
Weibo weibo = Weibo.getInstance();
WeiboParameters params= new WeiboParameters();
params.add("access_token", weibo.getAccessToken().getToken());
params.add("status", content);
params.add("lat", String.valueOf(lat));
params.add("long", String.valueOf(lon));
String url = Weibo.SERVER + "statuses/update.json";
if (file!=null&&!file.equalsIgnoreCase("")) {
params.add("pic", file);
url = Weibo.SERVER + "statuses/upload.json";
}
AsyncWeiboRunner runner = new AsyncWeiboRunner(weibo);
runner.request(this.context, url, params,Utility.HTTPMETHOD_POST,listener);
}
RequestListener listener= new RequestListener() {
@Override
public void onIOException(IOException e) {
isOver=true;
Toast.makeText(context, "RequestListener "+e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onError(WeiboException e) {
isOver=true;
Toast.makeText(context, "RequestListener "+e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onComplete(String response) {
isOver=true;
Toast.makeText(context, "Success!", Toast.LENGTH_LONG).show();
}
};
}
需要完成WeiboDialogListener接口中的方法,分别是onComplete,OnError,
OnCancel,OnWeiboException。其中Oncomplete是在微博登陆授权成功后会执行的方法,在这个方法中,你可以调用你想要的功能如发表微博,转发,评论等。使用的代码可参看以下代码:
Weibo weibo = Weibo.getInstance();
WeiboParameters params= new WeiboParameters();
params.add("access_token", weibo.getAccessToken().getToken());
params.add("status", content);
params.add("lat", String.valueOf(lat));
params.add("long", String.valueOf(lon));
String url = Weibo.SERVER + "statuses/update.json";
AsyncWeiboRunner runner = new AsyncWeiboRunner(weibo);
runner.request(this.context,url,params,Utility.HTTPMETHOD_POST,listener);
其中params是调用weibo api中需要的具体参数,可根据需要进行添加
AsyncWeiboRunner 是用来执行具体请求的类,根据你设定的参数发起请求。注意这里又有一个listerner,而这个listener是对发起请求后的结果进行处理的回调类,
RequestListener listener= new RequestListener()
需要复写的方法有OnIOException,onError,onComplete,这样可以清楚地对各种情况进行处理。
这样在程序中就可以使用新浪微博 android sdk了。
ShareSDK Android端主流平台分享示例
新浪微博分享则主要支持文字、图文形式,同样地,imageUrl、imagePath、imageData(bitmap)三个选项也是选择其一。本地视频也支持分享。分享网页时,只需选择合适选项即可。QQ分享主要支持图片、网页、音频以及分享至QQ空间。在QQ空间分享时,需注意必须使用QQ客户端,同时在分享时使用site作为网站名称,siteU...
mob中sharesdk for android v2.8.2怎么用
由于第一次使用,所以需要先进行新浪授权,授权界面下面开始介绍如何使用ShareSDK实现微博的分享功能(其他平台的类似)shareSDK传送门在使用shareSDK之前,我们需要先到新浪微博的开放平台进行注册,获得appkey以及其他的信息新浪微博开放平台传送门下面图片中划掉的部分是要重点关注的特别需要注意的是,下面的回调...
如何使新浪微博支持SSO授权
当然,你想使用这个功能,首先你得有本地客户端,否则的话,会使用web的授权方式,慢慢的输入你的账户和密码来获取授权。在编码前,你得为此做些简单的准备工作。 1.下载官方的SDK,在里面有实例和MD5的签名工具。官方SDK在里面的签名工具,根据你输入的包名来得到MD5值,你需要这个值来正确的创建应用。在里面的还有weibo...
怎么替换ShareSDK默认的分享小图标
第一:不是使用分享平台的客户端进行分享第二:不是自定义分享平台可以修改代码进行自定义规则代码配置集成快捷分享的步骤可以参考导入SDK章节的说明。下面主要介绍如何调用快捷分享:1)首先也是最重要的,和直接调用接口一样,需要在启动快捷分享前,添加initSDK的代码。2)在您准备触发分享的地方(如OnClick方法里面),添加如...
如何在Android应用开发实战图书中实现一个简单的微博客户端?
2.1 创建Android工程<//112.2 引入新浪微博SDK<//122.3 引入第三方库<//122.4 跨工程调试<//12 2.4.1 SDK异步访问<//14 2.4.2 自定义异步功能<//15 2.6 小结<//18第3章 简单微博客户端实现<//19 3.1 编写Android服务<//193.2 监视目录与发布微博</ 3.2.1 监视...
share版微博怎样登录
1、先在share官网注册应用生成AppKey并下载SDK。2、然后在新浪微博平台注册应用生成AppId和AppKey。3、接着导入SDK包。4、配置AndroidManifest.xml和assets里面的ShareSDKDevInfor.xml。5、最后添加代码登录即可。微博是指一种基于用户关系信息分享、传播以及获取的通过关注机制分享简短实时信息的广播式的社交...
如何使用ShareSDK让APP快速拥有分享功能
号;在弹出窗口里面分别以下库加入到项目中:SystemConfiguration.framework QuartzCore.framework MessageUI.framework libicucore.dylib 3.引入社区应用配置信息。 打开 main.m 文件加入#import :(P.S. 此头文件必须在此文件下导入,否则会导致编译不通过)4. 配置所有社交平台的 AppKey打开 ShareSDKConfig....
Mobsharesdk 新浪微博分享无反应在集成iOS sharesdk后,用网络图片威信...
有些可以分享,有些不可以,哪就说明您有些不满足薇芯的需求,薇芯要求缩略图大小不能超过32K,不满足,点击薇芯是会没反应的,微博的,
android应用怎么调用微博的登录接口去登录,目前应用已经做好,想应用微...
QQ目前还没有开放平台 微博是有开放平台 去官网下载sdk 按照sdk的方法来写接口就行了
如何集成SDK积分分享组件
<!-- 新浪微博分享回调需要设置 --> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <!-- 友推渠道号,应用名(英文或拼音)+"_yt",如:“jd_yt”,用于识别...