新浪微博api的使用

article/2025/10/19 22:00:30

在采集微博数据的时候,可以利用微博的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只能为当前授权用户,第三方微博类客户端不受影响


http://chatgpt.dhexx.cn/article/I9OUlUfX.shtml

相关文章

微博开放平台api使用

前言:微博开放平台提供了微博数据的api接口,不仅可以直接通过api调用微博服务发布微博查询微博,更重要的是,可以在自己的网站上获得新浪微博api的授权,调用微博的某些内容,就好像我们再网站中看到好文章要分…

【转载】使用微博API接口获取数据

巧妇难为无米之炊。 数据获取是数据分析的前提。许多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。你可以查看微博API列表。 商业数据API为(如place/nearby_timeline/biz)为收费接口,若想要调用这一类接口,…

微博官方API使用方法【全流程教学】

微博官方API使用方法【全流程教学】 微博开发者身份认证创建自己的应用新应用的相关配置基本信息高级信息 微博认证流程OAuth2.0认证(核心步骤)Access Token授权有效期接口调用Demo(以评论接口为例) 微博开发者身份认证 访问微博开放平台,登录自己微博账…

一文教会你JDK8的函数式编程

JDK8的1个新特性就是支持函数式接口(Functional Interface)。 函数式接口就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 函数式接口可以被隐式转换为Lambda表达式。 我们也可以自行定义函数式接口,如: FunctionalInterface interf…

Modern C++ 学习笔记——C++函数式编程

往期精彩: Modern C 学习笔记——易用性改进篇Modern C 学习笔记 —— 右值、移动篇Modern C 学习笔记 —— 智能指针篇Modern C 学习笔记 —— lambda表达式篇Modern C 学习笔记 —— C面向对象编程Modern C 学习笔记 —— C函数式编程 Modern C 学习笔记——C函数…

java8函数式编程实例

什么是函数式编程 函数式编程是java8的一大特色,也就是将函数作为一个参数传递给指定方法。别人传的要么是基本数据类型,要么就是地址引用 ,我们要穿一个“动作”。 Stream 说到函数式编程,就不得不提及Stream,Stre…

Scala函数式编程

一、函数式编程定义: Scala是一门既面向对象,又面向过程的语言。在Scala中,函数与类、对象地位是一样,所以说scala的面向过程其实就重在针对函数的编程 了,所以称之为函数式编程 在Scala中定义函数需要使用 def 关键…

什么是函数式编程?

当我们说起函数式编程来说,我们会看到如下函数式编程的长相: 函数式编程的三大特性: immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修…

python函数式编程

大家好 这里还还还是长弓 今天我们来讲讲python中的函数式编程 目录 函数式编程 高阶函数 map reduce filter sorted 返回函数 闭包 nonlocal使用 匿名函数lambda 装饰器 偏函数 函数式编程 有些同学疑惑了,我们已经学了函数,为什么还要学这…

函数式编程

Functional Programming 什么是函数式编程 函数式编程的思维方式:把显示世界的事务和事物之间的联系抽象到程序世界(对运算过程进行抽象) 函数式编程中的函数指的数学中的函数即映射关系,输入的值对应一个输出的值,…

appium环境搭建python_appium环境搭建python

1,appium是开源的移动端自动化测试框架;2,appium可以测试原生的、混合的、以及移动端的web项目;3,appium可以测试ios,android应用(当然了,还有firefox os);4,appium是跨平…

Windows下Appium环境搭建小结

文章目录 Windows下Appium环境搭建小结需要安装的软件1. JDK下载安装/配置 2. Android SDK3. Maven下载安装/配置 4. Appium下载安装/配置 5. Eclipse TestNG 和 ADT 插件下载安装一条龙配置1、先配置Maven 创建一个项目 Windows下Appium环境搭建小结 本文需要读者已安装了Ec…

Mac端Python+Appium环境搭建

一、安装java sdk java安装:下载完直接安装jdk1.8 二、 安装Android Studio 1.下载安装 下载地址:https://www.androiddevtools.cn/# 2.安装完成后,打开SDK Manager 三、JAVA SDK和Android SDK环境变量配置 1.终端输入:ls…

安卓移动端appium环境搭建流程

安卓移动端appium环境搭建流程 基本步骤: 安装Node.js 安装JDK,及配置环境变量 安装SDK,及配置环境变量 安装Appium桌面版本(建议安装GitHub的最新版) python中pip下载Appium-Python-Client 下载allure-2.13.8并加入环境变量 管理员身份运行appiu…

pythonappium环境搭建_python+appium 环境搭建

最近学习了一下python语言,听说appium是做app的ui层的自动化的一个很好的框架,也是很多人在学习的框架,所以很感兴趣,也特意来学习一下,下面是我学习过程的一些心得和总结,希望对大家有所帮助。 一、环境搭…

Appium环境搭建(集齐Windows和MacOS的宝藏内容)

Appium环境搭建目录 Windows系统环境下安装Node.js安装JDK及环境变量配置添加环境变量 安装SDK添加环境变量 安装Appium可通过三种方法安装安装 **appium-doctor** MacOS系统环境下安装xcode安装依赖安装WebDriverAgent运行WebDriverAgent windows 安装 tidevice常用的tidevice…

mac appium环境搭建

appium环境的搭建其实也不复杂,主要是配置的比较多,只是在配置的过程中,根据当时的机器配置会遇到一些具体问题,一个个解决就可以了。 安装下面这篇文章搭建就可以了 超详细的Mac下appium环境搭建 配置java环境有问题,…

pythonappium环境搭建_python appium环境搭建

1,appium是开源的移动端自动化测试框架; 2,appium可以测试原生的、混合的、以及移动端的web项目; 3,appium可以测试ios,android应用(当然了,还有firefox os)&#xff1…

Appium 环境搭建

一、下载并安装appium客户端(勿装1.15.1版本,1.15.1版本很多坑) 进入appium官网http://appium.io/下载版本,将下载好的版本按照步骤进行安装 Appium-Python-Client第三方包 pip3 install Appium-Python-Client -i https://pypi.tuna.tsinghua.edu.cn/simple 二…

appium环境搭建全套

环境 1 Node.js 2 Appium 3 Appium-desktop 4 Appium-Python-Client 5 Python 6 JDK 7 Andriod SDK 8 Appium-doctor 一、安装Node.js 下载地址:https://nodejs.org/en/download/releases/ 注意:Appium版本是1.7.2,则选择的No…