使用新浪微博开放平台api同步微博内容至自己网站(ReadMe仓库停止服务.8.0修复bug.v10.8.1)

优采云 发布时间: 2022-03-25 03:04

  使用新浪微博开放平台api同步微博内容至自己网站(ReadMe仓库停止服务.8.0修复bug.v10.8.1)

  自述文件

  公告:

  针对Jcenter仓库的宕机问题,我们重新提供了基于MavenCentral仓库的依赖方法并更新了SDK版本

  SDK v11.8.1 文档

  在项目根目录下的build.gradle文件中添加依赖配置

   allprojects {

repositories {

mavenCentral()

……

}

}

  在模块的 build.gradle 文件中添加依赖和属性配置

   android {

……

defaultConfig {

ndk {

abiFilters 'armeabi' //, 'armeabi-v7a','arm64-v8a'

}

}

}

dependencies {

implementation 'io.github.sinaweibosdk:core:11.8.1@aar'

}

  文件地址:文件

  新包裹地址:

  旧包地址:新版本和文档

  v11.8.1

  修复部分场景下分享后回调结果无法正确返回的问题。

  v11.6.0

  修复崩溃。新增超级聊天分享功能(需要与微博协商获得白名单权限才能开发此功能,否则分享无效)

  v10.10.0

  适配Android 11,支持通过FileProvider分享。

  v10.9.0

  修复可能的安全问题。

  v10.8.0

  修复错误。

  v10.7.0

  20年来的第一个版本,基于v9.12.0的升级。主要解决9.12.0版本的bug.3。v4.xx版本系列不再维护,建议升级。具体访问方法在2019 SDK目录下有文档。如果您在访问过程中遇到问题,请及时联系我解决。()

  2019年底,微博SDK版本v9.12.0全新更新:

  1.新的SDK接入文档解决了同学们接入时没有详细文档的痛点。

  2.新的 SDK API 设计。

  3.全新的SDK Demo,支持傻瓜式访问。

  4.aar 包瘦身并删除无用代码。

  当心:

  1.新版本的API发生了变化。如果要升级到最新版本,需要按照文档一步步升级。

  2.新版本位置:2019SDK。

  3.如果您在新版本的访问中遇到问题,请及时联系我,我看到会及时回复您。( )

  数据的下载入口在这个网页的右侧,有一个下载-ZIP按钮,可以本地下载。↗↗

  为了方便第三方开发者快速集成微博SDK,我们提供以下*敏*感*词*协助开发者进行集成:

  QQ群:248982250

  QQ群:284084420

  QQ群:109094998 邮箱:

  微博:新的移动技术

  虽然我们提供了几份文件,但总有不满意的地方。为了快速上手,少走弯路,我们建议您使用以下方法来了解和集成微博SDK。

  如果您在使用过程中不知道如何解决一些问题,请仔细阅读:常见问题FAQ,并尝试找到相应的答案。

  另外,关于SDK的bug反馈、用户体验、建议和不足,请尽量提交到Github,充分利用Github这个工具。目前,SDK有很多不足之处。请给我们一些时间。我们将努力为第三方开发者提供标准化、易用、稳定、可靠、可扩展、可定制的SDK。

  发行说明:Android SDK V4.1 版本更改:

  v4.4.4

  1.去除异常打印堆栈信息。(如果没有包注册获取新版本(待加入白名单),请联系QQ(879073159))

  v4.4.3

  1.解决空指针异常。(如果没有包注册获取新版本(待加入白名单),请联系QQ(879073159))

  v4.4.2

  1.修复恶意启动可能导致的崩溃。(如果没有包注册获取新版本(加入白名单),请联系QQ(879073159))

  v4.4.1

  1.默认支持armeabi、arm64-v8a、armeabi-v7a架构。

  2.修改无法获取权限时可能导致的异常。(如果没有包注册获取新版本(待加入白名单),请联系QQ(879073159))

  v4.4.0

  1.默认支持 armeabi、arm64-v8a 两种架构。

  2.修复分享时横竖屏切换导致的异常。

  3.修复其他bug(如果没有包注册获取新版本(加入白名单),请联系QQ(879073159))

  4.4.3.8 已经报过的,以后不用报了。

  v4.3.9

  1.修复了分享中遇到的一些bug。(如果没有包注册获取新版本(待加入白名单),请联系QQ(879073159))

  v4.3.8

  1.修复部分bug2.默认只支持armeabi架构3.使用4.3.8时请联系客服进行包注册。联系QQ(879073159)

  v4.3.7

  1.错误修复

  2.添加64位所以

  v4.3.6

  1.错误修复

  v4.3.5

  1.修复Android4.4.4以下版本分享后无回调。

  v4.3.4

  1.错误修复

  v4.3.11.修复bug2.关于分享后的回调,4.3.0开始接受如下方式:

  @Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

shareHandler.doResultIntent(data,this);

}

  v4.3.01.修复bug

  v4.2.71.支持微博速成版授权登录

  v4.11.修复一些已知bug2.支持多图分享和视频分享3.支持分享视频到微博故事

  v4.01.新的授权和分享逻辑,让你的访问更加明确2.修复了一些已知问题

  v3.2

  新网页授权和共享移除open api相关文档,如果还想继续使用open api,请参考旧版本目录【旧版本相关/demo-src】访问,维护和移除LinkCard模式共享,目前仅支持文字与图片混合(我们不建议您继续使用旧的sdk访问微博进行LinkCard共享,微博客户端将来可能会取消此功能,这可能会导致您的程序异常)删除微博支付功能并简化sdk , 解决已知错误的快速入门概述

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

  本文档详情请参考:微博Android平台SDK文档V4.1.pdf

  名词解释名词注释

  应用密钥

  分配给每个第三方应用程序的应用程序密钥。用于身份验证、显示来源等功能。

  重定向URI

  第三方应用授权回调页面。推荐使用默认回调页面,可以在新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页面找到。

  范围

  通过范围,平台将向开发者开放更多微博核心功能,同时加强用户隐私保护,提升用户体验。用户有权在新的 OAuth2.0 授权页面上选择分配给应用程序的功能。

  访问令牌

  代表用户身份的令牌,用于微博API调用。

  网页授权

  通过WebView授权,返回Token信息。

  SSO 授权

  通过调用微博客户端授权并返回Token信息。

  使用微博sdk授权分享时,请确保您的A*敏*感*词*ey、RedirectURI、Scope、PackageName与开发者官网一致。

  功能列表1. 认证授权特别说明:新版sdk去掉了openapi功能(包括获取用户信息等方法),授权后获取用户信息请参考openapi接口文档微博开放平台api,使用自带的网络引擎请求数据2.分享到微博

  通过微博SDK,第三方应用可以分享文字、图片、视频:

  有微博客户

  OpenApi openApi 不再在微博 sdk 中维护。如果要使用OpenApi,请参考开发者网站使用自己的网络访问

  运行示例代码

  为了方便第三方应用更快地集成微博SDK,更清楚地了解微博SDK提供的功能,我们在GitHub上提供了一个简单的示例工程和对应的APK安装包。

  **方法一:**通过adb install命令直接安装app_debug.apk(新建文档文件夹下)**方法二:**在Android Studio中导入并运行weibosdkdemo项目(详见Android微博)平台SDK文档4.1.pdf:运行示例代码)

  微博SDK和DEMO项目目录结构及分析

  微博SDK目前以部分开源的形式提供给第三方开发者。简而言之,可以分为以下三个部分:

  集成前准备1. 申请应用的APP_KEY

  在这一步,您需要在微博开放平台上注册您的应用,获取APP_KEY,并添加应用的授权回调页面(Redirect URI)。详情请仔细阅读:手机客户端访问( )

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

  您需要在微博开放平台上注册应用程序的包名和签名,才能正确进行授权。

  请注意:包名和签名未注册,或签名注册错误,将导致授权失败。

  应用包名:指AndroidManifest.xml文件中package标签所代表的内容。

  应用签名:签名是官方签名工具生成的MD5值。

  详情请参考:微博Android平台SDK文档V4.0pdf:如何使用签名工具获取应用的签名?

  3. 集成SDK

  1:Android Studio访问修改你项目主模块下的build.gradle文件,添加微博sdk的依赖

  allprojects {

repositories {

jcenter()

mavenCentral()

maven { url "https://dl.bintray.com/thelasterstar/maven/" }

}

}

compile 'com.sina.weibo.sdk:core:4.4.3:openDefaultRelease@aar'

  或者将新建文档目录下的openDefault-4.4.1.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-4.4.3', ext: 'aar')

}

  2:日食:

  将github项目下【eclipse集成】目录下的文件复制到你的项目中

  3:差不多

  微博sdk aar默认提供[armeabi] [armeabi-v7a] [arm64-v8a]三个平台的so。如果需要适配更多版本的so,请到github->so目录获取所有平台so文件

  如果只想引入特定平台,在gradle中配置如下

   splits {

abi {

enable true

reset()

include 'armeabi' //根据需求自己修改

universalApk true

}

}

  4:关于混淆

  -keep class com.sina.weibo.sdk.** { *; }

  第三方如何使用(认证授权)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);

WbSdk.install(this,mAuthInfo);

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

  3. 实现 WbAuthListener 接口

  private class SelfWbAuthListener implements com.sina.weibo.sdk.auth.WbAuthListener{

@Override

public void onSuccess(final Oauth2AccessToken token) {

WBAuthActivity.this.runOnUiThread(new Runnable() {

@Override

public void run() {

mAccessToken = token;

if (mAccessToken.isSessionValid()) {

// 显示 Token

updateTokenView(false);

// 保存 Token 到 SharedPreferences

AccessTokenKeeper.writeAccessToken(WBAuthActivity.this, mAccessToken);

Toast.makeText(WBAuthActivity.this,

R.string.weibosdk_demo_toast_auth_success, Toast.LENGTH_SHORT).show();

}

}

});

}

@Override

public void cancel() {

Toast.makeText(WBAuthActivity.this,

R.string.weibosdk_demo_toast_auth_canceled, Toast.LENGTH_LONG).show();

}

@Override

public void onFailure(WbConnectErrorMessage errorMessage) {

Toast.makeText(WBAuthActivity.this, errorMessage.getErrorMessage(), Toast.LENGTH_LONG).show();

}

}

  4. 调用方法、认证和授权

  mSsoHandler = new SsoHandler(WBAuthActivity.this);

mSsoHandler.authorizeWeb(new WbAuthListener());

  mSsoHandler = new SsoHandler(WBAuthActivity.this);

mSsoHandler. authorizeClientSso(new WbAuthListener());

  mSsoHandler = new SsoHandler(WBAuthActivity.this);

mSsoHandler. authorize(new WbAuthListener());

  以上三个授权需要在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文档V4.1.pdf

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线