首页 > 其他分享 >微博官方API使用教程【全流程教学】

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

时间:2023-05-20 19:00:26浏览次数:47  
标签:教程 IP token 认证 access 微博 API id

目录

微博开发者身份认证

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

创建自己的应用

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

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

新应用的相关配置

基本信息

应用信息

进入应用信息界面后,显示应用状态为“尚未提交审核”,但是目前不需要再提交审核了,因为开发还没有完成。
在这个页面有应用最重要的两个信息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是这一条微博的唯一标识,如上图浏览器地址栏所示,490xxxxxx7为该条微博的id。获得一条微博id的方法我目前没有专门找,对我而言可以通过请求微博后端数据获得(针对微博的各个接口我写了个文档,目前还没有发布),另外就是访问m.weibo.cn这个站点,点击要看的微博,地址栏会显示出微博id。

import requests

def 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的链接:

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

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

标签:教程,IP,token,认证,access,微博,API,id
From: https://www.cnblogs.com/yxy1031/p/17417642.html

相关文章

  • 【中间件】通过 docker-compose 快速部署 Zookeeper 保姆级教程
    目录一、概述二、前期准备1)部署docker2)部署docker-compose三、创建网络四、Zookeeper编排部署1)下载Zookeeper2)配置3)启动脚本bootstrap.sh4)构建镜像Dockerfile5)编排docker-compose.yaml6)开始部署五、简单测试验证六、常用的zookeeper客户端命令1)创建节点2)查看节点3)更新节......
  • drf之APIView+序列化类+Response
    昨日回顾#0ser=BookSerialzier(instance=qs,many=True)---->ListSerializer[序列化对象,序列化对象]ser=BookSerialzier(instance=book)---->BookSerialzier#1定制序列化的字段之source,字段参数 -指定一个要序列化的对象中得字段-指定一个要序列化的对象中得方法,方......
  • Visual Studio1.76.0Mac软件安装包下载VS软件安装教程
    [名称]:VisualStudio1.76.0Mac[大小]:2M[语言]:简体中文 [适用系统]:macOS系统[简介]:VisualStudio是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序,VS是一个非常完整的开发工具集,包括了所有软件生命周期中所需的大部分工具,如UML工具、代码管控工具、集成开......
  • Axure RP 9 for Mac软件安装包下载&安装教程
    [名称]:AxureRP9[大小]:75MB[语言]:简体中文 [安装环境]:MacOS10.12及以上[是否支持M1芯片]:支持[简介]:AxureRP是一个专业的快速原型设计工具。使用者主要包括商业分析师、信息架构师、产品经理、IT咨询师、用户体验设计师、交互设计师、UI设计师等,另外,架构师、程序员也在使用Axure......
  • c++ socket API使用流程(转)
    原文:https://blog.csdn.net/weixin_43687811/article/details/122657720?spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-122657720-blog-121686590.pc_relevant_multi_platform_featuressor......
  • [RapidOCRWeb] 桌面版使用教程
    引言说明:桌面版指的是可以直接解压,双击即可运行的版本。通俗来说,对rapidocr_web做了打包,将相关依赖全部放到一个zip包中,不需要本地有额外的环境,降低使用门槛。下面会以Windows版为例,作简要说明。详情参见:RapidOCRWeb使用步骤下载对应的zip包目前已有的zip包如下:......
  • 【BSP视频教程】BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并
     上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。视频:https://www.bilibili.com/video/BV1iX4y117Bv视频提纲:参考资料:1、【原创】H7-TOOL的CANFDT......
  • 【BSP视频教程】BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并
     上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。视频:https://www.bilibili.com/video/BV1iX4y117Bv视频提纲:参考资料:1、【原创】H7-TOOL的CANFDT......
  • golang命令行cobra 快速入门教程
    cobra也许是go语言现有最好的命令行框架了,在各大项目中皆有使用,比如最出名的kubernetes,所以要写一个稍微复杂的命令行工具,使用cobra还是不错的,cobra内置了非常多有用的功能,包括但不限于,自动生成帮助文档,生成命令行代码的脚手架工具,智能提示等等。命令行相关知识在学习cobr......
  • ABAP-BAPI汇总
    MM模块MM01、MM02物料创建、物料修改BAPI_MATERIAL_SAVEDATABP供应商创建、供应商修改CVI_EI_INBOUND_MAINME11、ME12采购信息记录创建、采购信息记录修改ME_INFORECORD_MAINTAINME54N采购申请审批BAPI_REQUISITION_RELEASEMIGO-561期初库存批导BAPI_GO......