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

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

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

  • 微博开发者身份认证
  • 创建自己的应用
  • 新应用的相关配置
    • 基本信息
    • 高级信息
  • 微博认证流程OAuth2.0认证(核心步骤)
  • Access Token授权有效期
  • 接口调用Demo(以评论接口为例)

微博开发者身份认证

访问微博开放平台,登录自己微博账号,登录之后首先需要完善开发者的基本信息。
完善基本信息
填写完成后提交即可,然后需要进行开发者身份认证。
进行身份认证
填写相关身份信息,上传身份证照片然后提交等待审核通过,审核通过后开发者身份就认证完成了。

创建自己的应用

创建应用入口
创建应用页面

在这个页面填写自己的应用名称。(由于不允许应用重名,所以可能名字可能有点不好取),取好名字点击创建即可创建好自己的应用。
我的应用
然后就可以在我的应用页面看到新创建的应用了。

新应用的相关配置

基本信息

应用信息

进入应用信息界面后,显示应用状态为“尚未提交审核”,但是目前不需要再提交审核了,因为开发还没有完成。
在这个页面有应用最重要的两个信息App KeyApp Secret,这两个值注意不要泄露。

高级信息

高级信息

这里有两个很重要的信息需要配置,OAuth2.0授权设置,必须设置授权回调页和取消授权回调页的地址,如果有自己的域名可以填自己的,没有可以按照图中的方式,填写微博默认的回调页。https://api.weibo.com/oauth2/default.html

剩余的其他信息可以不填写。

微博认证流程OAuth2.0认证(核心步骤)

认证流程是为了获得一个access_token,只有拥有这个token才可以调用其他官方API
授权API页面
官方的文档我感觉写的很简略,没有写清怎样请求获得access_token,我试了半天一直是出现各种各样的错误。在网上搜了一圈,网上有说使用sinaweibopy模块进行认证的,但是我搜了一下这个库是提供给python2使用的,python3不支持这个库。然后我又在微博开放平台找Python的SDK,发现现在只有IOS、Android和JS的SDK(很奇怪,我在网上看到其他博主的截图里是由各种语言SDK下载链接的,可能官方现在没有维护这些东西了)。

找了一大圈,找到了支持python3的模块,Github链接为sinaweibopy3
以及相关的解释博客:全网最详:python3调用新浪微博API接口获取数据
使用方法:把Github中的文件下载下来,里面的UserSinaweibopy3文件就是获取access_token的demo,将文件里的APP_KEYAPP_SECRETREDIRECT_URL替换成自己的,然后运行程序即可。
demo片段
运行之后会跳转的微博的认证登录界面,登录成功之后会跳转到新的回调页。
授权成功回调页
如图所示,跳转的地址是之前设置的授权成功回调页+code,code是一个有效期比较短的口令,现在需要拿这个code向微博的认证服务器换取access_token。打开刚刚运行UserSinaweibopy3的界面,会让你输入这个code
输入code
把URL中的code输入后,服务器会返回数据,其中包含access_token,程序会打印在控制台中,这里就不再展示了。

Access Token授权有效期

授权有效期
由于还没有提交审核,所以接口授权级别只能是“测试”,有效期只有1天,过期的时候按照上面的流程再重新请求一个就好了。
注意access_token不要泄露。

接口调用Demo(以评论接口为例)

官方文档中评论接口信息如下图所示:
评论接口文档

根据官方文档,构造请求参数,然后请求对应接口即可,简单的实现代码如下:
在这里插入图片描述

补充说明:微博id和微博用户id不是一个东西,微博id是这一条微博的唯一标识,如上图浏览器地址栏所示,490xxxxxx6为该条微博的id。获得一条微博id的方法我目前没有专门找,对我而言可以通过请求微博后端数据获得(针对微博的各个接口我写了个文档,目前还没有发布),另外就是访问m.weibo.cn这个站点,点击要看的微博,地址栏会显示出微博id。

import requestsdef send_comment():url = "https://api.weibo.com/2/comments/create.json"params = {'access_token': '2.xxxxxxxxxxxxxxxxxxxxxxxxxxxxC',	# 刚才请求到的access_token'id': 要评论的微博ID,'comment':'评论内容','rip':'你的公网IP'}requests.post(url=url, data=params)

调用该方法即可实现用刚刚授权的微博账号向微博id为id的微博发送评论。
需要注意的是:rip一定要填写公网IP,如果填写内网IP会请求失败。查看自己公网IP的方法:访问下列的链接即可获得本机的公网IP。

查看公网IP的链接:

  • http://ip.42.pl/raw
  • https://ifconfig.me/ip
  • http://jsonip.com
  • http://httpbin.org/ip
  • https://api.ipify.org/?format=json

另外还发现一个有意思的现象,rip可以自己写,如果填写一个境外IP那么相应评论显示的IP属地就在境外,不知道算不算官方的一个Bug。

其他接口对照官方的接口文档使用即可,方法与上面类似。


http://chatgpt.dhexx.cn/article/3f826QMB.shtml

相关文章

一文教会你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…

Appium环境搭建

一、Appium框架原理 1.介绍 appium是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合应用,支持iOS和Android。 2.原理 appium可以理解为一个c/s架构软件,在pc端安装的appium server端,通过appi…

Appium环境搭建教程

最近打算研究开发一个手机的自动化小工具,奈何在这方面自己是一个小白,于是开始针对手机进行研究。由于主要使用Appium这个工具,因此本文主要讲解Appium环境的搭建,并结合自己的实践讲一讲需要避过的坑。 一、 安装Node.js Node.…

MySQL函数语句

目录 一、MySQL数据库函数作用二、MySQL数据库函数分类1.1.1、数学函数常用的数学函数1、abs(x):返回x的绝对值2、rand() :返回0到1的随机数3、mod(x, y) :返回x除以y以后的余数4、power(x, y)“:返回x的y次…