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

合集下载

新浪微博API

新浪微博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开发教程(一)-体验篇

现在新浪微博开放平台()非常火啊,所以。

,你懂的! 首先,想要开发新浪微博 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

新浪微博开放平台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进行开发的方法,感兴趣的朋友可以参考下。

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简易微博

题目:基于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)

新浪微博发送消息和授权机制原理(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接口说明

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接口。

新浪微博开发者平台应用申请及配置说明

新浪微博开发者平台应用申请及配置说明

第一章常见问题说明在本项目微博开发文档中大家使用新浪微博官方提供的WeiboSDKDemo为大家演示项目基本环境的搭建,后面的开发也是在此基础上进行开发,目的是方便大家学习和理解项目结构、新浪微博的认证授权及新浪微博API调用。

WeiboSDKDemo使用的appkey、授权回调地址和debug.keystore均是新浪微博官提供的,并且WeiboSDKDemo的包名不能更改,在大家熟悉项目结构之后,也可以自己在新浪微博开放平台上申请开发者账号,并且创建自己的应用,就不必使用新浪微博官方提供的了,创建过程可以参考第二章和第三章。

在使用WeiboSDKDemo注意事项:1.使用WeiboSDKDemo时不能更改WeiboSDKDemo中所用的包名(com.sina.weibo.sdk.demo),在src根目录下的Constants.java文件中提供了AppKey ,一定要使用这个appKey,否则将会导致新浪官方的授权认证服务器上的签名认证失败。

2.一定要使用Demo中提供的debug.keystore3.MD5工具是根据keystore来生成签名的,不同的keystore生成的签名是不一样的。

此Demo的签名是用官网提供的keystore生成的,若要顺利运行Demo程序,需要进行设置或是替换keystore,两种方法可以选择其中一种进行操作:方法一:替换keystore,把Android默认的debug.keystore(在C:\Users\xxxx\.android目录下)替换成官方在Hithub上提供的debug.keystore。

方法二:在Eclipse中设置工程keystore,在Eclipse中点击“Windows -> Preferences -> Android -> Build”,在Custom debug keystore 中选择Demo中的debug.keystore,点击Apply -> OK,Demo即可正常运行。

php实现新浪微博同步登录(代码及教程)

php实现新浪微博同步登录(代码及教程)

php 实现新浪微博同步登录功能还是很简单的,在新浪微博 php sdk 上加入登录模块很 容易搞定,下面说说 php 点点通的实现新浪微博同步登录的过程,主要原理是在新浪微博 登录授权后, access_token 后者其他信息保存在本地数据库中, 将 这样其实就实现了绑定, 下次用户登录数只要判断 access_token 存在,就表明该用户存在数据库,登录成功! 首先要分析我们要处理下面这几种登录情况:(本 php 教程由 提供) 1.数据库有该用户,直接登录!判断用户和密码后,登录后要考虑是否绑定新浪微博 2.数据库有该用户,新浪微博登录!判断 access_token 字段是否存在,存在则登录成功, 丌存在则登录失败 2.数据库没有该用户,新浪微博登录无效!提示该用户注册 实现过程: 首先建立数据库: (如下截图)说明:test 数据库里面有一张 user 表,其中 access_token 字段是记录新浪微博用户的 access_token! 我的文件目录格式为:说明:我是把 php sdk 包放在 api 文件夹里面,对了,上面 phpinfo.php 是没有的,截图失 误! 源码如下: 登录页面 login.php:       <?php header("Content-type:text/html;charset=utf-8"); session_start(); include_once( './api/config.php' ); include_once( './api/saetv2.ex.class.php' ); $o= new SaeTOAuthV2( WB_AKEY, WB_SKEY); $code_url= $o->getAuthorizeURL( WB_CALLBACK_URL); /**/  if(!empty($_POST['submit'])){  $mysqli= new mysqli('localhost','root','','test');  $username= $_POST['username'];  $password= MD5($_POST['password']);  $sql= "select * from `user` where `username` = '$username' and `password` = '$password'";  $query= $mysqli->query($sql);  $row= $query->fetch_array();  if ($row[0]){  $_SESSION['id'] = $row['id'];  header("Location:user.php");  }else{  echo"用户名或密码错误";  }  }   ?>  <form method="post">  用户:<input type="text" name="username" /><br/>  密码:<input type="password" name="password" />  <input type="submit" name="submit" value=" 登 录 " href="<?php echo $code_url?>">新浪微博登录</a>  </form> 登录后用户页面 user.php:/><a               <?php header("Content-type:text/html;charset=utf-8"); session_start(); if (!empty($_SESSION['id'])){ $mysqli= new mysqli('localhost','root','','test'); $sql= "select * from `user` where id = ".$_SESSION['id'].""; $query= $mysqli->query($sql); $row= $query->fetch_array(); echo"登录成功,欢迎:".$row['username']; if($row['access_token']){ echo"你的微博账号已经绑定!"; }else{ echo" ===>绑定新浪微博?<a href=\"./api/index.php\">进入</a>"; } }else{ echo"登录失败,<a href=\"../login.php\">返回到登录页面<a/>";  }  ?> 微博登录绑定页面:weibolist.php <?php  header("Content-type:text/html;charset=utf-8");  session_start();  include_once( 'config.php' );  include_once( 'saetv2.ex.class.php' );  $mysqli= new mysqli('localhost','root','','test') die("connect wrong!");  $sql= "select * from `user` where '{$_SESSION['token']['access_token']}'";  $res= $mysqli->query($sql);  $row= $res->fetch_array();  if (!empty($row['access_token'])){  $_SESSION['id'] = $row['id'];  header("Location: ../user.php");  }else{  if(!empty($_SESSION['id'])){  //进行绑定  $sql= "update `user` set '{$_SESSION['token']['access_token']}' `id`={$_SESSION['id']}"; `access_token`or =`access_token`= where $mysqli->query($sql);  header("Location: ../user.php");  }else{  echo" 用 户 不 存 在 , <a href=\"../login.php\"> 返 回 登 录 页 面 进 行 注 册 </a>";      } } $res->free(); $mysqli->close(); ?>其他页面源码丌变,如 api 文件里面 config.php 一定要正确填写 app_key app_secrect 和回调页面 callback 地址! 效果图如下:提供源码下载: (需要自己配置 app_key app_secrect 和回调页面 callback 地址! ) []SinaWeibo.rar (我是新手,程序难免错误,请多多指教!)欢迎转载! 原文地址: /php/699.html ,转载请注明地址,谢谢!。

快速学习和使用新浪微博API开发WEB应用

快速学习和使用新浪微博API开发WEB应用

新浪微博API,看起来像一个高深莫测的东西,的确,这也不是一个很简单是的东西。

新浪微博API,当我第一次接触它的时候真的不知所措,感觉得很难入手,而且中间经常出现错误,一般是漏了某些参数造成,就需要浪费大量的时间去调试,在这里要感谢一下我的朋友Randy的帮忙和指导!好了,废话少说,现在直接告诉大家一些我的心得,快速学习和使用新浪API。

第一步:申请新浪微博账号,登陆后在这里/apps创建一个应用,里面的信息暂时可以乱填写(应用开发完成了再回来修改)。

创建后系统会分配一个App Key和App Secret,这两个是验证开发者的身份,必不可少(在下一步下载的SDK 源码里会有作者的,应该还可以正常使用,建议替换成你的。

)第二步:下载SDK源码,我是使用C#的,所以下载的是/wiki/index.php/SDK#C.23选择第二个或者/p/opensinaapi/。

下载完解压后,就可以直接使用VS打开。

第三步:SDK源码主要文件oAuthBase.cs 、oAuthSina.cs、 ISinaApiService.cs 、SinaApiService.cs四个文件。

上一步提到的两个KEY就在oAuthSina.cs文件第31行,直接替换即可。

那再看SinaApiService.cs文件,第63行user_timeline方法。

view plaincopy to clipboardprint?1./*用户发表微薄列表*/2.public string user_timeline(string userid, string passwd, string format)3.{4. oAuthSina _oauth = new oAuthSina();5. if (oAuth(userid, passwd, _oauth))6. {7. string url = "/statuses/user_timeline." +format;8. return _oauth.oAuthWebRequest(oAuthSina.Method.GET, url, String.Empty);9. }10. else11. return null;12.}1. /*用户发表微薄列表*/2.public string user_timeline(oAuthSina oauth, string format)3.{4. string url = "/statuses/user_timeline." + format;5. return oauth.oAuthWebRequest(oAuthSina.Method.GET, url, String.Empty);6.}1.<%2. oAuthSina oauth = new oAuthSina();3. string authLink = oauth.AuthorizationSinaGet() + "&oauth_callback=http://localhost:2122/SinaApiCallBack.ashx";4. Session["Sina_oAuth"] = oauth; //保存到Session以便于后台调用5.%>6.<div>7. <a href="<%=authLink %>">登陆到新浪微博</a>8.</div>1.context.Response.ContentType = "text/plain";2.context.Response.Write("Hello World");3.string oauth_token = context.Request["oauth_token"];4.string oauth_verifier = context.Request["oauth_verifier"];5.if (context.Session["Sina_oAuth"] != null)6.{7. oAuthSina oauth = (oAuthSina)context.Session["Sina_oAuth"]; //从前台session保存下来的8. oauth.Verifier = oauth_verifier;9. oauth.Token = oauth_token;10. oauth.AccessTokenGet(oauth_token);11. SinaApiService sina = new SinaApiService();12. string user = er_timeline(oauth, "xml"); //以上几行代码暂时不需要知道是什么,但必不可少,照写就行了13. context.Response.Write(user); //输出新浪API返回的XML文档内容14.}有什么问题或建议大家可以一起讨论和研究。

新浪微博的API

新浪微博的API

1,开发流程技术规范与指南目录隐藏∙ 1 概述∙ 2 开发流程o 2.1 申请APPKEYo 2.2 应用创建及发布流程∙ 3 开发指南o 3.1 SDK简介及作用o 3.2 如何通过授权访问数据3.2.1 OAUTH认证o 3.3 如何访问匿名接口o 3.4 接口数据如何适当的缓存o 3.5 如何避免rate limito 3.6 技术咨询和建议通过何种途径询问概述API平台应用日益丰富,为了让开发者更容易了解开发流程;为了规范API的接口,需要制定开发规范;为了对开发者进行一些深层次的指导,让开发者怎样来最优的访问API接口,特此制定开发流程技术规范与指南。

开发流程申请APPKEY1. 进入2. 如果您有新浪微博账户,可以直接登录,没有则注册一个微博账户后登录3. 登录后进入我的应用,创建一个应用4. 创建完成后会生成对应的appkey,app_secret,记住:您的app_key别对外泄露。

应用创建及发布流程应用的创建及发布包括下面的流程,开发者可以根据应用当前的状态进行相应的操作开发指南SDK简介及作用SDK是特定语言实现的一个可以通用的API使用的工具,SDK实现了新浪开放平台的全部或大部分接口,以便开发者不用关心API接口细节,认证实现等,可以直接调用接口完成特定的功能。

支持新浪微博开放平台接口的SDK语言包括Adobe air,c++,c#,java,php,python,ios等,具体请参考SDK列表页面如何通过授权访问数据微博开放平台对外支持两种用户认证方式,Basic auth以及OAUTH认证微博开放平台对外支持两种用户认证方式,Basic auth以及OAUTH认证OAUTH认证OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。

关于OAUTH协议可以参考使用OAUTH认证来获取微博数据介绍详细见:OAuth如何访问匿名接口为了方便一些应用在没有用户认证情况下需要获取一些数据,微博开放平台提供了一些匿名访问接口。

新浪微博应用开发的一个解决方案

新浪微博应用开发的一个解决方案

新浪微博应用开发的一个简易方案PHP+新浪微博开放平台+新浪云平台(SAE)贺利坚2012.2.25目 录一、必须交待的几个问题 (1)二、PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 (2)三、建立微博应用的过程 (4)四、PHP SDK中Demo程序简析 (18)五、进一步学习的走向和有用的资源 (27)附录1:新浪微博旧版API中的PHP例程 (29)附录2:新浪微博开放平台WeiboClient类的公共方法 (59)一、必须交待的几个问题这是一个不严肃的册子,主要因为:(1)作者不精通PHP,对PHP涉及的内容早有了解,但没有专门学习,之前更没有做过程序。

在决定试着体验用PHP开发微博应用后,也仅用半个上午的时间,浏览了PHP的一般语法;(2)这本册子是匆忙完成的,学习时间一天半,写作时间一天。

主要是因为并不打算在此方面深入做下去,也没有那么多的时间;(3)册子中除了作者自写的文字,其他材料全部来自新浪微博开放平台(/)和新浪云平台(/),有拼凑之嫌。

但是,这是一本很实用的册子,起码作者这样认为。

以作者飞速的学习进度,有力地说明这是快速了解微博应用开发的最好材料,给出的解决方案也是最适合初学者构建微博应用开发的。

一旦能够在浏览器中看到自己的代码操纵着微博中的信息,微博应用开发中不少概念将生动起来,再进一步做一些工作将不再那样艰苦。

尽管不严肃,还是决定写出来。

针对零基础的开发者,现在还没有一个适合的资料。

我的贡献在于为刚起步开发的读者整理出了个头绪,提出了一种最简便的学习方案。

从初学者的角度,凭着自己尚热乎的初学者感觉,帮其他初学者一把。

因为不精通,很多相应平台上能说清楚的事情,直接给出链接,而不再多言。

平台上的文字有些太多,初学者没看几个字,就被绕糊涂了。

我的贡献是指出看这些庞杂文档的一个建议,并尽量引导读者动手做,早些找到感觉。

所以,这本小册子仅是在微博应用开发上帮助读者起步的。

新浪微博OAuth第三方登录C

新浪微博OAuth第三方登录C
dezpablo85/scribe-java
oauth-signpost /p/oauth-signpost/
javascript
oauth in js /svn/code/javascript/
Objective-C OAuth /svn/code/obj-c/
Perl
Net::OAuth /svn/code/perl/
PHP
tmhOAuth /themattharris/tmhOAuth
总结:新浪的OAuth的确麻烦,C#实现起来比Google的OAuth复杂多了,所以给大家共享了一个C#的源代码,点击这儿下载。 代码运行需要.net framework 3.5或以上,VS200(报价 参数 评测 图库)8或以上,代码运行前需要把apiKey和apiKeySecret替换为你在新浪微博开放平台申请到的key。代码不明白的地方可以联系我。如果大家需要Google的OAuth调用代码,也可以联系我。
C/C++
QTweetLib /minimoog/QTweetLib
libOAuth /
clojure
clj-oauth /mattrepl/clj-oauth
.net
oauth-dot-net /p/oauth-dot-net/
DotNetOpenAuth /
Erlang
erlang-oauth /tim/erlang-oauth
新浪微博OAuth第三方登录C#源代码下载
2011-08-04 18:45:25 来源: 天极网(重庆) 有1人参与 手机看新闻
转发到微博(0)
第1页 新浪微博OAuth第三方登录C#源代码下载

新浪微博API

新浪微博API

thunder://QUFodHRwOi8vczg1LmZyZWUtZHZkOS5jb20vaGQtZHZkL2R2ZDktMjAwOTE xMjUwNC5yYXJaWg==API文档出自新浪微博API跳转到:导航, 搜索目录隐藏•1微博基础数据接口(Rest API)o 1.1获取下行数据集(timeline)接口o 1.2微博访问接口o 1.3用户接口o 1.4私信接口o 1.5关注接口o 1.6Social Graph接口o 1.7账号接口o 1.8收藏接口o 1.9表情接口o 1.10登录/OAuth接口•2微博搜索API (Search API)o 2.1用户搜索o 2.2微博搜索•3微博地理位置信息API (Location API)o 3.1地理信息搜索接口o 3.2坐标获取接口•4测试接口•5附录o 5.1Rest API字段说明o 5.2地理信息字段说明微博基础数据接口(Rest API)获取下行数据集(timeline)接口•statuses/public_timeline获取最新更新的公共微博消息•statuses/friends_timeline获取当前用户所关注用户的最新微博信息(别名: statuses/home_timeline)•statuses/user_timeline获取用户发布的微博信息列表•statuses/mentions获取@当前用户的微博列表•statuses/comments_timeline获取当前用户发送及收到的评论列表•statuses/comments_by_me获取当前用户发出的评论•statuses/comments获取指定微博的评论列表•statuses/counts批量获取一组微博的评论数及转发数•statuses/unread获取当前用户未读消息数微博访问接口•statuses/show根据ID获取单条微博信息内容•user/statuses/id根据微博ID和用户ID跳转到单条微博页面•statuses/update发布一条微博信息•statuses/upload上传图片并发布一条微博信息•statuses/destroy删除一条微博信息•statuses/repost转发一条微博信息(可加评论)•statuses/comment对一条微博信息进行评论•statuses/comment_destroy删除当前用户的微博评论信息•statuses/reply回复微博评论信息用户接口•users/show根据用户ID获取用户资料(授权用户)•statuses/friends获取当前用户关注对象列表及最新一条微博信息•statuses/followers获取当前用户粉丝列表及最新一条微博信息私信接口•direct_messages获取当前用户最新私信列表•direct_messages/sent获取当前用户发送的最新私信列表•direct_messages/new发送一条私信•direct_messages/destroy删除一条私信关注接口•friendships/create关注某用户•friendships/destroy取消关注•friendships/exists是否关注某用户(推荐使用friendships/show)•friendships/show获取两个用户关系的详细情况Social Graph接口•friends/ids 获取用户关注对象uid列表•followers/ids 获取用户粉丝对象uid列表账号接口•account/verify_credentials验证当前用户身份是否合法•account/rate_limit_status获取当前用户API访问频率限制•account/end_session当前用户退出登录•account/update_profile_image更改头像•account/update_profile更改资料•account/register注册新浪微博帐号•Account/activate二次注册微博的接口收藏接口•favorites获取当前用户的收藏列表•favorites/create添加收藏•favorites/destroy删除当前用户收藏的微博信息表情接口•emotions表情接口,获取表情列表登录/OAuth接口•oauth OAuth授权方式介绍•oauth/request_token获取未授权的Request Token•oauth/authorize请求用户授权Token•oauth/access_token获取授权过的Access Token微博搜索API (Search API)Search API仅对新浪合作开发者开放,申请请联系@微博开放平台用户搜索•users/search搜索微博用户(仅对新浪合作开发者开放)微博搜索•search搜索微博文章(仅对新浪合作开发者开放)•statuses/search搜索微博(多条件组合) (仅对合作开发者开放) 微博地理位置信息API (Location API)Map API仅对新浪合作开发者开放,有任何问题,请联系@地理信息开放平台地理信息搜索接口•Location/route驾车路线搜索接口•Location/bus公交换乘路线搜索接口坐标获取接口•Location/ip2xy获取ip对应坐标的接口•Location/addr2xy获取地址对应坐标的接口•Location/get_addr获取坐标的地址信息的接口测试接口•Help/test测试接口附录Rest API字段说明•status微博信息内容•user用户资料信息•comment评论信息描述•direct_message私信信息•省份城市编码表地理信息字段说明•Location/citycode城市代码对应表•Location/citycode_bus公交城市代码表•Location/category分类代码对应表取自"/wiki/index.php/API%E6%96%87%E6%A1%A3" 搜索平台介绍•文档首页•平台概述•应用开发者协议•开发指南•应用审核规范•成功案例开发文档•API文档•授权机制说明•接口访问权限说明•连接微博•微博组件资源下载•SDK•微博标识下载常见问题•开发过程常见问题•名词解释•常见错误代码及释义工具箱•链入页面•链出更改•特殊页面•可打印版•永久链接关于微博开放平台|联系我们|@微博开放平台|微博挂件|服务条款|新浪微博Copyright © 1996-2010 SINA Corporation, All Rights Reserved。

新浪微博连接:使用新浪微博登陆 WordPress 博客

新浪微博连接:使用新浪微博登陆 WordPress 博客

新浪微博开放了API,并且支持OAuth 协议,所以我和上次做的豆瓣连接插件一样开发了新浪微博连接这款WordPress 插件。

新浪微博连接是使用新浪微博API 接口开发的一个WordPress 插件,它的能让用户使用新浪微博账号登陆WordPress 博客,并且可以直接使用新浪微博的头像,并且能够更新留言和日志到新浪微博。

新浪微博连接的主要功能∙使用新浪微博账号登陆WordPress 博客,新浪微博连接插件会在留言框,注册页面,登录页面都会加入使用新浪微博连接的按钮,你只要几次点击,然后到新浪微博进行简单的验证就能使用新浪微博账号登陆WordPress 博客。

∙同步留言到新浪微博,新浪微博连接插件会在留言框增加一个选项,让用户选择是否把自己的留言同步到新浪微博,方便用户跟踪自己的网上行为,把新浪微博当作自己的lifestream 一种方式。

∙同步日志到新浪微博,新浪微博连接插件能够让WordPress 管理员绑定一个新浪微博的账号,然后博客日志更新的时候,自动更新一条微博(标题+链接)到新浪微博。

新浪微博连接的安装要求很多同学是有这个插件的主要的问题是不符合安装需求,新浪微博连接对服务器的要求比较高:∙WordPress 3.0 版本以上,你可以到这里下载WordPress 最新中文版。

∙PHP 5.2,因为新浪微博OAuth 类使用PHP Class 语法,所以PHP 版本要求5.2 以上。

∙支持CURL 扩展,因为使用CURL 进行连接,你可以通过phpinfo()函数来检测PHP 版本和是否支持CURL 扩展。

新浪微博连接的详细安装和使用说明1. 首先到这里下载新浪微博连接WordPress 插件,然后上传激活。

或者直接在WordPress 后台插件安装页面搜索“新浪连接”,然后在线安装激活。

2. 安装激活之后,你应该在留言框处可以看到的按钮。

3. 如果没有出现该按钮,检查下是否你的主题的comments.php文件中含有comment_form这个action,如果没有请加上:<?php do_action('comment_form',$post->ID);?>4. 当然如果你想自定义的位置,可以通过在comments.php文件添加以下函数实现:<?php sina_connect();?>5. 通过WordPress 后台> 设置> 同步到新浪微博菜单来激活同步WordPress 博客日志到新浪微博的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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数组格式了。

文章来源:。

相关文档
最新文档