在采集微博数据的时候,可以利用微博的API来进行调用。在调用微博APi的时候需要做两项工作,第一步是创建应用,第二步是安装微博SDK.

创建应用

创建应用的目的是获取app-key和app-secret,并设置授权回调页。

登陆微博开放平台创建应用https://open.weibo.com/apps

应用名称以及后续的信息随便填,填写完毕后,不需要提交审核,需要的只是那个app-key和app-secret。应用创建成功后可以在“我的应用”里面看到刚刚创建的应用的详细信息,在“应用信息”里面可以找到App Key和App Secret,这些信息在后面会用到。

接着上面的打开“应用信息”里面的“高级信息”,然后点击“高级信息”里面的“编辑”按钮,将“授权回调页面”设置为:https://api.weibo.com/oauth2/default.html,将“取消授权回调页”也设置为:https://api.weibo.com/oauth2/default.html。至此第一步工作已完成。

安装微博SDK

微博SDK链接https://open.weibo.com/wiki/SDK,微博 SDK支持多种语言,本文以php为例来说明操作。

新浪微博的授权机制,即OAuth 2

API的调用是需要获取用户身份认证的(用户授权)。目前微博开放平台用户身份鉴权主要采用的是OAuth2.0。

关于OAuth2.0协议的授权流程可以参考下面的流程图,其中Client指第三方应用(即我们在第三步创建的自己的应用),Resource Owner指用户,Authorization Server是我们的授权服务器,Resource Server是API服务器。

从流程图中可以看到,为调用API服务器内容,需要将access token告诉API服务器;而access token是在用户授权后由新浪(授权服务器)返回给我们创建的应用的;为完成用户授权,我们的应用首先要将授权页面给到用户(authorization request)。

1. 获取授权请求url

$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );

$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );

将授权url输入到浏览器地址栏按回车,在浏览器弹出一个页面,要先点击“授权”(这里进行的OAuth 2认证,我理解为就是用户访问我的应用后将页面导向新浪服务器然后用户输入信息到新浪服务器后授权给我的应用访问用户数据,这里我将的微博授权给下面的程序了),授权后浏览器中的URL类似:https://api.weibo.com/oauth2/default.html?code=2024222384d5dc88316d21675259d73a
code就是authorization grant

2. 获取access token

我们需要向新浪授权服务器提交code后面的字符串才能获得access token。相当于告诉新浪服务器我们的应用已经得到用户的授权,现在可以访问用户的数据了,于是授权服务器给到我们通行证(access token),就可以从API服务器获取微博数据了。

$keys = array();
        $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY ); 
        $keys['code'] = '89c143736a55980bd2e82460b1092c88';
        //fe080b632eec18452a9ec8eea3c4b748
        $keys['redirect_uri'] = WB_CALLBACK_URL;
        try {
            $token = $o->getAccessToken( 'code', $keys ) ;
        }
        catch (OAuthException $e) {
            echo "getAccessToken fail.reason:".$e->getMessage()."\n";
        }  
        var_dump($token);//expire_in表示access_token的有效期
        $accessToken = $token["access_token"];

3.获取微博数据,编写代码调用微博api

$accessToken = '2.00S_7idC0psiN42941abc2354ymrJC';
        $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $accessToken );
        $ret = $c->show_user_by_name('小二来一吨白菜');

自2013年7月2日起,微博开放平台将对用户关系读取、微博内容读取类接口进行升级;为保证您的线上应用正常运营,请在7月2日前对以下接口进行升级;本次升级对微博类客户端和合规的应用没有影响。升级中,遇到任何问题,请私信@微博开放平台,感谢您的理解支持!具体调整接口如下:
获取当前登录用户发布的微博消息列表(2/statuses/user_timeline )
获取当前登录用户发布的微博消息ID列表(2/statuses/user_timeline/ids )
获取用户的关注列表(2/friendships/friends)
获取共同关注人列表(2/friendships/friends/in_common)
获取双向关注列表(2/friendships/friends/bilateral)
获取双向关注UID列表(2/friendships/friends/bilateral/ids)
获取用户关注对象UID列表(2/friendships/friends/ids)
获取用户粉丝列表(2/friendships/followers)
获取用户粉丝UID列表(2/friendships/followers/ids)
获取用户优质粉丝列表(2/friendships/followers/active)

即:接口升级后:uid与screen_name只能为当前授权用户,第三方微博类客户端不受影响

新浪微博api的使用相关推荐

  1. 完整的Android 新浪微博api调用DEMO

    第一次使用请在程序中的指定位置放入你的app key 如果不知道怎么获取appkey,请登录 http://open.weibo.com/development 不懂新浪微博api干嘛用,还是登录 h ...

  2. 新浪微博API使用方法

    2012.7.4注:好多人反映按照日志中的方法做不能出结果,不知道是不是新浪微博的API变了,貌似日志中提到的方法和解决办法都不行了--这是我寒假时写的,可能有些过时了.建议看一下官方文档和开发者论坛 ...

  3. Java调用 新浪微博API 接口发微博(包含js微博组件、springMVC新浪登录)详解

    参考自:http://www.myexception.cn/program/1930025.html https://blog.csdn.net/qq_36580777/article/details ...

  4. 新浪微博PC客户端(DotNet WinForm C# 版,C#调用新浪微博API代码,源码下载)—— 初探 (第二部分内置链接)

    第二篇:新浪微博PC客户端(DotNet WinForm版)--功能实现分解介绍 C#源码下载 最近兴趣使然尝试了一下使用DotNet技术实现新浪微博PC客户端,几天时间,目前实现登录.微博列表.发布 ...

  5. 新浪微博API[赞]接口和[取消赞]接口

    2019独角兽企业重金招聘Python工程师标准>>> 新浪微博API[赞]接口和[取消赞]接口 博客分类: java 获取方式:GET 点赞:https://api.weibo.c ...

  6. 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发教程(一)-体验篇...

    现在新浪微博开放平台(http://open.weibo.com)非常火啊,所以...,你懂的! 首先,想要开发新浪微博API,你就必须获取APP KEY和APP SECRET,我毫不犹豫的就用新浪微 ...

  7. 微博短链接生成 php,新浪微博API生成短链接

    通过新浪微博API,生成短链接,支持一次性转多个长链接 什么是短链接 短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串. 短链接服务 国内各大微博都推出了自己的短链接 ...

  8. mysql uid怎么获取_新浪微博API如何获取uid,并根据uid获取用户的基本信息

    新浪微博API如何获取uid,并根据uid获取用户的基本信息,如粉丝,关注等, 下面是根据sdk写的,但是获取不到 public String showUser(Context context, St ...

  9. python3调用新浪微博API 报HTTP Error 403: Forbid、400 Bad Request错误

    python3 调用新浪微博API时,出现两种错误 1. Error 403: Forbid 一个原因是在新浪微博开放平台注册的应用平台没有审核,会限制访问次数.可以重新申请一个应用平台,即可访问正常 ...

  10. 新浪微博api(js|php)

    js: 新浪微博好友关注的例子: 下载 xd.html 放到网站下能访问到的目录中 <link href="http://js.wcdn.cn/t3/style/css/common/ ...

最新文章

  1. 记录自己的学习和经验
  2. spring三: 装配bean( 在xml中进行显式配置, 在java中进行显式配置)
  3. python3迭代器和可迭代对象_一文读懂 Python3 可迭代对象、迭代器、生成器区别...
  4. matlab 平滑曲线连接_平滑轨迹插值方法之多项式插值(附代码)
  5. html messagebox确定取消,Element MessageBox弹框的具体使用
  6. (pytorch-深度学习)实现稠密连接网络(DenseNet)
  7. 读取HTTP请求消息头字段案例代码
  8. mysql通信协议的半双工机制理解
  9. java调用opencv人脸识别 error insufficient out of memory
  10. Win10 Composer下载安装
  11. BAT54C那些事儿
  12. android手机访问协议页面,易语言修改IE协议头留言手机版网页
  13. php 威盾加密解密,解析php加密解密混淆的手段,如 phpjm,phpdp神盾,php威盾
  14. 自定义控件:Flag标签
  15. Android ApiDemos示例解析(110):Views-Data Widgets-1. Dialog
  16. 《Python编程从入门到实践》笔记吐血整理
  17. dcat-admin oss图片上传
  18. 三相并网逆变器模型预测容错控制-三相四开关TPFS
  19. Windows配置端口转发绕过samba 445端口限制共享linux磁盘
  20. iphone文件连接smb服务器,实用!三种iPhone与Windows电脑互传文件操作技巧,建议收藏...

热门文章

  1. access建立er图_Visio绘制ER图教程
  2. 【JSP简单实现购物车(书本案例代码)】
  3. 共享办公室租赁,突出市场重围
  4. JavaWeb图书管理系统.rar(毕业设计(论文)+毕业设计指导书+大学毕业设计任务书+图书管理系统+毕业论文答辩)
  5. IDEA 常用快捷键
  6. Coin3D三维可视化教程1
  7. 康托尔、哥德尔、图灵——永恒的金色对角线(转)
  8. maven pom.xml文件配置ojdbc7报错解决
  9. Linux安装log4cpp
  10. Win11_vs2010镜像安装方法