1 Star 0 Fork 1

LeBron_Six / weibo_android_sdk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

ReadMe

资料的下载入口在本网页的右侧,有一个 download-ZIP 按钮,即可下载到本地。↗↗

为了方便第三方开发者快速集成微博 SDK,我们提供了以下联系方式,协助开发者进行集成:
QQ群:248982250
QQ群:284084420
邮箱:sdk4wb@sina.cn
微博:移动新技术
虽然我们提供了若干文档,但总有不尽人意的地方,为了快速上手,少走弯路,我们建议您采用以下方式来了解并集成微博SDK。

如果您在使用过程中有些问题不清楚如何解决,请先仔细阅读:常见问题FAQ,尝试能否找到对应的答案。
如果您对 SDK 中提供的某个类、API 不明确,请在 API文档说明 中查找对应的注解。

另外,关于 SDK 的 Bug 反馈、用户体验,以及建议与不足等,请大家尽量提交到 Github 上,充分利用好 Github 这一工具。 目前 SDK 有很多不足之处,请给我们一些时间,我们会力争为第三方开发者提供一个规范、简单易用、稳定可靠、可扩展、可定制的 SDK。


Release-Note: Android SDK V3.2

版本变更:

  1. 新的网页授权和分享
  2. 移除open api相关文档,如果你还想继续使用open api请参考旧版本目录 demo-src接入放自己维护
  3. 移除LinkCard模式分享,当前只支持文字和图片混合(我们不建议你继续使用老的sdk接入微博进行LinkCard分享,微博客户端可能会在未来取消该功能,对你的程序可能会造成异常)
  4. 移除微博支付功能
  5. 精简sdk,解决已知的bug

快速上手

概述

微博 Android 平台 SDK 为第三方应用提供了简单易用的微博API调用服务,使第三方客户端无需了解复杂的验证机制即可进行授权登陆,并提供微博分享功能,可直接通过微博官方客户端分享微博。

本文档详细内容请查阅:微博Android平台SDK文档V3.2.pdf


名词解释

名词 注解
AppKey 分配给每个第三方应用的 app key。用于鉴权身份,显示来源等功能。
RedirectURI 第三方应用授权回调页面。建议使用默认回调页https://api.weibo.com/oauth2/default.html ,可以在新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中找到。
Scope 通过scope,平台将开放更多的微博核心功能给开发者,同时也加强用户隐私保护,提升了用户体验,用户在新OAuth2.0授权页中有权利选择赋予应用的功能。
AccessToken 表示用户身份的 token,用于微博 API 的调用。
Web 授权 通过WebView进行授权,并返回Token信息。
SSO 授权 通过唤起微博客户端进行授权,并返回Token信息。

功能列表

1. 认证授权

  • SSO 授权:在有客户端的情况下,使用 SSO 授权登陆;无客户端的情况下,自动唤起 Web 授权
  • Web 授权:在没有客户端的情况下,可直接使用该授权
  • SSO 授权+Web 授权 混合授权,(推荐使用) ( 如果手机安装了微博客户端则使用客户端授权,没有则进行网页授权 ) 详情请查看Demo中WBAuthActivity中说明

2. 微博分享

通过微博SDK,第三方应用能够分享文字、图片:
有微博客户端情况

  • 通过第三方应用唤起微博客户端进行分享(该分享方式为第三方客户端通常的使用方式)
    无微博客户端情况
  • 通过OpenAPI进行分享,如果你要接入openAPI 进行分享,请参考开放平台接口微博开放平台api

API文档说明

http://sinaweibosdk.github.io/weibo_android_sdk/doc


运行示例代码

为了方便第三方应用更快的集成微博 SDK,更清晰的了解目前微博 SDK 所提供的功能,我们在 GitHub 上提供了一个简单的 示例工程 以及对应的 APK安装包
**方式一:**通过 adb install 命令直接安装 app_debug.apk (在新文档文件夹下面) **方式二:**在 Android Studio 中导入并运行 weibosdkdemo 工程(详情请查看微博Android平台SDK文档3.2.pdf中:运行示例代码

微博SDK及DEMO工程目录结构及分析

微博SDK目前以是部分开源的形式提供给第三方开发者的,简单来说,可以分为以下三部分:


集成前准备

1. 申请应用程序的APP_KEY

在这一步中,您需要在微博开放平台上,对您的应用进行注册,并获取APP_KEY,添加应用的授权回调页(Redirect URI)。详情请仔细阅读:移动客户端接入(http://t.cn/aex4JF

2. 注册应用程序的包名和签名

您需要在微博开放平台上注册应用程序的包名和签名后,才能正确进行授权。
请注意:包名和签名未注册,或者签名注册不正确,都会导致无法授权。
应用程序包名:指AndroidManifest.xml文件中,package标签所代表的内容。
应用程序签名:该签名是通过官方提供的签名工具生成的MD5值。
详情请查看:微博Android平台SDK文档V3.2pdf 中:如何使用签名工具获取您应用的签名?

3. 集成sdk

在你工程的主模块下面修改build.gradle文件,添加微博sdk的依赖
allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://dl.bintray.com/thelasterstar/maven/" }
    }
}
compile 'com.sina.weibo.sdk:core:1.0.0:openDefaultRelease@aar'

或者将新文档目录下的openDefault-1.0.0.aar复制到工程libs目录下,修改build.gradle文件如下:

repositories{
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile(name: 'openDefault-1.0.0', ext: 'aar')

}

第三方如何使用(认证授权)

1. 替换成自己应用的 APP_KEY 等参数

鉴于目前有很多第三方开发直接拷贝并使用Demo中的Constants类,因此,有必要说明,第三方开发者需要将Constants类中的各种参数替换成自己应用的参数,请仔细阅读代码注释。

public interface Constants {
    /** 当前 DEMO 应用的 APP_KEY,第三方应用应该使用自己的 APP_KEY 替换该 APP_KEY */
    public static final String APP_KEY      = "2045436852";

    /** 
     * 当前 DEMO 应用的回调页,第三方应用可以使用自己的回调页。
     * 建议使用默认回调页:https://api.weibo.com/oauth2/default.html
     */
    public static final String REDIRECT_URL = "http://www.sina.com";

    /**
     * WeiboSDKDemo 应用对应的权限,第三方开发者一般不需要这么多,可直接设置成空即可。
     * 详情请查看 Demo 中对应的注释。
     */
    public static final String SCOPE = 
            "email,direct_messages_read,direct_messages_write,"
            + "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
            + "follow_app_official_microblog," + "invitation_write";
}

2. 创建微博API接口类对象

mAuthInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);

其中:APP_KEY、 REDIRECT_URL、 SCOPE需要替换成第三方应用申请的内容。

3. 实现WeiboAuthListener接口

class AuthListener  implements WeiboAuthListener {
    
    @Override
    public void onComplete(Bundle values) {
        // 从 Bundle 中解析 Token
        mAccessToken = Oauth2AccessToken.parseAccessToken(values);
        if (mAccessToken.isSessionValid()) {
            // 保存 Token 到 SharedPreferences
            AccessTokenKeeper.writeAccessToken(WBAuthActivity.this, mAccessToken);
            .........
        } else {
        // 当您注册的应用程序签名不正确时,就会收到 Code,请确保签名正确
            String code = values.getString("code", "");
            .........
        }
    }

    @Override
    public void onCancel() {
    }

    @Override
    public void onWeiboException(WeiboException e) {
    }
}

4. 调用方法,认证授权

  • 1 Web 授权,直接调用以下函数:*
mSsoHandler = new SsoHandler(WBAuthActivity.this, mAuthInfo);
mSsoHandler.authorizeWeb(new AuthListener());
  • 2 SSO授权,需要调用以下函数:*
mSsoHandler = new SsoHandler(WBAuthActivity.this, mAuthInfo);
mSsoHandler. authorizeClientSso(new AuthListener());
  • 3 all In one方式授权,需要调用以下函数:*
mSsoHandler = new SsoHandler(WBAuthActivity.this, mAuthInfo);
mSsoHandler. authorize(new AuthListener());
  • 注:此种授权方式会根据手机是否安装微博客户端来决定使用sso授权还是网页授权,如果安装有微博客户端 则调用微博客户端授权,否则调用Web页面方式授权 参见pdf文档说明 *

以上三种授权需要在Activity的onActivityResult函数中,调用以下方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (mSsoHandler != null) {
        mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
    }
}

其它功能

其它功能请相见文档:微博Android平台SDK文档V3.2.pdf

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/smuyyh/weibo_android_sdk.git
git@gitee.com:smuyyh/weibo_android_sdk.git
smuyyh
weibo_android_sdk
weibo_android_sdk
master

搜索帮助