当前位置:首页 > 微博运营 > 正文

新浪微博sdk,最新的weibosdk怎么用

2021-07-29 17:00:55 暂无评论 微博运营

怎么基于新浪微博开放平台提供的android SDK开发新浪微博手机客户端。已下载了SDK和一个jar包,怎么用呢?

sina sdk是基于java语言的,封装了一些函数,如认证等,你正常的android开发时,import相关的文件即可,UI层你自己写,调用api时,调用sdk里的就行了

最新的新浪微博客户端ANDROID版 SDK到底怎么用

  本文介绍了如何在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了。

怎么使用新浪微博Java SDK

. 创建一个应用,主要是为了获得App Key和Secret Key。具体说明请看官方文档: 2.下载新浪微薄的SDK,本文使用的是java。 3.请先填写相关配置:在Config.properties里 client_...

帮帮忙看看这是什么错????是关于想新浪微博api的

你看一下,新浪提供的SDK,要经过OAuth认证的。appkey 和screct是开发者的,用户要经过新浪的URL授权登录。
在百度有搜“ppy2790博客”,有OAuth认证的文章和例子。

博客主人破茧短视频培训
破茧短视频为你分享抖音、快手等短视频平台的视频拍摄、剪辑和运营技巧,另有短视频培训学习教程,海量干货助你玩转短视频运营!。
  • 94620 文章总数
  • 5046407访问次数
  • 2218建站天数