新浪微博API开发简介之PHP基础篇-用户授权
新浪微博API

新浪微博API新浪微博API(android版)============================本版本在java版的基础上修改,使其可以在android sdk上使用.新增加了android的OAuth登陆认证及获取好友微博的实现样例.常用接口实例:(使用前先修改 Weibo.java 中public static final String CONSUMER_KEY = "";public static final String CONSUMER_SECRET = "";填写成实际申请的 CONSUMER_KEY 及 CONSUMER_SECRET)1、获取最新公共微博列表参考:weibo4j.examples.GetTimelines 中的getPublicTimeline()部分2、发表微博参考:weibo4j.examples.Update 中的updateStatus(...)部分3、发表评论参考:weibo4j.examples.Update 中的updateComment(...)部分4、删除评论参考:weibo4j.examples.Update 中的destroyComment(...)部分5、发送私人消息参考:weibo4j.examples.DirectMessage 类6、发表带图片的微博参考:weibo4j.examples.OAuthUploadByFile 中的uploadStatus(status,file)部分7、更新用户头像参考:weibo4j.examples.OAuthUpdateProfile类8、OAuth登陆认证参考: andriodexamples 的demo.====================================== ======================================= 其他接口在weibo4j.Weibo类中定义,调用方式请参考weibo4j.examples,下面是完整的接口列表:获取下行数据集(timeline)接口方法名:statuses/public_timeline 最新公共微博方法名:getPublicTimelinestatuses/friends_timeline 最新关注人微博(别名: statuses/home_timeline) 方法名:getFriendsTimeline statuses/user_timeline 用户发表微博列表方法名:getUserTimeline(String id, Paging paging)statuses/mentions 最新 @用户的方法名: getMentions()statuses/comments 单条评论列表(按微博) 方法名:getComments()微博访问接口statuses/show 获取单条方法名:showStatus(long id)statuses/update 发表微博方法名:updateStatus(String status) statuses/upload 发表微博及图片方法名:uploadStatus(String status,File file)statuses/destroy 删除方法名: destroyStatus(long statusId)statuses/comment 评论方法名:destroyComment(long commentId)statuses/comment_destroy 删除评论方法名:destroyComment私信接口direct_messages 我的私信列表方法名:getDirectMessages() 分页 getDirectMessages(Paging paging)direct_messages/sent 我发送的私信列表方法名:getSentDirectMessages()direct_messages/new 发送私信方法名:sendDirectMessage(String id,String text)direct_messages/destroy 删除一条私信方法名:destroyDirectMessage(int id)关注接口friendships/create 关注某用户方法名:createFriendship(String id)或 createFriendship(String id, boolean follow)friendships/destroy 取消关注方法名:destroyFriendship(String id)friendships/exists 是否关注某用户方法名:existsFriendship(String userA, String userB)friends/ids关注列表方法名: getFriendsIDs(long cursor)followers/ids 粉丝列表方法名:getFollowersIDs(long cursor) 账号接口account/verify_credentials 验证身份是否合法方法名:verifyCredentials()account/rate_limit_status 查看当前频率限制方法名:rateLimitStatus()account/update_profile_image 更改头像方法名:updateProfileImage(File image)account/update_profile 更改资料方法名:User updateProfile(String name, String email, String url, String location, String description)收藏接口favorites 收藏列表方法名:getFavorites()favorites/create 添加收藏方法名:createFavorite(long id)favorites/destroy 删除收藏方法名:destroyFavorite(long id)。
新浪微博API开发教程(一)-体验篇

现在新浪微博开放平台()非常火啊,所以。
。
,你懂的! 首先,想要开发新浪微博 API,你就必须获取 APP KEY 和 APP SECRET,我毫不犹豫的就用 新浪微博账号登录了开放平台,创建了自己的应用如下:然后又去下载了新浪微博开发平台基于 PHP 的 SDK 包(包含 demo 程序) ,这个下载地址 是: /p/libweibo/downloads/detail?name=weibo-oauth-classwith-image-avatar-06-29.zip OK,一切完毕,首先解压 SDK 包后里面有如下5个文件,一一介绍下: config.php 是配置文件index.php 进入到新浪微博的验证授权页面 同意授权之后 回到 callback.php 页面 weibolist.php 微博发表以及列表页 weibooauth.php 类文件, 装着许多类和函数, 开发中需要用到的! 后期 php 教程再说! ( ) 开始进行测试: 首先打开 config.php 文件,填上 APP KEY 和 APP SECRET,否则授权失败!打开浏览器:http://localhost/zend/SinaApi/出现:Use Oauth to login 点击进入,居然报错(如下) ,真是打击我的信心啊!sorry, that page doesn’t exist!通过查阅资料发现是这个原因,index.php 的第16、17行: $_SERVER['SCRIPT_URI'] 错误,貌似 php 里面也没 SCRIPT_URI 这参数吧,好吧,将第 16、17行,的 $_SERVER['SCRIPT_URI'] 改为本地地址:'http://localhost/zend/SinaApi' 果然,点击进入后,显示授权成功,授权完成,进入你的微博列表页面 weobolist.php,有点小兴奋了!需要注意几点: 1.官方 SDK 中,有<?=?>段标签模式,这是 php 默认不开启的,你可以 改成<?php echo ?>2.注意编码问题,官方是用 UTF-8编码的!转 载 请 声 明 : 文 章 转 载 自 : PHP 点 点 通 , 原 文 地 址 :/php/sina-api.html。
新浪微博开放平台api

用java开发新浪微博的API首先先注册新浪微博(如果有了的可以直接登录)在进入新浪微博的开放平台下载SDK 下载最新的SDK /wiki/SDK然后把SDK 导入到MyEclipse 里接着在进入新浪微博的开放平台点击我要成为开发者注册1.填写开发者资料2.验证邮箱3.创建应用/添加网站点击创建应用有5种应用选择站内应用然后把信息填完点击创建成功后在应用基本信息里就会显示App Key 和App Secret再接着往下看会看到站内应用地址和应用实际地址记住填写的内容回到MyEclipse在src下面找到config.properties填写client_ID =App Keyclient_SERCRET =App Secretredirect_URI =应用实际地址(也可以不写我就没有写)保存接着就是写一条获取微博的前20条信息在examples 下的weibo4j.examples.oauth2下的OAuth4Code下直接运行(如果报错把改成),就会出现授权页面,登录,登录成功后,点击授权查看网址后面有个code=XXXX把code=后面的XXXX复制到MyEclipse 的控制台中的https:///oauth2/authorize?client_id=1682103644&redir ect_uri=/boyaboya&response_type=code&state=& scope=Hit enter when it's done.[Enter]:后面然后按回车就会输出一大堆消息直接跳到最后会看到记住"access_token" 后面的值就是是我们要用到的值了记录下来下面开始获取微博最新的前20条信息喽weibo4j.examples.timeline 下的 GetPublicTimeline 类中代码如下package weibo4j.examples.timeline;import java.util.List;import weibo4j.Timeline;import weibo4j.Weibo;import weibo4j.examples.oauth2.Log;import weibo4j.model.PostParameter;import weibo4j.model.Status;import weibo4j.model.StatusWapper;import weibo4j.model.WeiboException;import weibo4j.util.WeiboConfig;public class GetPublicTimeline {/***获取最新更新的公共微博消息*@param args*/public static void main(String[] args) {String access_token = "2.00zd8kXCwzvppB3d7bd9a1722AINVD";Weibo weibo=new Weibo();weibo.setToken(access_token);Timeline tm = new Timeline();tm.client.setToken(access_token);try {StatusWapper status = tm.getPublicTimeline();for(Status s : status.getStatuses()){Log.logInfo(s.toString());}System.out.println(status.getNextCursor());System.out.println(status.getPreviousCursor());System.out.println(status.getTotalNumber());System.out.println(status.getHasvisible());} catch (WeiboException e) {e.printStackTrace();}}}写完直接运行在控制台中就会直接输出最新的的前20条微博了。
新浪微博应用开发流程

新浪微博应用开发流程(注意:这是我以个人用户写的例子,如果是企业用户,会稍有不同)①:首先保证自己有个新浪微博的帐号,如果没有,请注册新浪微博,注册成功后,可以直接访问,也可以登录新浪微博,点击上面的应用,然后点击蓝色区域(微博开发平台,我也要做开发者)②:访问,用自己的新浪微博登录以后,先点击文档,看文档下面的新手引导,如果看明白之后,选择管理中心。
③:选择自己要开发的类型是应用还是网站。
④:应用分为这几个类型,这是我现在操作的情形,有可能新浪以后还会增加类型,总之,选择你想要开发的类型⑤:现在已站内应用为例,当初我们开发的是招加盟应用,上线之后你们可以在应用中搜一下。
现在我填写的信息一些测试信息,如图:然后点击确定,应用创建完成⑥:创建完之后,会跳转到这里,其实我们主要是得到这个App Key和App Secret,后面的开发基本都是用这个key和Secret调接口⑦:红色框中的的提示信息,都要一步一步去完成,这个要填写很多开发者身份认证资料,就不一一细说,可以自己去研究⑧:因为上面红色框中的限制,下面就拿其他现成的例子讲解,招加盟应用。
进入到每个应用的管理界面,点击应用信息,里面会有基本信息、高级信息和测试帐号基本信息:就是让你完善一些你的应用的内容,上传图片,简介,等等。
高级信息:需要填写授权回调页和取消授权回调页,这块主要是做授权开发的,为以后授权方便些测试帐号:这个应用没上线之前,只能允许15个微博帐号测试,就是你得手动添加一些其他的帐号做测试,点击编辑,会出现添加微博帐号的界面,只能通过微博登录后的显示的名称来查找添加,不能通过微博帐号添加。
例如:我以我的帐号为例,添加我的帐号为测试帐号,点击添加,以后保存就可以了。
⑨:点击文档,访问下面的OAuth2.0授权认证,仔细阅读里面的信息,因为授权这块特别麻烦,仔细去想,动脑然后选择OAuth2.0相关资源,我自己做的是php开发,所以选择的是PHP版本的SDK,点击进去以后是之前废弃的SDK DEMO,已经不更新,新的地址是https:///ElmerZhang/WeiboSDK,下载最新的DEMO,里面有相应更新的接口。
php获取新浪微博数据API的实例代码

php获取新浪微博数据API的实例代码分享下php取得新浪微博数据API的一个例子,学习下在php编程中,使用新浪微博数据API进行开发的方法,感兴趣的朋友可以参考下。
php获取新浪微博数据API要取得新浪微博的数据,可以通过其提供的API,地址:open.weibo/wiki/API文档_V2。
获取数据的方法:复制代码代码示例:<?php/***通过新浪微博数据API取得微博数据*edit:jbxue*/functiongetWeiboData(){$count=15;//参数source后面输入你的授权号$url="api.weibo/2/statuses/home_timeline.json?source=12 3456789&count=".$count."&page=1";echo$url.'<br/>';$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);//设置是否显示header信息0是不显示,1是显示默认为0//curl_setopt($curl,CURLOPT_HEADER,0);//设置cURL参数,要求结果保存到字符串中还是输出到屏幕上。
0显示在屏幕上,1不显示在屏幕上,默认为0curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//要验*的用户名密码curl_setopt($curl,CURLOPT_USERPWD,"username:password" );$data=curl_exec($curl);curl_close($curl);$result=json_decode($data,true);echo'<pre>';print_r($result);echo'</pre>';}>说明:json_decode($data)会输出一个对象,而json_decode($data,true)则强制输出为数组。
PHP简易微博

题目:基于php的简易微博系统简易微博系统说明文档一、本系统使用的工具前台界面设计采用Dreamweaver工具,编写php运用zendstudio,服务器采用Apache,数据库支持采用MySQL。
二、系统需求说明1、用户注册、登录;2、成功登陆,可以发布微博、评论微博、转发微博;3、用户可以浏览所以用户的微博;4、用户可以对喜欢的人进行关注。
三、数据要求说明本系统使用MySQL数据库,经过分析微博系统,总共设计了6张表。
主要有用户表、微博表、回复表、关注关系表、图片表、私信表。
重要数据表的数据字典如下:用户表tb_user名称类型说明id int 用户idusername varchar 用户名password varchar 密码sex varchar 性别realname varchar 真实姓名photo varchar 图片address varchar 地址回复表tb_answer名称类型说明id int 回复id fromUser_id int 回复者id toUser_id int 给回复者id blog_id int 回复的微博id content varchar 回复内容resTime datetime 回复时间微播表tb_blog名称类型说明id int 微博iduser_id int 用户id content varchar 微博内容fromBlog_id int 转发自微博id fromUser_id int 转发自用户id fowardNum int 转发数量issueTime datetime 发布时间关注关系表tb_res名称类型说明id int 关注关系idfocusing_id int 关注idfocused_id int 粉丝id四、概要设计说明1、简易微博系统功能结构图如下所示:初期设计页面,主要有登录页面、注册页面、登录成功之后的主页面。
页面设计简洁,易于用户操作。
新浪微博发送消息和授权机制原理(WeiboSDK)

新浪微博发送消息和授权机制原理(WeiboSDK)1.⾸先是在微博发送消息,对于刚開始做weibo发送消息的刚開始学习的⼈会有⼀个误区,那就是会觉得须要授权后才⼲够发送消息。
事实上发送消息仅仅须要⼏⾏代码就能够实现了,很easy,不须要先授权再发送消息,由于weibosdk已经帮我们封装好了。
(此情况须要⽤户安装client)发送消息流程为:点击发送消息按键----SDK会⾃⼰主动帮我们推断⽤户是否安装了新浪微博client--假设未安装弹出安装提⽰----假设安装直接跳转到sina微博client进⾏发送----发送成功后⾃⼰主动跳回原应⽤程序。
1)在AppDelegate中注冊sdk, AppDelegate须要实现WeiboSDKDelegateAppDelegate.h@interface AppDelegate : UIResponder <UIApplicationDelegate, WeiboSDKDelegate>{...AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{//注冊SDK[WeiboSDK enableDebugMode:YES];[WeiboSDK registerApp:kAppKey];- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{return [WeiboSDK handleOpenURL:url delegate:self];}2)拼接消息对象WBMessageObject,并发送消息[WeiboSDK sendRequest:request];WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:[self messageToShare]];erInfo = @{@"ShareMessageFrom": @"SendMessageToWeiboViewController",@"Other_Info_1": [NSNumber numberWithInt:123],@"Other_Info_2": @[@"obj1", @"obj2"],@"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};// request.shouldOpenWeiboAppInstallPageIfNotInstalled = NO;[WeiboSDK sendRequest:request];//这句就能够发送消息了,不须要先授权- (WBMessageObject *)messageToShare{WBMessageObject *message = [WBMessageObject message];if (self.textSwitch.on){message.text = @"測试通过WeiboSDK发送⽂字到微博!";}if (self.imageSwitch.on){WBImageObject *image = [WBImageObject object];image.imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image_1" ofType:@"jpg"]];message.imageObject = image;}if (self.mediaSwitch.on){WBWebpageObject *webpage = [WBWebpageObject object];webpage.objectID = @"identifier1";webpage.title = @"分享⽹页标题";webpage.description = [NSString stringWithFormat:@"分享⽹页内容简单介绍-%.0f", [[NSDate date] timeIntervalSince1970]];webpage.thumbnailData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image_2" ofType:@"jpg"]];webpage.webpageUrl = @"?a=1";message.mediaObject = webpage;}return message;}重要:假设程序发送完消息⽆法跳回原应⽤的话是由于在plist⽂件⾥没有配置URL Types,appKey在你的新浪开发⼈员帐号⾥有。
Xweibo微博API接口说明

Xweibo微博API接口说明Xweibo2011年6月目录目录1接口概述 (1)2API调用说明 (1)2.1参数说明: (1)2.2Api访问方式说明: (1)3API返回值说明 (2)3.1返回格式:json (2)3.2返回结构:{"rst":返回结果,"errno":结果代码,"err":"错误提示信息"} (2)4错误代码 (2)4.1参数检查错误代码: (2)4.2平台级别错误代码: (3)5接口介绍 (3)5.1微博访问接口 (3)5.1.1action.update:发布一条微博消息 (3)5.1.2action.destroy:删除一条微博信息 (4)5.1.3action.repost:转发一条微博信息 (5)ment:对一条微博信息进行评论 (6)ment.destroy:删除微博评论 (6)5.1.6action.reply:回复微博评论消息 (7)5.2关注接口 (9)5.2.1action.createFriendship:关注某用户 (9)5.2.2action.deleteFriendship:取消关注或移除粉丝 (10)5.2.3action.friendship:查看某人是否为指定用户的粉丝 (10)5.3收藏接口 (11)5.3.1action.createFavorite:添加收藏 (11)5.3.2action.deleteFavorite:删除收藏 (11)5.4账号接口 (12)5.4.1action.updateProfileImage:更改头像 (12)5.4.2action.saveProfile:更改个人资料 (12)5.5获取下行数据集(Timeline)接口 (13)5.5.1action.unread:获取当前用户未读消息数 (13)5.5.2action.getComments:获取指定微博的评论列表 (13)5.5.3action.getCounts:批量获取评论数和转发数 (116)5.5.4action.clearTip:未读消息数清零接口 (116)5.6私信接口 (16)5.6.1action.sendDirectMessage:发送私信 (16)5.6.2action.deleteDirectMessage:删除私信 (16)5.7用户接口 (17)5.7.1action.createBlocks:加入黑名单 (17)5.7.2action.deleteBlocks:删除黑名单 (17)5.7.3action.createTags:添加标签 (18)5.7.4action.deleteTags:删除标签 (18)5.8其它接口 (19)5.8.1action.setting:tip个人设置 (19)5.8.2action.sinaurl:解析短链接 (19)5.8.4action.saveNotice:更新提醒设置和tip显示方式 (21)Xweibo微博API接口说明1 接口概述Xweibo不仅提供了快速、低成本架设微博的解决方案,还提供了让第三方调用的API接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:
,它里面有很全面的新浪微博开发的资料,包括开发者的使用和介绍,各种语言的API函数介绍文档,SDK等多种资料。
自己在开发和学习的过程中,感觉虽然没有太大难度,但还是有一些问题是需要我们注意的,今天就我在开发和学习的过程中,简单的对利用PHP进行新浪微博API开发的内容进行一个整理和说明,
新浪微博API开发前的准备工作
首先到新浪微博开放平台下载基于PHP的SDK开发包,下载地址是:
/p/libweibo/downloads/detail?name=weibo-oauth-class-with-image-avatar-06-29 .zip
下载完成后放到自己的开发环境中并解压,在其中也包含了demo演示程序,我们可以参考其样例程序进行编写。
新浪微博API开发最重要的用户授权过程
其实在开发过程中很多的问题都是集中在用户授权这个阶段,我开发的第三方应用,使用的是OAuth授权,关于OAuth授权的流程在新浪微博开放平台里有很清晰完整的介绍,我们可以到
/wiki/Oauth去查看,我这里从实例开发的角度进行介绍和说明。
1.首先获取未授权的Request Token
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
我们需要在新浪微博开放平台中注册一个帐号,或直接使用我们的新浪微博帐号登录,进入我的应用,然后按照提示创建属于我们自己的第三方应用,创建完成之后我们可以得到两个授权的App Key和App Secret值,这两个值就是我们开发应用的关键。
得到授权值后,我们就可以利用上面的代码获得未授权的Request Token值了,它们会保存在$key数组变量中。
2.然后请求用户授权Token
$_SESSION['keys'] = $keys;
$aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');
得到未授权的Request Token值后,我们就利用上面的代码可以开始准备去新浪微博授权页面进行授权,$aurl就是授权链接页面,我们得到$aurl后就可以利用header()直接跳转到该授权页面,然后用户输入新浪微博帐号和密码进行授权,授权完成后,自动跳回你在最后一个参数里面设置的回调页面:
http://localhost/callback.php,该链接你可以设置为上一个页面,这样授权完成之后就会自动又跳转回去了。
需要注意的是设置session的keys的值是必须的,它在下面获取到授权的Access Token中是需要用到的。
很多的朋友可能会参考其开放平台上面的说明来进行授权时,可发现总是出错,一般都是这个问题,你并未设置session的keys值,在下面当然取不到Access Token的值了,这个一定要记住了。
3.最后得到用户授权的Access Token
$o = new WeiboOAuth( WB_AKEY ,
WB_SKEY ,
$_SESSION['keys']['oauth_token'] ,
$_SESSION['keys']['oauth_token_secret'] );
$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
echo($last_key['oauth_token']);
上面的代码就最终获得了用户授权的Access Token,共两个值,它们保存在$last_key数组变量里面,我们也可以看到,后面的两个参数就是前面我们设置的session值。
到此就基本完成了,这就是新浪微博用户授权的一个完整的过程。
授权完成后的工作
在授权完成之后,我们就可以开始调用新浪微博提供的各类API函数接口进行实际应用的开发了,在这里我就获取最新微博记录这个接口进行一个简单说明,其他都类似。
获取最新新浪微博信息的API接口函数是:public_timeline(),样例代码看下面:
//获取前20条最新更新的公共微博消息
$c = new WeiboClient( WB_AKEY ,
WB_SKEY ,
$oauth_token ,
$oauth_token_secret );
$msg = $c->public_timeline();
if ($msg === false || $msg === null){
echo "Error occured";
return false;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code: '.$msg['error_code'].'; Error: '.$msg['error'] );
return false;
}
print_r($msg);
通常我们在得到用户授权的Access Token值之后,就把它们保存在我们的用户表中,与我们的应用中的帐号进行对应,之后我们在调用新浪微博各api接口时就不用每次都去认证了。
上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline就可以得到返回的信息,如果没有错误的话。
通常新浪微博api接口返回的数据格式一般为Json格式或xml格式,而我们在此是用php进行开发,则使用Json格式的数据就有先天的优势,如果返回Json格式数据的话,直接使用php函数json_decode()就可以转换为php常用的array数组格式了。
文章来源:。