新浪微博API使用
2012-06-26 18:25
197 查看
如今社交网络异常活跃,接触到的几乎每个应用都使用有一个功能:分享。分享到各种SNS上,
现今以新浪微博最火,其提供了良好的API接口等文档供开发者使用,正好称此有机会也来接触一下,
说不定那天也能用得上。下面简单记录下初步使用过程中遇到的问题,以便对后来者有点作用。
一授权认证
在使用新浪微博API前,还是很有必要先了解一下新浪微博授权认证过程如何。
可以参考博文:http://whatandroid.blog.51cto.com/2172732/818665
二 APP KEY的申请
为了使用新浪微博开放平台提供的API,你需要先注册一个应用,获得一个专属的App Key和App Secret。
Key跟Secret的使用方式跟其他一些协议中的公钥私钥的方案相类似,你可以使用你所熟悉的编程语言将key和secret结合,
为你发出的每个请求添加签名,以此来向新浪微博开放平台表明自己身份的合法性。
注册方法:登录新浪微博,点击应用 找到:
然后就可以创建应用,填写信息,不需要审核通过就可以得到App Key。
三下载SDK
http://open.weibo.com/wiki/SDK
到微博开放平台下载就可以了,我的是Android-SDK版本。weibo4android-1.2.1.zip。
里面已经提供了很多example,可以参考。直接导入到Eclipse里面也是可以使用的。
需要配置一下版本,将Weibo类中的
public class Weibo {
public static String CONSUMER_KEY = ""; //填入申请到的
public static String CONSUMER_SECRET = "";//填入申请到的
}
然后就可以测试运行。
四 API使用
其中提供了很多example,这样我们就可以来熟悉微博API的使用。
在开发中我们可能需要将其集成到我们的APP中,这其中会有一些问题,下面看看我遇到的以及解决方法。在android4.0中:
1 E/AndroidRuntime(3595): java.lang.RuntimeException: Unable to start activity ComponentInf{com.weibo/com.weibo.ShareActivity}:android.os.NetworkOnMainThreadException.
NetworkOnMainThreadException:在主线程UI线程中访问网络 异常。访问网络是一件耗时的操作,可能被禁止这样使用。
解决方法:开辟新的线程中访问网络。(最好是这样)
或者使用android提供的类StrictMode自动进行优化。
具体使用方法在在程序入口如onCreate中加入:
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
StrictMode用意具体可参考:http://www.cnblogs.com/zelos/archive/2011/02/27/1966403.html
2 E/AndroidRuntime(6195): java.lang.NoClassDefFoundError: org.apache.commons.httpclient.methods.PostMethod
分享图片的时候会遇上,找不到此类定义,可是明明已经导入相应的SDK中提供的包了。
将包都放入到lib文件下,在Eclipse中右键点击lib文件夹,选Bulid path –> Use as source folder。
3 weibo.getOAuthRequestToken(callback_url);中callback_url问题
设置不正确可能在登录之后无法返回到相应的Activity中;
这里的设置和AndroidManifest.xml中对activity的filter对应:
<data
android:host="ShareActivity"
android:scheme="share" />
然后requestToken =weibo.getOAuthRequestToken("share://ShareActivity"); 要对应。
才能返回到ShareActivity中;
scheme是工程名,必须得小写。host是要返回的activity。
五发布微博例子
顺便附上一个来自网络上,能够分享图片的例子。我把它移到我这里工程上来的完整程序。
来自文章:http://www.pocketdigi.com/20110727/424.html
程序例子下载:
http://files.cnblogs.com/bastard/Share.rar
现今以新浪微博最火,其提供了良好的API接口等文档供开发者使用,正好称此有机会也来接触一下,
说不定那天也能用得上。下面简单记录下初步使用过程中遇到的问题,以便对后来者有点作用。
一授权认证
在使用新浪微博API前,还是很有必要先了解一下新浪微博授权认证过程如何。
可以参考博文:http://whatandroid.blog.51cto.com/2172732/818665
二 APP KEY的申请
为了使用新浪微博开放平台提供的API,你需要先注册一个应用,获得一个专属的App Key和App Secret。
Key跟Secret的使用方式跟其他一些协议中的公钥私钥的方案相类似,你可以使用你所熟悉的编程语言将key和secret结合,
为你发出的每个请求添加签名,以此来向新浪微博开放平台表明自己身份的合法性。
注册方法:登录新浪微博,点击应用 找到:
然后就可以创建应用,填写信息,不需要审核通过就可以得到App Key。
三下载SDK
http://open.weibo.com/wiki/SDK
到微博开放平台下载就可以了,我的是Android-SDK版本。weibo4android-1.2.1.zip。
里面已经提供了很多example,可以参考。直接导入到Eclipse里面也是可以使用的。
需要配置一下版本,将Weibo类中的
public class Weibo {
public static String CONSUMER_KEY = ""; //填入申请到的
public static String CONSUMER_SECRET = "";//填入申请到的
}
然后就可以测试运行。
四 API使用
其中提供了很多example,这样我们就可以来熟悉微博API的使用。
在开发中我们可能需要将其集成到我们的APP中,这其中会有一些问题,下面看看我遇到的以及解决方法。在android4.0中:
1 E/AndroidRuntime(3595): java.lang.RuntimeException: Unable to start activity ComponentInf{com.weibo/com.weibo.ShareActivity}:android.os.NetworkOnMainThreadException.
NetworkOnMainThreadException:在主线程UI线程中访问网络 异常。访问网络是一件耗时的操作,可能被禁止这样使用。
解决方法:开辟新的线程中访问网络。(最好是这样)
或者使用android提供的类StrictMode自动进行优化。
具体使用方法在在程序入口如onCreate中加入:
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
StrictMode用意具体可参考:http://www.cnblogs.com/zelos/archive/2011/02/27/1966403.html
2 E/AndroidRuntime(6195): java.lang.NoClassDefFoundError: org.apache.commons.httpclient.methods.PostMethod
分享图片的时候会遇上,找不到此类定义,可是明明已经导入相应的SDK中提供的包了。
将包都放入到lib文件下,在Eclipse中右键点击lib文件夹,选Bulid path –> Use as source folder。
3 weibo.getOAuthRequestToken(callback_url);中callback_url问题
设置不正确可能在登录之后无法返回到相应的Activity中;
这里的设置和AndroidManifest.xml中对activity的filter对应:
<data
android:host="ShareActivity"
android:scheme="share" />
然后requestToken =weibo.getOAuthRequestToken("share://ShareActivity"); 要对应。
才能返回到ShareActivity中;
scheme是工程名,必须得小写。host是要返回的activity。
五发布微博例子
顺便附上一个来自网络上,能够分享图片的例子。我把它移到我这里工程上来的完整程序。
来自文章:http://www.pocketdigi.com/20110727/424.html
程序例子下载:
http://files.cnblogs.com/bastard/Share.rar
相关文章推荐
- 新版新浪微博api使用问题及相关解决办法
- 使用新浪微博API的OAuth认证发布微博
- 新浪微博API使用初步介绍——解决回调地址的问题
- 新浪微博Oauth2.0授权 获取Access Token以及API的使用
- Java使用新浪微博API开发微博应用的基本方法
- 在Android使用新浪微博的开发平台API
- 使用python调用新浪微博API的小经历
- 新浪微博API学习使用笔记(2)
- 详细讲解新浪微博的API到底如何使用
- 新浪微博Oauth2.0授权 获取Access Token以及API的使用
- 求助:php通过新浪微博接口 api 如果获取某一地区下所有用户的微博列表?或使用包含某一关键词的微博列表
- Python:新浪微博API的使用及安全的模拟登陆自动获取code值
- 新浪微博Oauth2.0授权 获取Access Token以及API的使用
- 使用新浪微博官方API抓取微博数据(Python版)
- 新浪微博 API 使用入门
- 新浪微博API申请与使用
- 新浪微博Oauth2.0授权认证及SDK、API的使用(Android)
- 新浪微博API使用初步介绍——解决回调地址的问题
- 快速学习和使用新浪微博API开发WEB应用
- 新浪微博api使用