使用新浪微博开放平台api同步微博内容至自己网站

使用新浪微博开放平台api同步微博内容至自己网站

使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站+社交圈子)

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-19 07:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站+社交圈子)
  使用新浪微博开放平台api同步微博内容至自己网站+社交圈子=可以实现的方法太多了,推荐尝试这一个,不到1/3的代价,
  本来还想对应api拿到自己的微博,现在不用这个api了,主要原因是同步太频繁会挂掉,开始是9天挂了一次,最近的一次挂掉是15天。
  目前对我个人来说,还是比较方便的,使用自己的域名和服务器可以进行数据同步,自动生成二维码,不同平台的转发推送都是可以实现的,反正我用同步最顺手的就是新浪了,因为二维码生成用起来相对容易。至于题主说的7*24的话可能有点夸张,我所知道的,一般所有网站最多的同步也就2*7*24*24*24*24*24*24,两到三次就会降到原来每天的最低限制(12/24/60),没几个人会整天整晚同步,这样整体成本会提高不少。
  你感觉不好用的原因我猜可能是同步受到限制了,最简单的应该是转发的人数问题,同步你想转发的人多的,可以尝试“黑名单”功能,设置一个限制,转发的人再不转发时域名被删,要是想要被解封也需要一定的操作。想自动同步多平台的还是设置黑名单功能更靠谱。
  推荐burstcom。ip地址对应的就会同步,有多种同步方式,同步到朋友圈什么的非常方便。也可以api,我用的是文档方式,操作麻烦一点,但是效果好。服务器的话是租用服务器,多一点的域名服务器费用不一样。有问题可以直接给他们客服,反馈非常及时,人也不错,具体服务你问他们就好。(他们家真的是懂网站,会给你合理意见不忽悠人,非常容易推荐我去。
  )=上面这些不是正面答案,不如提供两个建议:1.拉一个网站出来专门做分享互动。2.做好服务器的防火墙防病毒,安全是最基本的。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站+社交圈子)
  使用新浪微博开放平台api同步微博内容至自己网站+社交圈子=可以实现的方法太多了,推荐尝试这一个,不到1/3的代价,
  本来还想对应api拿到自己的微博,现在不用这个api了,主要原因是同步太频繁会挂掉,开始是9天挂了一次,最近的一次挂掉是15天。
  目前对我个人来说,还是比较方便的,使用自己的域名和服务器可以进行数据同步,自动生成二维码,不同平台的转发推送都是可以实现的,反正我用同步最顺手的就是新浪了,因为二维码生成用起来相对容易。至于题主说的7*24的话可能有点夸张,我所知道的,一般所有网站最多的同步也就2*7*24*24*24*24*24*24,两到三次就会降到原来每天的最低限制(12/24/60),没几个人会整天整晚同步,这样整体成本会提高不少。
  你感觉不好用的原因我猜可能是同步受到限制了,最简单的应该是转发的人数问题,同步你想转发的人多的,可以尝试“黑名单”功能,设置一个限制,转发的人再不转发时域名被删,要是想要被解封也需要一定的操作。想自动同步多平台的还是设置黑名单功能更靠谱。
  推荐burstcom。ip地址对应的就会同步,有多种同步方式,同步到朋友圈什么的非常方便。也可以api,我用的是文档方式,操作麻烦一点,但是效果好。服务器的话是租用服务器,多一点的域名服务器费用不一样。有问题可以直接给他们客服,反馈非常及时,人也不错,具体服务你问他们就好。(他们家真的是懂网站,会给你合理意见不忽悠人,非常容易推荐我去。
  )=上面这些不是正面答案,不如提供两个建议:1.拉一个网站出来专门做分享互动。2.做好服务器的防火墙防病毒,安全是最基本的。

使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用测试好多次,终于成功了)

网站优化优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-12-17 23:06 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用测试好多次,终于成功了)
  今天下午收到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APP KEY和APP SECRET,复制并保存他们。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
  weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APP KEY 和 APP SECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  在这里你会发现出错了:注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php on line 13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,那个页面不存在!
  说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看index.php,你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
  由此,我们不难想到流程:首先在本地配置文件config.php中获取APP KEY和APP SECRET,然后必须验证APP KEY是否合法,并询问我们是否对此进行了授权应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到刚刚贴文章的留言,下面要标注“来自xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php连接没问题。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用测试好多次,终于成功了)
  今天下午收到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APP KEY和APP SECRET,复制并保存他们。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
  weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APP KEY 和 APP SECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  在这里你会发现出错了:注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php on line 13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,那个页面不存在!
  说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看index.php,你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
  由此,我们不难想到流程:首先在本地配置文件config.php中获取APP KEY和APP SECRET,然后必须验证APP KEY是否合法,并询问我们是否对此进行了授权应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到刚刚贴文章的留言,下面要标注“来自xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php连接没问题。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)

网站优化优采云 发表了文章 • 0 个评论 • 63 次浏览 • 2021-12-17 04:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)
  该系统分为三个层次。底层是基础服务层,提供数据库、缓存、存储、搜索等数据服务等基础技术服务。这些服务支持新浪微博的海量数据和高并发访问。系统的技术基础。
  中间层是平台服务和应用服务层。新浪微博的核心服务是微博、关系和用户。这些服务被划分为独立的服务模块,依靠调用和共享基础数据,构成了新浪微博的业务基础。
  顶层是 API 和业务层。各种客户端和第三方应用调用API并将其集成到新浪微博系统中,形成一个生态系统。
  
  新浪微博的系统架构
  这些业务模块和基础技术模块经过分层划分后分布式部署。每个模块部署在一组独立的服务器集群上,通过远程调用进行依赖访问。新浪微博早期也采用了一种分布式集群部署方案,叫做MPSS(MultiPost Single Server,单服务器多端口)。在集群中的多台服务器上,每台服务器都部署了多个服务,每个服务使用不同的服务。港口为外界提供服务。这样,有限数量的服务器就可以部署更多的服务实例,提高服务的负载均衡和可用性。现在常见的网站 应用将物理机虚拟化为多个虚拟机。在虚拟机上部署应用的方法和新浪微博的MPSS方案一样,但是更简单,可以在不同的虚拟机上使用。相同的端口号。
  在新浪微博的早期架构中,微博发布采用的是同步推送模式。用户发布微博后,系统会立即将该微博插入到数据库中所有粉丝的订阅列表中。当用户数量比较大的时候,就会造成大量的用户。数据库写操作超过数据库负载,系统性能急剧下降,用户响应延迟增加。后来新浪微博切换到异步推拉组合模式。用户发布微博后,系统将微博写入消息队列并立即返回。用户反应很快。消息队列消费者任务将微博推送到当前所有在线粉丝的订阅列表。非在线用户登录后,根据关注列表拉取微博订阅列表。
  由于微博频繁刷新,新浪微博采用了多级缓存策略。热门微博和名人用户缓存在所有微博服务器上,在线用户的微博和近期微博缓存在分布式缓存集群中。对于微博,操作中几乎所有最常见的“微博”操作都是缓存访问操作,可以达到很好的系统性能。
  为了提高系统的整体可用性和性能,新浪微博激活了多个数据中心。这些数据中心不仅是区域用户访问中心,用户可以就近访问数据中心,加快访问速度,提升系统性能;同时,它们也是数据冗余复制的灾备中心。所有用户和微博数据通过远程消息系统位于不同的位置。在数据中心之间进行同步以提高系统可用性。
  同时,新浪微博还开发了一系列自动化工具,包括自动化监控、自动化发布、自动化故障修复等,这些自动化工具还在不断开发中,以提高运维水平,提高系统可用性。
  由于微博的开放性,新浪微博也遇到了一系列的安全挑战。垃圾邮件、僵尸粉和微博攻击从未停止。除了使用一般的网站通用安全策略,新浪微博是一个开放的平台。关于使用多级安全审计策略来保护系统和用户。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)
  该系统分为三个层次。底层是基础服务层,提供数据库、缓存、存储、搜索等数据服务等基础技术服务。这些服务支持新浪微博的海量数据和高并发访问。系统的技术基础。
  中间层是平台服务和应用服务层。新浪微博的核心服务是微博、关系和用户。这些服务被划分为独立的服务模块,依靠调用和共享基础数据,构成了新浪微博的业务基础。
  顶层是 API 和业务层。各种客户端和第三方应用调用API并将其集成到新浪微博系统中,形成一个生态系统。
  
  新浪微博的系统架构
  这些业务模块和基础技术模块经过分层划分后分布式部署。每个模块部署在一组独立的服务器集群上,通过远程调用进行依赖访问。新浪微博早期也采用了一种分布式集群部署方案,叫做MPSS(MultiPost Single Server,单服务器多端口)。在集群中的多台服务器上,每台服务器都部署了多个服务,每个服务使用不同的服务。港口为外界提供服务。这样,有限数量的服务器就可以部署更多的服务实例,提高服务的负载均衡和可用性。现在常见的网站 应用将物理机虚拟化为多个虚拟机。在虚拟机上部署应用的方法和新浪微博的MPSS方案一样,但是更简单,可以在不同的虚拟机上使用。相同的端口号。
  在新浪微博的早期架构中,微博发布采用的是同步推送模式。用户发布微博后,系统会立即将该微博插入到数据库中所有粉丝的订阅列表中。当用户数量比较大的时候,就会造成大量的用户。数据库写操作超过数据库负载,系统性能急剧下降,用户响应延迟增加。后来新浪微博切换到异步推拉组合模式。用户发布微博后,系统将微博写入消息队列并立即返回。用户反应很快。消息队列消费者任务将微博推送到当前所有在线粉丝的订阅列表。非在线用户登录后,根据关注列表拉取微博订阅列表。
  由于微博频繁刷新,新浪微博采用了多级缓存策略。热门微博和名人用户缓存在所有微博服务器上,在线用户的微博和近期微博缓存在分布式缓存集群中。对于微博,操作中几乎所有最常见的“微博”操作都是缓存访问操作,可以达到很好的系统性能。
  为了提高系统的整体可用性和性能,新浪微博激活了多个数据中心。这些数据中心不仅是区域用户访问中心,用户可以就近访问数据中心,加快访问速度,提升系统性能;同时,它们也是数据冗余复制的灾备中心。所有用户和微博数据通过远程消息系统位于不同的位置。在数据中心之间进行同步以提高系统可用性。
  同时,新浪微博还开发了一系列自动化工具,包括自动化监控、自动化发布、自动化故障修复等,这些自动化工具还在不断开发中,以提高运维水平,提高系统可用性。
  由于微博的开放性,新浪微博也遇到了一系列的安全挑战。垃圾邮件、僵尸粉和微博攻击从未停止。除了使用一般的网站通用安全策略,新浪微博是一个开放的平台。关于使用多级安全审计策略来保护系统和用户。

使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的Python入门,程序狗速度看过来! )

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-17 04:00 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的Python入门,程序狗速度看过来!
)
  这里有新鲜的Python介绍,看程序狗的速度!
  Python编程语言 Python是一种面向对象的解释型计算机编程语言,由Guido van Rossum于1989年底发明,1991年首次公开发布。Python语法简洁明了,具有丰富而强大的类库. 它通常被称为胶水语言,它可以很容易地将其他语言(尤其是 C/C++)制作的各种模块连接在一起。
  本文介绍了python连接新浪微博开放平台的方法。请有需要的同学参考。另外,官方新浪微博开放平台有完整的SDK和帮助文档,有需要的同学可以自行查看。
  因为最近接触到一个调用新浪微博开放接口的项目,想尝试用python调用微博API。有需要的朋友可以参考以下
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的应用程序,然后你就可以得到应用程序密钥和应用程序密钥。这是应用获得 OAuth2.0 授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.< @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]
try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, 'error'):
if e.error == 'expired_token':
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False
return True
if __name__ == "__main__":
apply_access_token()
# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status='Test OAuth 2.0 Send a Weibo!')
  
retry.py
import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.
delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn't really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
http_helper.py
# -*- coding: utf-8 -*-
#/usr/bin/env python
import urllib2,cookielib
class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_301(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_301(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def http_error_302(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_302(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def get_cookie():
cookies = cookielib.CookieJar()
return urllib2.HTTPCookieProcessor(cookies)
def get_opener(proxy=False):
rv=urllib2.build_opener(get_cookie(), SmartRedirectHandler())
rv.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)')]
return rv 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的Python入门,程序狗速度看过来!
)
  这里有新鲜的Python介绍,看程序狗的速度!
  Python编程语言 Python是一种面向对象的解释型计算机编程语言,由Guido van Rossum于1989年底发明,1991年首次公开发布。Python语法简洁明了,具有丰富而强大的类库. 它通常被称为胶水语言,它可以很容易地将其他语言(尤其是 C/C++)制作的各种模块连接在一起。
  本文介绍了python连接新浪微博开放平台的方法。请有需要的同学参考。另外,官方新浪微博开放平台有完整的SDK和帮助文档,有需要的同学可以自行查看。
  因为最近接触到一个调用新浪微博开放接口的项目,想尝试用python调用微博API。有需要的朋友可以参考以下
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的应用程序,然后你就可以得到应用程序密钥和应用程序密钥。这是应用获得 OAuth2.0 授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.< @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]
try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, 'error'):
if e.error == 'expired_token':
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False
return True
if __name__ == "__main__":
apply_access_token()
# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status='Test OAuth 2.0 Send a Weibo!')
  
retry.py
import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.
delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn't really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
http_helper.py
# -*- coding: utf-8 -*-
#/usr/bin/env python
import urllib2,cookielib
class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_301(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_301(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def http_error_302(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_302(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def get_cookie():
cookies = cookielib.CookieJar()
return urllib2.HTTPCookieProcessor(cookies)
def get_opener(proxy=False):
rv=urllib2.build_opener(get_cookie(), SmartRedirectHandler())
rv.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)')]
return rv

使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))

网站优化优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-12-16 09:15 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向后, callback_url 将附加 oauth_verifier 参数。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向后, callback_url 将附加 oauth_verifier 参数。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。

使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))

网站优化优采云 发表了文章 • 0 个评论 • 45 次浏览 • 2021-12-15 16:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token,Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token,Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台注册开发者并获取app和app(组图))

网站优化优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2021-12-15 13:42 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台注册开发者并获取app和app(组图))
  前言:微博开放平台提供了微博数据的api接口。不仅可以通过api直接调用微博服务发布微博和查询微博,更重要的是可以自己获取新浪微博网站 api被授权调用微博的一些内容,就好像我们在网站看到,想分享到微博或者其他社交网络网站,很方便。爪哇
  下面就让我们一探究竟。
  1.注册开发者,获取app key和app secret
  百度很容易找到微博开放平台的入口,登录自己的微博账号,点击账号头像,会提示编辑开发者信息。
  
  如果可以看到如下页面,则只需根据提示填写即可。紧急联系人可以自己填写,网站没关系,可以百度填写。
  
  提交后,您需要在个人申请中验证您的真实姓名。上传图片时请耐心等待。有点慢,没有上传进度。上传后,点击返回跳转到新页面:
  
  根据您的需要选择,然后构建您自己的应用程序。至于里面的各个应用术语的含义,我不是很清楚,熟悉一下就好了。我选择其他应用
  
  
  创建后,您将收到一封收录应用密钥和应用机密的电子邮件。这是获得权威的关键。
  2.获取令牌
  在首页点击api接口,会跳转到api接口描述页面。你会发现这个api有很多功能,包括创建微博、删除微博、关注/取消关注等,接口很多,但是每个接口都需要token才能访问。令牌从哪里来?
  一是要拿到code,二是要有调用接口的网址(因为我申请的是web应用)。
  设置关联的 URL:
  
  单击您的应用程序名称,然后在左侧菜单中找到高级信息,然后您可以对其进行编辑。
  
  在api界面下点击
  
  , 进入授权界面查看使用情况
  
  根据示例,您需要发送收录client_id 和redirect_uri 的get 请求。可以直接拼接。
  https://api.weibo.com/oauth2/a ... Dcode
  其中client_id是你申请的app key,redirect_uri是回调接口本身的地址,api会原样返回。可以直接在浏览器中输入url,如下图:
  
  这个页面是不是很熟悉?网页被授权后会跳转回redirect_uri页面,url后面会拼出code。所以代码有
  接下来获取授权token,第二个授权接口:
  
  页面上有详细的用法。发送http post请求,我用java http-client4.5 来做,其实其他方法也行。
  
  代码写得不好,但有多少可用。5 个必需的参数值。我们已经拿到了最后两个,前两个在邮件里。代码将不会发布。照顾好自己会帮助您熟悉使用,之后您将不可避免地发送各种请求。
  至此,我们已经授权成功,返回值中收录了需要的token值。如果返回错误,请查看错误信息或百度错误信息。
  之后,你只需要带上token来请求各种接口。虽然有次数限制,但正常使用应该足够了。
  后记:
  1. 本来想做一些爬虫类的功能。我想在微博开放界面获取一些数据。不过从API来看,大部分都是基于web应用的微博分享功能。
  就好比自己的微博,发粉丝,发微博,关注等,本身没必要。
  
  2. 前面说过,微博开放api主要用于第三方网站或者app访问微博、登录微博或者通过微博api分享,所以对这个有彻底的需求能够深入研究api接口。
  在3.api接口中,所有的get请求都可以通过直接连接字符串的方式获取,但是对于刚刚请求授权的get请求,需要用户的账号来批准对应用的授权,所以需要登录进入用户账号,如果浏览器中保留了微博登录的cookie,那么浏览器可以自动登录获取目标码,如果没有会提示登录
  
  所以这个请求适合在浏览器上进行,因为使用代码发送请求还要模拟登录,或者登录后使用cookie,都非常麻烦。不过api中剩下的get请求就不会有这个问题了,直接带上token就可以了。模拟登录可以使用selenium的webdriver来获取cookies,其他模拟登录的方法种类繁多,非常麻烦。网络
  当然,如果你把它嵌入在网站上,那么登录是用户的事情。json
  4.以发送微博为例:
  @Test
public void test2() throws IOException {
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = null;
RequestConfig config =
RequestConfig.custom().setConnectTimeout(10000)
.setSocketTimeout(10000).build();
HttpPost post = new HttpPost("https://api.weibo.com/2/statuses/update.json");
post.setConfig(config);
List pairs = new ArrayList();
BasicNameValuePair p1 = new BasicNameValuePair("access_token","");
String content = "本条微博经过微博开放接口发送";
BasicNameValuePair p2 = new BasicNameValuePair("status",
content);
BasicNameValuePair p3 = new BasicNameValuePair("visible","0");
pairs.add(p1);
pairs.add(p2);
pairs.add(p3);
post.setEntity(new UrlEncodedFormEntity(pairs,"utf-8"));
response = client.execute(post);
HttpEntity entities = response.getEntity();
System.out.println(EntityUtils.toString(entities,"UTF-8"));
}
  
  5.如果把open api嵌入到自己的网站中,一般做法是:在分享微博按钮(第三方登录按钮)上,发送微博授权认证,用户点击授权后web页面,后台获取code,根据code获取token。之后,如果需要提取微博的用户名,可以直接在后台发送请求。如果分享到微博,也可以通过api来完成。
  如果以后在实践中用到这些功能,那就做个记录。本文到此结束。
  来自维兹 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台注册开发者并获取app和app(组图))
  前言:微博开放平台提供了微博数据的api接口。不仅可以通过api直接调用微博服务发布微博和查询微博,更重要的是可以自己获取新浪微博网站 api被授权调用微博的一些内容,就好像我们在网站看到,想分享到微博或者其他社交网络网站,很方便。爪哇
  下面就让我们一探究竟。
  1.注册开发者,获取app key和app secret
  百度很容易找到微博开放平台的入口,登录自己的微博账号,点击账号头像,会提示编辑开发者信息。
  
  如果可以看到如下页面,则只需根据提示填写即可。紧急联系人可以自己填写,网站没关系,可以百度填写。
  
  提交后,您需要在个人申请中验证您的真实姓名。上传图片时请耐心等待。有点慢,没有上传进度。上传后,点击返回跳转到新页面:
  
  根据您的需要选择,然后构建您自己的应用程序。至于里面的各个应用术语的含义,我不是很清楚,熟悉一下就好了。我选择其他应用
  
  
  创建后,您将收到一封收录应用密钥和应用机密的电子邮件。这是获得权威的关键。
  2.获取令牌
  在首页点击api接口,会跳转到api接口描述页面。你会发现这个api有很多功能,包括创建微博、删除微博、关注/取消关注等,接口很多,但是每个接口都需要token才能访问。令牌从哪里来?
  一是要拿到code,二是要有调用接口的网址(因为我申请的是web应用)。
  设置关联的 URL:
  
  单击您的应用程序名称,然后在左侧菜单中找到高级信息,然后您可以对其进行编辑。
  
  在api界面下点击
  
  , 进入授权界面查看使用情况
  
  根据示例,您需要发送收录client_id 和redirect_uri 的get 请求。可以直接拼接。
  https://api.weibo.com/oauth2/a ... Dcode
  其中client_id是你申请的app key,redirect_uri是回调接口本身的地址,api会原样返回。可以直接在浏览器中输入url,如下图:
  
  这个页面是不是很熟悉?网页被授权后会跳转回redirect_uri页面,url后面会拼出code。所以代码有
  接下来获取授权token,第二个授权接口:
  
  页面上有详细的用法。发送http post请求,我用java http-client4.5 来做,其实其他方法也行。
  
  代码写得不好,但有多少可用。5 个必需的参数值。我们已经拿到了最后两个,前两个在邮件里。代码将不会发布。照顾好自己会帮助您熟悉使用,之后您将不可避免地发送各种请求。
  至此,我们已经授权成功,返回值中收录了需要的token值。如果返回错误,请查看错误信息或百度错误信息。
  之后,你只需要带上token来请求各种接口。虽然有次数限制,但正常使用应该足够了。
  后记:
  1. 本来想做一些爬虫类的功能。我想在微博开放界面获取一些数据。不过从API来看,大部分都是基于web应用的微博分享功能。
  就好比自己的微博,发粉丝,发微博,关注等,本身没必要。
  
  2. 前面说过,微博开放api主要用于第三方网站或者app访问微博、登录微博或者通过微博api分享,所以对这个有彻底的需求能够深入研究api接口。
  在3.api接口中,所有的get请求都可以通过直接连接字符串的方式获取,但是对于刚刚请求授权的get请求,需要用户的账号来批准对应用的授权,所以需要登录进入用户账号,如果浏览器中保留了微博登录的cookie,那么浏览器可以自动登录获取目标码,如果没有会提示登录
  
  所以这个请求适合在浏览器上进行,因为使用代码发送请求还要模拟登录,或者登录后使用cookie,都非常麻烦。不过api中剩下的get请求就不会有这个问题了,直接带上token就可以了。模拟登录可以使用selenium的webdriver来获取cookies,其他模拟登录的方法种类繁多,非常麻烦。网络
  当然,如果你把它嵌入在网站上,那么登录是用户的事情。json
  4.以发送微博为例:
  @Test
public void test2() throws IOException {
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = null;
RequestConfig config =
RequestConfig.custom().setConnectTimeout(10000)
.setSocketTimeout(10000).build();
HttpPost post = new HttpPost("https://api.weibo.com/2/statuses/update.json";);
post.setConfig(config);
List pairs = new ArrayList();
BasicNameValuePair p1 = new BasicNameValuePair("access_token","");
String content = "本条微博经过微博开放接口发送";
BasicNameValuePair p2 = new BasicNameValuePair("status",
content);
BasicNameValuePair p3 = new BasicNameValuePair("visible","0");
pairs.add(p1);
pairs.add(p2);
pairs.add(p3);
post.setEntity(new UrlEncodedFormEntity(pairs,"utf-8"));
response = client.execute(post);
HttpEntity entities = response.getEntity();
System.out.println(EntityUtils.toString(entities,"UTF-8"));
}
  
  5.如果把open api嵌入到自己的网站中,一般做法是:在分享微博按钮(第三方登录按钮)上,发送微博授权认证,用户点击授权后web页面,后台获取code,根据code获取token。之后,如果需要提取微博的用户名,可以直接在后台发送请求。如果分享到微博,也可以通过api来完成。
  如果以后在实践中用到这些功能,那就做个记录。本文到此结束。
  来自维兹

使用新浪微博开放平台api同步微博内容至自己网站(草根用户厌倦了传统媒体上对权威的“90度仰视”)

网站优化优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2021-12-15 08:23 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(草根用户厌倦了传统媒体上对权威的“90度仰视”)
  编者按:本文由联合创始人@邵宝麟提供。他是哥伦比亚大学计算机科学博士候选人。2007年获得华中科技大学软件工程学士学位。曾在印度Infosys SETLab和美国IBM TJ Watson研究中心进行“下一代高性能分布式计算”研究。深圳乐建网络是一家由美国名校辍学生、美国名校博士、成功企业家组成的创业公司。目前正在开发Web3.0时代的高性能推荐互联网产品。目前正在寻找人才,感兴趣的朋友可以联系@邵宝麟或@戴虎宁。
  现在互联网上最流行的是“社交网络”。在国外,烧了投资者无数美元的SNS公司终于陆续上市;在国内,新浪、腾讯、搜狐甚至百度都调整了战略,将微博作为重要的战略布局。
  对于这些巨头来说,微博要么是巩固帝国版图的战略防御武器,要么是追赶对手甚至反击的绝佳机会。
  对于媒体人或意见领袖来说,微博是他们的扩音器,他们希望微博成为未来社会进步的加速器。
  对于一大批草根用户来说,在厌倦了传统媒体权威的“90度仰视”和网络上与同龄人的“0度交流”之后,微博为他们提供了独一无二的45度视角,让他们看到你也可以在倾听的同时有效地表达。
  因此,微博几乎一夜之间风靡全中国。面对这样的市场,创业者没有理由不兴奋。问题是,微博(SNS平台)对创业者意味着什么?Linkedin 创始人 Reid Hoffman 最近的观点可能代表了美国资本市场的普遍看法:“如果 Web 1.0 涉及“去搜索,获取数据”和一些有限的交互性;如果 Web 2.0涉及“真实身份”和“真实关系”,那么Web 3.0 将是“真实身份产生海量数据”。这就好像在说现在是最好的时代,也是最坏的时代。
  面对如此海量的用户生成内容,创业者第一时间就有机会拥有一个上亿用户的平台,以及在这个平台上属于每个用户的唯一数据。但同时,如果不分析和利用这些内容,“信息过载”将严重降低互联网的效率。这是刚性需求。但企业家担心的是这些社交平台本身——它们是否开放?他们现在有多开放?他们未来会开放到什么程度?我们可以从多个维度来讨论这个问题:企业战略、社会趋势、技术发展等等。
  但创业者最关心的是这些平台提供的API(应用程序接口)。毕竟内容是平台的,API几乎是其他人获取这些内容的唯一合法途径。API的种类是否丰富,数据是否完整,使用时有多少限制,直接影响到创业想法的可行性。因此,我们将从以上几个方面对中国最流行的两个微博平台腾讯和新浪做一个简单的比较。
  API多样性
  使用开放平台的开发者最关心的是“这个平台提供了哪些API”和“这些API可以实现什么功能”。新浪已开放近百个API接口。与腾讯相比,开放方式更接近推特。如果我们仔细对比新浪和推特的API,会发现两者不仅数量相当,而且从功能上来说,新浪几乎提供了所有推特的开放服务。相比之下,腾讯API的种类要少得多,目前只有60个左右。仔细看,我们可以将微博平台提供的服务大致分为:公共内容、用户内容、用户关系链、其他辅助功能(如搜索)。
  1、 在公共内容上,腾讯和新浪都提供了获取公共微博和热点话题的接口。但新浪的热门话题界面更加丰富,包括每周、每日和每小时的热门话题。而腾讯只提供了“话题热榜”界面,返回当前最热门话题。
  2、在“用户内容”方面,两个平台的差异就更加明显了。新浪的API接口以用户为中心,而腾讯则更注重提供基础数据。例如,对于微博上的转发和评论,新浪直接提供了API来获取用户发送和接收的评论。但是,腾讯只提供了“获取微博所有评论”的API。这意味着“用户收到的评论”可以通过新浪微博上的API请求获得。在腾讯平台,开发者需要先获取用户发布的微博列表,然后再持有。微博再次向腾讯征求所有意见。不仅如此,腾讯还没有开放“获取用户评论”的界面。
  3、 关于开通“用户关系链”,腾讯和新浪的差别不大,所有第三方都可以获得用户的粉丝和好友列表。由于腾讯微博本身提供了“专听”功能,用户的“专听列表”也可以通过其API获取。
  4、最后,在“可访问性”上,双方提供了“好友推荐”和比较完善的搜索服务(搜索用户,搜索微博),但新浪目前支持获取可能对Tag感兴趣的用户” ,该API为基于微博的推荐服务提供了有效的参考信息。
  API 的数量和类型是多样性的一方面,另一方面是每个 API 的功能。与腾讯相比,新浪的API功能更加丰富。以“获取用户微博”界面为例,新浪接受的参数如下:
  请求参数
  必填类型和范围说明
  sourcetruestring AppKey在申请应用时分配,代表应用在调用接口时的唯一标识。(OAuth授权不需要此参数)
  :idfalseint64/string 根据用户ID(int6&lt;​​@4)或微博昵称(字符串)返回指定用户的最新微博消息列表。该参数为REST风格参数,见注释
  user_idfalseint64 用户ID,主要用于区分用户ID和微博昵称。当微博昵称与用户ID产生歧义时,建议使用该参数,尤其是微博昵称与用户ID相同时
  screen_namefalsestring 微博昵称,主要用于区分用户UID和微博昵称。当两者相同且有歧义时,建议使用该参数
  since_idfalseint64 如果指定该参数,则只返回ID大于since_id(即发布时间晚于since_id)的微博消息。
  max_idfalseint64 如果指定该参数,则返回ID小于等于max_id的微博消息
  countfalseint,默认值为20,最大值为200。指定每页返回的记录数。
  pagefalseint,默认值为1。页码。注:最多可返回 200 条分页内容。
  如果id、user_id、screen_name这三个参数都没有指定,则返回当前登录用户发布的微博消息列表。
  base_appfalseint 是否根据当前应用获取数据。1表示限制本应用的微博,0表示不限制。
  featurefalseint 微博类型,0 全部,1原创,2 图片,3 视频,4 音乐。返回指定类型微博的信息内容。
  相比之下,腾讯的界面更原创:
  请求参数
  必填类型和范围说明
  oauthtruestringoauth 标准参数
  Formatfalsestring 返回结果的格式:xml 或 json
  Pageflagfalseint 页面标志,0 表示第一页,1 表示向下,2 表示向上
  pagetimefalseint 本页开始时间,第一页填0,继续翻页:填上次请求返回的最后一条记录的时间
  Reqnumfalseint 每个请求的记录数
  LastIdfalseint64 第一页填0,继续向下翻页,填上上次请求返回的最后一条记录的ID,用于翻页
  Nametruestring 需要读取的用户的用户名
  我们可以看到腾讯的界面只提供了翻页功能,而新浪提供了微博过滤。不仅是“获取微博”接口,新浪的大部分API都具备一定程度的信息过滤能力,而腾讯的大部分接口只提供基础数据。作为第三方开发者,API接口功能的丰富不仅简化了开发,也降低了部分应用超出API请求限制的风险。
  数据的完整性
  数据完整性是指开放平台是否限制开发者请求某些数据时返回的数据量。最能体现一个平台的开放性。遗憾的是,从这个意义上说,新浪和腾讯都没有真正开放。以用户的“粉丝列表”为例,可以看出新浪、腾讯和推特的区别。Twitter是一个真正开放的平台,开发者可以通过API获取任何用户的完整粉丝列表。虽然一个请求最多返回 100 个粉丝的详细信息,但我们可以通过在 Twitter 上发送多个请求来获得完整的粉丝列表。再看新浪,一般授权用户最多只能获取5000条最新的粉丝信息,但与推特相比,新浪每个请求最多可以返回200个粉丝。然而,新浪和推特还为开发者提供了专门的“社交图谱”界面,可以一次性获取用户5000粉丝的id。不过,新浪仍将总粉丝数设定为5000人,推特也一如既往的开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。
  请求限制
  很多开发者抱怨开放平台,最多的不是API函数的数量,而是各个平台对API请求的限制。但是所有的开放平台(无论是twitter、linkedin还是facebook)都会在一定程度上限制他们的开发者使用自己的资源。这与“开放”策略无关,更多是基于系统安全的考虑。因此,各个平台的API限制策略基本相同。例如,新浪给普通授权开发者每个ip每小时最多10000个API请求,每个用户每小时150个请求。(腾讯和新浪的详细访问权限请参见:和,3)。真正的问题不是平台授予基本授权应用多少请求配额,但是当应用程序因配额而受到限制时,这些平台如何为应用程序解决这个问题。只有为平台设计一个公开、公平的规则,才能真正消除开发者对其开放性的疑虑。
  通过以上分析,我们可以清楚地看到,新浪是目前国内最接近推特的微博平台(无论是规模还是开放度),这次山寨也恰到好处。与推特相比,腾讯的微博是一个完全不同的产品。虽然收录了腾讯自己对微博和开放平台的理解和规划,但目前只适合支持基本的“用户驱动”应用。对于“数据驱动”的复杂应用,平台的接口暂时还远远不能满足开发者的需求。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(草根用户厌倦了传统媒体上对权威的“90度仰视”)
  编者按:本文由联合创始人@邵宝麟提供。他是哥伦比亚大学计算机科学博士候选人。2007年获得华中科技大学软件工程学士学位。曾在印度Infosys SETLab和美国IBM TJ Watson研究中心进行“下一代高性能分布式计算”研究。深圳乐建网络是一家由美国名校辍学生、美国名校博士、成功企业家组成的创业公司。目前正在开发Web3.0时代的高性能推荐互联网产品。目前正在寻找人才,感兴趣的朋友可以联系@邵宝麟或@戴虎宁。
  现在互联网上最流行的是“社交网络”。在国外,烧了投资者无数美元的SNS公司终于陆续上市;在国内,新浪、腾讯、搜狐甚至百度都调整了战略,将微博作为重要的战略布局。
  对于这些巨头来说,微博要么是巩固帝国版图的战略防御武器,要么是追赶对手甚至反击的绝佳机会。
  对于媒体人或意见领袖来说,微博是他们的扩音器,他们希望微博成为未来社会进步的加速器。
  对于一大批草根用户来说,在厌倦了传统媒体权威的“90度仰视”和网络上与同龄人的“0度交流”之后,微博为他们提供了独一无二的45度视角,让他们看到你也可以在倾听的同时有效地表达。
  因此,微博几乎一夜之间风靡全中国。面对这样的市场,创业者没有理由不兴奋。问题是,微博(SNS平台)对创业者意味着什么?Linkedin 创始人 Reid Hoffman 最近的观点可能代表了美国资本市场的普遍看法:“如果 Web 1.0 涉及“去搜索,获取数据”和一些有限的交互性;如果 Web 2.0涉及“真实身份”和“真实关系”,那么Web 3.0 将是“真实身份产生海量数据”。这就好像在说现在是最好的时代,也是最坏的时代。
  面对如此海量的用户生成内容,创业者第一时间就有机会拥有一个上亿用户的平台,以及在这个平台上属于每个用户的唯一数据。但同时,如果不分析和利用这些内容,“信息过载”将严重降低互联网的效率。这是刚性需求。但企业家担心的是这些社交平台本身——它们是否开放?他们现在有多开放?他们未来会开放到什么程度?我们可以从多个维度来讨论这个问题:企业战略、社会趋势、技术发展等等。
  但创业者最关心的是这些平台提供的API(应用程序接口)。毕竟内容是平台的,API几乎是其他人获取这些内容的唯一合法途径。API的种类是否丰富,数据是否完整,使用时有多少限制,直接影响到创业想法的可行性。因此,我们将从以上几个方面对中国最流行的两个微博平台腾讯和新浪做一个简单的比较。
  API多样性
  使用开放平台的开发者最关心的是“这个平台提供了哪些API”和“这些API可以实现什么功能”。新浪已开放近百个API接口。与腾讯相比,开放方式更接近推特。如果我们仔细对比新浪和推特的API,会发现两者不仅数量相当,而且从功能上来说,新浪几乎提供了所有推特的开放服务。相比之下,腾讯API的种类要少得多,目前只有60个左右。仔细看,我们可以将微博平台提供的服务大致分为:公共内容、用户内容、用户关系链、其他辅助功能(如搜索)。
  1、 在公共内容上,腾讯和新浪都提供了获取公共微博和热点话题的接口。但新浪的热门话题界面更加丰富,包括每周、每日和每小时的热门话题。而腾讯只提供了“话题热榜”界面,返回当前最热门话题。
  2、在“用户内容”方面,两个平台的差异就更加明显了。新浪的API接口以用户为中心,而腾讯则更注重提供基础数据。例如,对于微博上的转发和评论,新浪直接提供了API来获取用户发送和接收的评论。但是,腾讯只提供了“获取微博所有评论”的API。这意味着“用户收到的评论”可以通过新浪微博上的API请求获得。在腾讯平台,开发者需要先获取用户发布的微博列表,然后再持有。微博再次向腾讯征求所有意见。不仅如此,腾讯还没有开放“获取用户评论”的界面。
  3、 关于开通“用户关系链”,腾讯和新浪的差别不大,所有第三方都可以获得用户的粉丝和好友列表。由于腾讯微博本身提供了“专听”功能,用户的“专听列表”也可以通过其API获取。
  4、最后,在“可访问性”上,双方提供了“好友推荐”和比较完善的搜索服务(搜索用户,搜索微博),但新浪目前支持获取可能对Tag感兴趣的用户” ,该API为基于微博的推荐服务提供了有效的参考信息。
  API 的数量和类型是多样性的一方面,另一方面是每个 API 的功能。与腾讯相比,新浪的API功能更加丰富。以“获取用户微博”界面为例,新浪接受的参数如下:
  请求参数
  必填类型和范围说明
  sourcetruestring AppKey在申请应用时分配,代表应用在调用接口时的唯一标识。(OAuth授权不需要此参数)
  :idfalseint64/string 根据用户ID(int6&lt;​​@4)或微博昵称(字符串)返回指定用户的最新微博消息列表。该参数为REST风格参数,见注释
  user_idfalseint64 用户ID,主要用于区分用户ID和微博昵称。当微博昵称与用户ID产生歧义时,建议使用该参数,尤其是微博昵称与用户ID相同时
  screen_namefalsestring 微博昵称,主要用于区分用户UID和微博昵称。当两者相同且有歧义时,建议使用该参数
  since_idfalseint64 如果指定该参数,则只返回ID大于since_id(即发布时间晚于since_id)的微博消息。
  max_idfalseint64 如果指定该参数,则返回ID小于等于max_id的微博消息
  countfalseint,默认值为20,最大值为200。指定每页返回的记录数。
  pagefalseint,默认值为1。页码。注:最多可返回 200 条分页内容。
  如果id、user_id、screen_name这三个参数都没有指定,则返回当前登录用户发布的微博消息列表。
  base_appfalseint 是否根据当前应用获取数据。1表示限制本应用的微博,0表示不限制。
  featurefalseint 微博类型,0 全部,1原创,2 图片,3 视频,4 音乐。返回指定类型微博的信息内容。
  相比之下,腾讯的界面更原创:
  请求参数
  必填类型和范围说明
  oauthtruestringoauth 标准参数
  Formatfalsestring 返回结果的格式:xml 或 json
  Pageflagfalseint 页面标志,0 表示第一页,1 表示向下,2 表示向上
  pagetimefalseint 本页开始时间,第一页填0,继续翻页:填上次请求返回的最后一条记录的时间
  Reqnumfalseint 每个请求的记录数
  LastIdfalseint64 第一页填0,继续向下翻页,填上上次请求返回的最后一条记录的ID,用于翻页
  Nametruestring 需要读取的用户的用户名
  我们可以看到腾讯的界面只提供了翻页功能,而新浪提供了微博过滤。不仅是“获取微博”接口,新浪的大部分API都具备一定程度的信息过滤能力,而腾讯的大部分接口只提供基础数据。作为第三方开发者,API接口功能的丰富不仅简化了开发,也降低了部分应用超出API请求限制的风险。
  数据的完整性
  数据完整性是指开放平台是否限制开发者请求某些数据时返回的数据量。最能体现一个平台的开放性。遗憾的是,从这个意义上说,新浪和腾讯都没有真正开放。以用户的“粉丝列表”为例,可以看出新浪、腾讯和推特的区别。Twitter是一个真正开放的平台,开发者可以通过API获取任何用户的完整粉丝列表。虽然一个请求最多返回 100 个粉丝的详细信息,但我们可以通过在 Twitter 上发送多个请求来获得完整的粉丝列表。再看新浪,一般授权用户最多只能获取5000条最新的粉丝信息,但与推特相比,新浪每个请求最多可以返回200个粉丝。然而,新浪和推特还为开发者提供了专门的“社交图谱”界面,可以一次性获取用户5000粉丝的id。不过,新浪仍将总粉丝数设定为5000人,推特也一如既往的开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。
  请求限制
  很多开发者抱怨开放平台,最多的不是API函数的数量,而是各个平台对API请求的限制。但是所有的开放平台(无论是twitter、linkedin还是facebook)都会在一定程度上限制他们的开发者使用自己的资源。这与“开放”策略无关,更多是基于系统安全的考虑。因此,各个平台的API限制策略基本相同。例如,新浪给普通授权开发者每个ip每小时最多10000个API请求,每个用户每小时150个请求。(腾讯和新浪的详细访问权限请参见:和,3)。真正的问题不是平台授予基本授权应用多少请求配额,但是当应用程序因配额而受到限制时,这些平台如何为应用程序解决这个问题。只有为平台设计一个公开、公平的规则,才能真正消除开发者对其开放性的疑虑。
  通过以上分析,我们可以清楚地看到,新浪是目前国内最接近推特的微博平台(无论是规模还是开放度),这次山寨也恰到好处。与推特相比,腾讯的微博是一个完全不同的产品。虽然收录了腾讯自己对微博和开放平台的理解和规划,但目前只适合支持基本的“用户驱动”应用。对于“数据驱动”的复杂应用,平台的接口暂时还远远不能满足开发者的需求。

使用新浪微博开放平台api同步微博内容至自己网站( 李开复:如何充分利用微博促进技术论坛的发展?(组图))

网站优化优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2021-12-10 15:08 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
李开复:如何充分利用微博促进技术论坛的发展?(组图))
  
  随着微博的快速发展和普及,它在很多领域的参与和渗透也越来越广泛,正如李开复在《微博改变一切》一书中所说。我们可以从以下报道中了解微博的过去、现状和未来发展趋势。以下为引用内容:
  上海交通大学舆情研究实验室于2010年12月28日发布了《2010中国微博年度报告》,报告预测2013年前后中国微博用户将出现爆发式增长,2013年市场将进入成熟期截止2010年10月,中国微博服务访问量已达12521.70,000人次,累计活跃注册用户数已超过6500万。
  报告作者、上海交通大学一、媒体经济与管理研究中心主任刘耕云指出,2010年被称为中国微博发展元年,出现了井喷式发展。的发展。他表示,微博“发展速度快,影响力大,逐渐体现了论坛和博客的替代趋势”。
  基于以上信息,我们不仅可以预见微博的快速发展,还可以了解微博、论坛和博客在一定时期内并存的情况。那么如何充分利用微博来推动技术论坛的发展呢?笔者根据最近的实践讲一些经验,给大家鼓励!
  首先,微博和论坛要一致
  1、 一致定位:
  在定位微博之前,我们先看看能否回答以下两个问题:
  (1)为谁写微博?主要是针对目标人群,让他们成为忠实粉丝。
  (2)写微博的目的是什么?每个人的目标都是多种多样的,有的为了记录自己的生活,有的为了社交,有的为了学习知识和技术,为了分享想法和经验,为了休闲娱乐等等
  让我们通过对李开复的采访来加深对以上两点的理解:
  以下为引用内容:
  问:你为什么写微博?
  李开复:我写微博的目的是记录我的想法和有趣的事实+积极影响社会和他人。
  问:给孩子的建议,微博怎么用?
  李开复:1) 不要只用微博看八卦、社交和游戏。微博是一款非常好的学习工具,点击“关注”即可添加老师。2)不要沉默,不要潜水。这是沉默的公众发出声音的绝佳机会。甚至“转贴”也是群众智慧的机制之一。3)学好写作,积极影响他人,是一件神圣的事情。
  当以上两个问题有了明确的答案后,微博的定位也就顺理成章了。
  作者的论坛是关于软件测试的。目标受众是大多数软件测试工作者和对软件测试感兴趣的人。目的是学习知识和技术,分享实践经验。为此,我将我的微博命名为“让试飞”,寓意通过大家的努力,这个行业会飞速发展。至此,我有了明确的定位,确定我的微博话题是关于软件测试领域的,让更多的目标人群(粉丝)了解它,关注它,通过微博找到论坛,让论坛和微博可以达到互补的效果,进而推动论坛更好的发展。
  2、内容是一样的:
  微博是一种互动传播速度极快的工具,传播速度甚至比媒体还要快。微博的特色在于“微”字。发布一条消息只需要一句话(140字)。有人称之为140字的奇迹。另一个最大的特点是集成和开放。您可以通过手机、IM软件(gtalk、MSN、QQ、Skype)和外部API接口向您的微博发布消息。由于其便捷性、随意性、低门槛(普通人与莎士比亚一样),用户群呈现爆发式增长。如果利用好微博的这些特点,结合论坛和微博内容的一致性,将有助于目标人群吸引论坛,促进论坛的快速发展。
  3、目标群体必须一致:
  作者的论坛主要是讨论软件测试技术,需要微博关注的目标人群是软件测试相关的博主。只有这样,论坛的粘性才能增加,相互促进。从下图可以看出,粉丝是目标人群:
  
  二、微博与论坛互通技术的实现
  笔者近期对国内三大微博(新浪、腾讯、搜狐)进行了仔细对比。通过自己的使用和大家的口碑,相信大众,承认新浪在微博领域领先一步;康盛DZ论坛产品分享第一。; 针对这两点,本文将以新浪微博和DZX1.5为例进行相关举例。
  由于新浪在其微博应用上采取了一系列强有力的措施,目前它正在突飞猛进地发展。
  2010年11月16日——由新浪公司主办的中国首届微博开发者大会在北京召开。作为微博行业的首场科技盛宴,本次大会引起了行业专家、草根网友,尤其是各类第三方开发者的普遍关注。
  携手五家顶级风险投资人,2亿只专注于微博应用开发的基金,推出了中国微博开发者创新基金,这是国内首只专注于微博应用开发的基金。为方便基于新浪微博的第三方开发,新浪微博建立了开发者专属区——新浪微博开放平台,并提供了强有力的措施,采取与开发者3:7的分享。
  近日,微博新域名()上线,是计划中的两个域名之一。
  这些都表明,新浪正在以开放的理念在微博应用中构建一个庞大而良性的微博生态系统。
  笔者在这里介绍的时候,感兴趣的读者可能已经猜到了微博和论坛之间是否已经有了连接工具?没错,就是XweiboforDiscuz!X1.5V1.1插件。为了节省空间,安装过程等请参考官方网站。
  为了让读者能够阅读本文,真正将其应用到自己的论坛中,达到标题中的目标,笔者将在论坛中详细介绍一下新浪微博的使用说明。
  一、绑定微博账号
  登录本论坛后,如果您还没有绑定新浪微博,会出现下图“绑定微博账号”红色按钮(绑定后不会再出现)。
  
  点击这个红色按钮,会出现如下界面:
  
  如果您已经有新浪微博账号,只需点击“绑定新浪微博”按钮;否则,点击“注册新浪微博”,您将进入新浪微博注册页面,只需输入您的电子邮件地址并创建密码和验证码,大约一分钟即可完成注册。
  按照以上步骤,点击“绑定新浪微博”按钮,弹出如下界面:
  
  输入账号和密码后,点击“授权”按钮,出现新浪微博设置页面:
  
  在这里您可以选择需要与新浪微博同步的社区中的哪些。一共五个项目:发帖、记录、日志、分享和传送门文章。勾选的选项在发布时会提示是否同步到新浪微博(下面会涉及到)。
  设置好后,点击“保存设置”,出现一个很酷的提示,如下图:
  
  行!绑定完成。下面我们详细说一下操作。
  二、如何使用
  为了节省篇幅,以下仅以发布话题同步到新浪微博为例。其他的比如同步发布日志(记录、分享)到新浪微博也类似。
  如果你想让更多人分享你发布的话题,你可以考虑转发到新浪微博。这很容易做到。请看下图,勾选“同时发布到新浪微博”即可。
  
  也可以转发之前发表的话题,点击最后一个“转发”按钮即可,如下图:
  
  转发到新浪微博后的效果图:
  
  如果您想查看论坛中的原文,只需点击上方红框中的超链接即可。
  最后,需要说明的是图底部的“来自天天软件测试社区”。如果审核失败,将显示为“来自失败的审核申请”。关于如何申请新浪微博Appkey,可以通过官方开放平台了解。网上有很多相关的文章。
  最后说说如何经营自己的微博
  微博的定位、内容和目标人群我已经讲过了。现在我们来谈谈管理它们的措施和方法。只有做好微博,才能达到推动社区快速发展的目标。
  一要完善微博信息。包括:昵称设置要与网站的名字一致或密切相关,网站的个人资料可以写在个人信息中,标签应该写网站关键词 等等。如果条件允许,还可以申请实名认证,增加一定的权限。
  其次,在不偏离内容定位的前提下,坚持每天在线人数高峰期定期更新信息,热情回复和解决粉丝提出的问题;追求文字简洁,附图片,带#topics#,利于搜索;在社区开展“转发微博打赏”等活动,将更多的精华内容推送到微博;适当转发行业或名人微博,让专家的声音能传播得更广更远。
  以上只是笔者使用的部分措施和方法。你可以在网上找到更多相关的话题,然后根据自己的网站做出合理的选择。
  先总结一下,不管我怎么努力让阅读这篇文章的读者文章都能善用微博和论坛,我还是觉得自己做不到。比如文章中提到的微博插件(XweiboforDiscuz!X1.5V1.1,截至发稿已升级为2.0beta),不同的人可能会遇到不同的问题,如按钮错位、与其他插件冲突、插件本身的bug等,本文无法解释清楚。因此,正确的应该是一个好的开始。如果能帮到你,就是我的追求!欢迎发表您的意见和批评!
  欢迎转载,转载请注明第一个网址:本文来自:天天软件测试社区(),详细文章参考: 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
李开复:如何充分利用微博促进技术论坛的发展?(组图))
  
  随着微博的快速发展和普及,它在很多领域的参与和渗透也越来越广泛,正如李开复在《微博改变一切》一书中所说。我们可以从以下报道中了解微博的过去、现状和未来发展趋势。以下为引用内容:
  上海交通大学舆情研究实验室于2010年12月28日发布了《2010中国微博年度报告》,报告预测2013年前后中国微博用户将出现爆发式增长,2013年市场将进入成熟期截止2010年10月,中国微博服务访问量已达12521.70,000人次,累计活跃注册用户数已超过6500万。
  报告作者、上海交通大学一、媒体经济与管理研究中心主任刘耕云指出,2010年被称为中国微博发展元年,出现了井喷式发展。的发展。他表示,微博“发展速度快,影响力大,逐渐体现了论坛和博客的替代趋势”。
  基于以上信息,我们不仅可以预见微博的快速发展,还可以了解微博、论坛和博客在一定时期内并存的情况。那么如何充分利用微博来推动技术论坛的发展呢?笔者根据最近的实践讲一些经验,给大家鼓励!
  首先,微博和论坛要一致
  1、 一致定位:
  在定位微博之前,我们先看看能否回答以下两个问题:
  (1)为谁写微博?主要是针对目标人群,让他们成为忠实粉丝。
  (2)写微博的目的是什么?每个人的目标都是多种多样的,有的为了记录自己的生活,有的为了社交,有的为了学习知识和技术,为了分享想法和经验,为了休闲娱乐等等
  让我们通过对李开复的采访来加深对以上两点的理解:
  以下为引用内容:
  问:你为什么写微博?
  李开复:我写微博的目的是记录我的想法和有趣的事实+积极影响社会和他人。
  问:给孩子的建议,微博怎么用?
  李开复:1) 不要只用微博看八卦、社交和游戏。微博是一款非常好的学习工具,点击“关注”即可添加老师。2)不要沉默,不要潜水。这是沉默的公众发出声音的绝佳机会。甚至“转贴”也是群众智慧的机制之一。3)学好写作,积极影响他人,是一件神圣的事情。
  当以上两个问题有了明确的答案后,微博的定位也就顺理成章了。
  作者的论坛是关于软件测试的。目标受众是大多数软件测试工作者和对软件测试感兴趣的人。目的是学习知识和技术,分享实践经验。为此,我将我的微博命名为“让试飞”,寓意通过大家的努力,这个行业会飞速发展。至此,我有了明确的定位,确定我的微博话题是关于软件测试领域的,让更多的目标人群(粉丝)了解它,关注它,通过微博找到论坛,让论坛和微博可以达到互补的效果,进而推动论坛更好的发展。
  2、内容是一样的:
  微博是一种互动传播速度极快的工具,传播速度甚至比媒体还要快。微博的特色在于“微”字。发布一条消息只需要一句话(140字)。有人称之为140字的奇迹。另一个最大的特点是集成和开放。您可以通过手机、IM软件(gtalk、MSN、QQ、Skype)和外部API接口向您的微博发布消息。由于其便捷性、随意性、低门槛(普通人与莎士比亚一样),用户群呈现爆发式增长。如果利用好微博的这些特点,结合论坛和微博内容的一致性,将有助于目标人群吸引论坛,促进论坛的快速发展。
  3、目标群体必须一致:
  作者的论坛主要是讨论软件测试技术,需要微博关注的目标人群是软件测试相关的博主。只有这样,论坛的粘性才能增加,相互促进。从下图可以看出,粉丝是目标人群:
  
  二、微博与论坛互通技术的实现
  笔者近期对国内三大微博(新浪、腾讯、搜狐)进行了仔细对比。通过自己的使用和大家的口碑,相信大众,承认新浪在微博领域领先一步;康盛DZ论坛产品分享第一。; 针对这两点,本文将以新浪微博和DZX1.5为例进行相关举例。
  由于新浪在其微博应用上采取了一系列强有力的措施,目前它正在突飞猛进地发展。
  2010年11月16日——由新浪公司主办的中国首届微博开发者大会在北京召开。作为微博行业的首场科技盛宴,本次大会引起了行业专家、草根网友,尤其是各类第三方开发者的普遍关注。
  携手五家顶级风险投资人,2亿只专注于微博应用开发的基金,推出了中国微博开发者创新基金,这是国内首只专注于微博应用开发的基金。为方便基于新浪微博的第三方开发,新浪微博建立了开发者专属区——新浪微博开放平台,并提供了强有力的措施,采取与开发者3:7的分享。
  近日,微博新域名()上线,是计划中的两个域名之一。
  这些都表明,新浪正在以开放的理念在微博应用中构建一个庞大而良性的微博生态系统。
  笔者在这里介绍的时候,感兴趣的读者可能已经猜到了微博和论坛之间是否已经有了连接工具?没错,就是XweiboforDiscuz!X1.5V1.1插件。为了节省空间,安装过程等请参考官方网站。
  为了让读者能够阅读本文,真正将其应用到自己的论坛中,达到标题中的目标,笔者将在论坛中详细介绍一下新浪微博的使用说明。
  一、绑定微博账号
  登录本论坛后,如果您还没有绑定新浪微博,会出现下图“绑定微博账号”红色按钮(绑定后不会再出现)。
  
  点击这个红色按钮,会出现如下界面:
  
  如果您已经有新浪微博账号,只需点击“绑定新浪微博”按钮;否则,点击“注册新浪微博”,您将进入新浪微博注册页面,只需输入您的电子邮件地址并创建密码和验证码,大约一分钟即可完成注册。
  按照以上步骤,点击“绑定新浪微博”按钮,弹出如下界面:
  
  输入账号和密码后,点击“授权”按钮,出现新浪微博设置页面:
  
  在这里您可以选择需要与新浪微博同步的社区中的哪些。一共五个项目:发帖、记录、日志、分享和传送门文章。勾选的选项在发布时会提示是否同步到新浪微博(下面会涉及到)。
  设置好后,点击“保存设置”,出现一个很酷的提示,如下图:
  
  行!绑定完成。下面我们详细说一下操作。
  二、如何使用
  为了节省篇幅,以下仅以发布话题同步到新浪微博为例。其他的比如同步发布日志(记录、分享)到新浪微博也类似。
  如果你想让更多人分享你发布的话题,你可以考虑转发到新浪微博。这很容易做到。请看下图,勾选“同时发布到新浪微博”即可。
  
  也可以转发之前发表的话题,点击最后一个“转发”按钮即可,如下图:
  
  转发到新浪微博后的效果图:
  
  如果您想查看论坛中的原文,只需点击上方红框中的超链接即可。
  最后,需要说明的是图底部的“来自天天软件测试社区”。如果审核失败,将显示为“来自失败的审核申请”。关于如何申请新浪微博Appkey,可以通过官方开放平台了解。网上有很多相关的文章。
  最后说说如何经营自己的微博
  微博的定位、内容和目标人群我已经讲过了。现在我们来谈谈管理它们的措施和方法。只有做好微博,才能达到推动社区快速发展的目标。
  一要完善微博信息。包括:昵称设置要与网站的名字一致或密切相关,网站的个人资料可以写在个人信息中,标签应该写网站关键词 等等。如果条件允许,还可以申请实名认证,增加一定的权限。
  其次,在不偏离内容定位的前提下,坚持每天在线人数高峰期定期更新信息,热情回复和解决粉丝提出的问题;追求文字简洁,附图片,带#topics#,利于搜索;在社区开展“转发微博打赏”等活动,将更多的精华内容推送到微博;适当转发行业或名人微博,让专家的声音能传播得更广更远。
  以上只是笔者使用的部分措施和方法。你可以在网上找到更多相关的话题,然后根据自己的网站做出合理的选择。
  先总结一下,不管我怎么努力让阅读这篇文章的读者文章都能善用微博和论坛,我还是觉得自己做不到。比如文章中提到的微博插件(XweiboforDiscuz!X1.5V1.1,截至发稿已升级为2.0beta),不同的人可能会遇到不同的问题,如按钮错位、与其他插件冲突、插件本身的bug等,本文无法解释清楚。因此,正确的应该是一个好的开始。如果能帮到你,就是我的追求!欢迎发表您的意见和批评!
  欢迎转载,转载请注明第一个网址:本文来自:天天软件测试社区(),详细文章参考:

使用新浪微博开放平台api同步微博内容至自己网站(试试用python调用微博API的SDK授权所必须的 )

网站优化优采云 发表了文章 • 0 个评论 • 45 次浏览 • 2021-12-10 10:13 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(试试用python调用微博API的SDK授权所必须的
)
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的app,然后你就可以得到app key和app secret,这些是app获得OAuth2.0授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret外,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.&lt; @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]

try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, 'error'):
if e.error == 'expired_token':
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False

return True

if __name__ == "__main__":
apply_access_token()

# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status='Test OAuth 2.0 Send a Weibo!')
  
  
  重试.py
  import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.

delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn't really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff 0:
if rv == True or type(rv) == str: # Done on success ..
return rv
mtries -= 1 # consume an attempt
time.sleep(mdelay) # wait...
mdelay *= backoff # make future wait longer
rv = f(*args, **kwargs) # Try again
return False # Ran out of tries :-(
return f_retry # true decorator -> decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(试试用python调用微博API的SDK授权所必须的
)
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的app,然后你就可以得到app key和app secret,这些是app获得OAuth2.0授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret外,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.&lt; @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]

try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, 'error'):
if e.error == 'expired_token':
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False

return True

if __name__ == "__main__":
apply_access_token()

# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status='Test OAuth 2.0 Send a Weibo!')
  
  
  重试.py
  import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.

delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn't really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff 0:
if rv == True or type(rv) == str: # Done on success ..
return rv
mtries -= 1 # consume an attempt
time.sleep(mdelay) # wait...
mdelay *= backoff # make future wait longer
rv = f(*args, **kwargs) # Try again
return False # Ran out of tries :-(
return f_retry # true decorator -> decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
  

使用新浪微博开放平台api同步微博内容至自己网站(微博SDK及示例工程目录结构及分析SDK(图))

网站优化优采云 发表了文章 • 0 个评论 • 51 次浏览 • 2021-12-09 20:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博SDK及示例工程目录结构及分析SDK(图))
  登出API
  用于收回用户的授权。
  邀请API
  提供好友邀请功能,支持登录用户向微博好友发送私信邀请和礼物。
  注:目前我们只提供部分接口。主要原因是API太大。测试每个 API 也是一项非常耗时的任务。因此,我们在使用时优先开放第三方最关心的少数几个API(如上表所示),其他API继续放在com.sina.weibo.sdk.openapi.legacy下。其实这些API我们并没有全部发布,也希望第三方开发者可以和我们一起维护这些API,并将修改后的代码推送到Github。
  另外,网络模块重构了一个简单易用的框架,第三方开发者可以通过Http请求直接调用OpenAPI接口,见:。
  API 文档
  运行示例代码
  为了方便第三方应用更快地集成微博SDK,更清晰地了解当前微博SDK提供的功能,我们在GitHub上提供了一个简单的示例工程和相应的APK安装包。
  方法一:直接通过adb install命令安装WeiboSDKDemo.apk
  方法二:在Eclipse中导入并运行WeiboSDKDemo工程(详见微博Android平台SDK文档3.1.1.pdf:运行示例代码)
  注意:通过第二种方式运行项目时,一定要替换默认的debug.keystore文件,否则授权不会成功。另外,debug.keysotre 是新浪官方的。除编译运行官方DEMO外,请勿直接使用。出于安全原因,您应该为您的应用程序提供一个密钥。
  在 C:\Users\XXXXX\.android 目录中,将 Android 默认的 debug.keystore 替换为 GitHub 上提供的官方 debug.keystore。
  微博SDK和DEMO项目目录结构及分析
  微博SDK目前以部分开源的形式提供给第三方开发者。简而言之,可以分为以下三个部分:
  集成前准备1. 申请应用的APP_KEY
  这一步需要在微博开放平台注册您的应用,获取APP_KEY,并添加应用的授权回调页面(Redirect URI)。详情请仔细阅读:手机客户端访问()
  2. 注册应用的包名和签名
  您需要在微博开放平台注册应用的包名和签名,才能正确进行授权。
  请注意:未注册包名及签名,或签名注册不正确将导致授权失败。
  应用包名:指AndroidManifest.xml文件中包标签所代表的内容。
  应用签名:签名是官方签名工具生成的MD5值。
  详情请看:微博Android平台SDK文档V3.1.1.pdf:如何使用签名工具获取你的应用签名?
  3. 选择你想要的集成方式
  在集成微博 SDK 之前,您有两种可选的方式来集成微博 SDK:
  详情请看:微博Android平台SDK文档3.1.1.pdf 中:选择你要集成的方式
  4. 在你的应用中添加SDK需要的权限
  5. 在你的应用中注册SDK需要的Activity和Service
  第三方如何使用(认证和授权)1.,替换为自己应用的APP_KEY等参数
  鉴于很多第三方开发者直接复制使用Demo中的Constants类,需要说明的是,第三方开发者需要将Constants类中的各种参数替换为自己的应用参数。请仔细阅读代码注释。
  public interface Constants {
/** 当前 DEMO 应用的 APP_KEY,第三方应用应该使用自己的 APP_KEY 替换该 APP_KEY */
public static final String APP_KEY = "2045436852";
/**
* 当前 DEMO 应用的回调页,第三方应用可以使用自己的回调页。
* 建议使用默认回调页:https://api.weibo.com/oauth2/default.html
*/
public static final String REDIRECT_URL = "http://www.sina.com";
/**
* WeiboSDKDemo 应用对应的权限,第三方开发者一般不需要这么多,可直接设置成空即可。
* 详情请查看 Demo 中对应的注释。
*/
public static final String SCOPE =
"email,direct_messages_read,direct_messages_write,"
+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
+ "follow_app_official_microblog," + "invitation_write";
}
  2. 创建微博API接口类对象
  mAuthInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);
  其中:APP_KEY、REDIRECT_URL、SCOPE需要替换为第三方应用申请的内容。
  3. 实现 WeiboAuthListener 接口
  class AuthListener implements WeiboAuthListener {
@Override
public void onComplete(Bundle values) {
// 从 Bundle 中解析 Token
mAccessToken = Oauth2AccessToken.parseAccessToken(values);
if (mAccessToken.isSessionValid()) {
// 保存 Token 到 SharedPreferences
AccessTokenKeeper.writeAccessToken(WBAuthActivity.this, mAccessToken);
.........
} else {
// 当您注册的应用程序签名不正确时,就会收到 Code,请确保签名正确
String code = values.getString("code", "");
.........
}
}
@Override
public void onCancel() {
}
@Override
public void onWeiboException(WeiboException e) {
}
}
  4. 调用方法、认证和授权
  以上三个授权需要在Activity的onActivityResult函数中调用以下方法:
  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (mSsoHandler != null) {
mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}
  网络请求框架的使用
  在V2.5.0以后的版本中,我们重构了网络模块,提供了同步和异步网络请求接口。
  异步接口:AsyncWeiboRunner#requestAsync(String, WeiboParameters, String, RequestListener)
  同步接口:AsyncWeiboRunner#request(String, WeiboParameters, String)
  其中,同步接口用于开发者有自己的异步请求机制。
  示例:使用异步接口发送带有图片的微博
  // 1. 获取要发送的图片
Drawable drawable = getResources().getDrawable(R.drawable.ic_com_sina_weibo_sdk_logo);
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
// 2. 调用接口发送微博
WeiboParameters params = new WeiboParameters();
params.put("access_token", mAccessToken.getToken());
params.put("status", "通过API发送微博-upload");
params.put("visible", "0");
params.put("list_id", "");
params.put("pic", bitmap);
params.put("lat", "14.5");
params.put("long", "23.0");
params.put("annotations", "");
AsyncWeiboRunner.requestAsync(
"https://api.weibo.com/2/statuses/upload.json",
params,
"POST",
mListener);
  以上代码中,请开发者自行补充mAccessToken和mListener
  其他功能
  其他功能请参考文档:微博Android平台SDK文档V3.1.1.pdf 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博SDK及示例工程目录结构及分析SDK(图))
  登出API
  用于收回用户的授权。
  邀请API
  提供好友邀请功能,支持登录用户向微博好友发送私信邀请和礼物。
  注:目前我们只提供部分接口。主要原因是API太大。测试每个 API 也是一项非常耗时的任务。因此,我们在使用时优先开放第三方最关心的少数几个API(如上表所示),其他API继续放在com.sina.weibo.sdk.openapi.legacy下。其实这些API我们并没有全部发布,也希望第三方开发者可以和我们一起维护这些API,并将修改后的代码推送到Github。
  另外,网络模块重构了一个简单易用的框架,第三方开发者可以通过Http请求直接调用OpenAPI接口,见:。
  API 文档
  运行示例代码
  为了方便第三方应用更快地集成微博SDK,更清晰地了解当前微博SDK提供的功能,我们在GitHub上提供了一个简单的示例工程和相应的APK安装包。
  方法一:直接通过adb install命令安装WeiboSDKDemo.apk
  方法二:在Eclipse中导入并运行WeiboSDKDemo工程(详见微博Android平台SDK文档3.1.1.pdf:运行示例代码)
  注意:通过第二种方式运行项目时,一定要替换默认的debug.keystore文件,否则授权不会成功。另外,debug.keysotre 是新浪官方的。除编译运行官方DEMO外,请勿直接使用。出于安全原因,您应该为您的应用程序提供一个密钥。
  在 C:\Users\XXXXX\.android 目录中,将 Android 默认的 debug.keystore 替换为 GitHub 上提供的官方 debug.keystore。
  微博SDK和DEMO项目目录结构及分析
  微博SDK目前以部分开源的形式提供给第三方开发者。简而言之,可以分为以下三个部分:
  集成前准备1. 申请应用的APP_KEY
  这一步需要在微博开放平台注册您的应用,获取APP_KEY,并添加应用的授权回调页面(Redirect URI)。详情请仔细阅读:手机客户端访问()
  2. 注册应用的包名和签名
  您需要在微博开放平台注册应用的包名和签名,才能正确进行授权。
  请注意:未注册包名及签名,或签名注册不正确将导致授权失败。
  应用包名:指AndroidManifest.xml文件中包标签所代表的内容。
  应用签名:签名是官方签名工具生成的MD5值。
  详情请看:微博Android平台SDK文档V3.1.1.pdf:如何使用签名工具获取你的应用签名?
  3. 选择你想要的集成方式
  在集成微博 SDK 之前,您有两种可选的方式来集成微博 SDK:
  详情请看:微博Android平台SDK文档3.1.1.pdf 中:选择你要集成的方式
  4. 在你的应用中添加SDK需要的权限
  5. 在你的应用中注册SDK需要的Activity和Service
  第三方如何使用(认证和授权)1.,替换为自己应用的APP_KEY等参数
  鉴于很多第三方开发者直接复制使用Demo中的Constants类,需要说明的是,第三方开发者需要将Constants类中的各种参数替换为自己的应用参数。请仔细阅读代码注释。
  public interface Constants {
/** 当前 DEMO 应用的 APP_KEY,第三方应用应该使用自己的 APP_KEY 替换该 APP_KEY */
public static final String APP_KEY = "2045436852";
/**
* 当前 DEMO 应用的回调页,第三方应用可以使用自己的回调页。
* 建议使用默认回调页:https://api.weibo.com/oauth2/default.html
*/
public static final String REDIRECT_URL = "http://www.sina.com";
/**
* WeiboSDKDemo 应用对应的权限,第三方开发者一般不需要这么多,可直接设置成空即可。
* 详情请查看 Demo 中对应的注释。
*/
public static final String SCOPE =
"email,direct_messages_read,direct_messages_write,"
+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
+ "follow_app_official_microblog," + "invitation_write";
}
  2. 创建微博API接口类对象
  mAuthInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);
  其中:APP_KEY、REDIRECT_URL、SCOPE需要替换为第三方应用申请的内容。
  3. 实现 WeiboAuthListener 接口
  class AuthListener implements WeiboAuthListener {
@Override
public void onComplete(Bundle values) {
// 从 Bundle 中解析 Token
mAccessToken = Oauth2AccessToken.parseAccessToken(values);
if (mAccessToken.isSessionValid()) {
// 保存 Token 到 SharedPreferences
AccessTokenKeeper.writeAccessToken(WBAuthActivity.this, mAccessToken);
.........
} else {
// 当您注册的应用程序签名不正确时,就会收到 Code,请确保签名正确
String code = values.getString("code", "");
.........
}
}
@Override
public void onCancel() {
}
@Override
public void onWeiboException(WeiboException e) {
}
}
  4. 调用方法、认证和授权
  以上三个授权需要在Activity的onActivityResult函数中调用以下方法:
  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (mSsoHandler != null) {
mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}
  网络请求框架的使用
  在V2.5.0以后的版本中,我们重构了网络模块,提供了同步和异步网络请求接口。
  异步接口:AsyncWeiboRunner#requestAsync(String, WeiboParameters, String, RequestListener)
  同步接口:AsyncWeiboRunner#request(String, WeiboParameters, String)
  其中,同步接口用于开发者有自己的异步请求机制。
  示例:使用异步接口发送带有图片的微博
  // 1. 获取要发送的图片
Drawable drawable = getResources().getDrawable(R.drawable.ic_com_sina_weibo_sdk_logo);
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
// 2. 调用接口发送微博
WeiboParameters params = new WeiboParameters();
params.put("access_token", mAccessToken.getToken());
params.put("status", "通过API发送微博-upload");
params.put("visible", "0");
params.put("list_id", "");
params.put("pic", bitmap);
params.put("lat", "14.5");
params.put("long", "23.0");
params.put("annotations", "");
AsyncWeiboRunner.requestAsync(
"https://api.weibo.com/2/statuses/upload.json",
params,
"POST",
mListener);
  以上代码中,请开发者自行补充mAccessToken和mListener
  其他功能
  其他功能请参考文档:微博Android平台SDK文档V3.1.1.pdf

使用新浪微博开放平台api同步微博内容至自己网站(使用python调用微博API的授权机制是什么?如何使用)

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-09 00:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(使用python调用微博API的授权机制是什么?如何使用)
  不用稻草做砖。
  数据采集​​是数据分析的前提。许多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博API列表。
  本文将初步介绍如何使用微博API获取基本概念和理解,方便后面深入理解。
  step1:使用python调用微博API,首先下载python SDK,即sinaweibopy
  Sinaweibopy是一款Python专用的OAuth 2客户端,支持微博API,无依赖,100%纯Py,单文件,代码简单,运行可靠,也是新浪微博的Python SDK。
  可以直接通过pip安装:
  pip install sinaweibopy
  什么是SDK?SDK的英文全称是软件开发工具包(software development kit)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。为应用编写代码时,无需重复编写在实际屏幕上绘制文本等代码。SDK 可以帮助您做到这一点。简而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
  step2:了解新浪微博的授权机制,即OAuth 2
  API 调用需要获取用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(也就是我们自己在第三步创建的应用),Resource Owner指的是一个user,Authorization Server 是我们的授权 Server,Resource Server 是一个 API server。
  从流程图中可以看出,为了调用API服务器内容,需要将访问令牌告知API服务器;用户获得授权后,将访问令牌返回给新浪(授权服务器)创建的应用程序;为了完成用户授权,我们应用程序首先要给用户授权页面(授权请求)。
  
  微博API的授权机制(来自微博开放平台开发文档)
  用户授权后,浏览器的URL如下所示:
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经得到用户的授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,从API服务器获取微博数据。
  了解了上面的机制后,我们就知道如何编写代码来调用API了。
  step3:在微博开放平台上创建自己的应用
  现在让我们创建我们自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
  我们通过微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序机密。您可以在“我的申请-申请信息-基本信息”中查看,用于授权。注意:无需提交审核,只需提供应用密钥和应用密钥即可。
  如果是异地web应用或者手机客户端应用,出于安全考虑,需要填写平台的redirect_url(授权回调页面)网站使用OAuth2.0。填写地址为“我的申请&gt;申请信息&gt;高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:
  
  我的申请-申请信息-高级信息
  step4:python代码实现
  首先,导入所需的模块:
  from weibo import APIClient
import webbrowser #python内置的包,支持对浏览器进行操作
  使用微博 SDK 创建我们的应用程序:
  APP_KEY = '123456'
APP_SECRET = 'abc123xyz456'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html' #回调授权页面,用户完成授权后返回的页面
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
  授权页面的url(%3A//oauth2/default.html&amp;response_type=code&amp;client_id=729983294)。用webbrowser打开这个url,会唤醒浏览器打开
  url=client.get_authorize_url() #得到授权页面的url
webbrowser.open_new(url) #打开这个url
  
  打开授权页面的url
  用户完成授权后,URL 如下所示:。我们需要code=后面的内容。
  print '输入url中code后面的内容后按回车键:'
code = raw_input()
  使用代码获取访问令牌:
  r = client.request_access_token(code)
access_token = r.access_token # 新浪(授权服务器)返回的token
expires_in = r.expires_in
  您可以打印 r 以查看里面的内容:
  print(r)
{'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
  设置access_token后,可以直接调用API:
  client.set_access_token(access_token, expires_in)
  输出最新的公众微博:
  print(client.statuses__public_timeline)
  返回的具体内容可以在微博API文档中找到。
  例如,我们可以输出用户的昵称、个人资料、位置和微博:
  for i in range(0,length):
print(u'昵称:'+statuses[i]['user']['screen_name'])
print(u'简介:'+statuses[i]['user']['description'])
print(u'位置:'+statuses[i]['user']['location'])
print(u'微博:'+statuses[i]['text'])
  
  最新公开微博
  参考资料:
  Python调用微博API
  如何通过python调用新浪微博的API 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用python调用微博API的授权机制是什么?如何使用)
  不用稻草做砖。
  数据采集​​是数据分析的前提。许多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博API列表。
  本文将初步介绍如何使用微博API获取基本概念和理解,方便后面深入理解。
  step1:使用python调用微博API,首先下载python SDK,即sinaweibopy
  Sinaweibopy是一款Python专用的OAuth 2客户端,支持微博API,无依赖,100%纯Py,单文件,代码简单,运行可靠,也是新浪微博的Python SDK。
  可以直接通过pip安装:
  pip install sinaweibopy
  什么是SDK?SDK的英文全称是软件开发工具包(software development kit)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。为应用编写代码时,无需重复编写在实际屏幕上绘制文本等代码。SDK 可以帮助您做到这一点。简而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
  step2:了解新浪微博的授权机制,即OAuth 2
  API 调用需要获取用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(也就是我们自己在第三步创建的应用),Resource Owner指的是一个user,Authorization Server 是我们的授权 Server,Resource Server 是一个 API server。
  从流程图中可以看出,为了调用API服务器内容,需要将访问令牌告知API服务器;用户获得授权后,将访问令牌返回给新浪(授权服务器)创建的应用程序;为了完成用户授权,我们应用程序首先要给用户授权页面(授权请求)。
  
  微博API的授权机制(来自微博开放平台开发文档)
  用户授权后,浏览器的URL如下所示:
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经得到用户的授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,从API服务器获取微博数据。
  了解了上面的机制后,我们就知道如何编写代码来调用API了。
  step3:在微博开放平台上创建自己的应用
  现在让我们创建我们自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
  我们通过微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序机密。您可以在“我的申请-申请信息-基本信息”中查看,用于授权。注意:无需提交审核,只需提供应用密钥和应用密钥即可。
  如果是异地web应用或者手机客户端应用,出于安全考虑,需要填写平台的redirect_url(授权回调页面)网站使用OAuth2.0。填写地址为“我的申请&gt;申请信息&gt;高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:
  
  我的申请-申请信息-高级信息
  step4:python代码实现
  首先,导入所需的模块:
  from weibo import APIClient
import webbrowser #python内置的包,支持对浏览器进行操作
  使用微博 SDK 创建我们的应用程序:
  APP_KEY = '123456'
APP_SECRET = 'abc123xyz456'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html' #回调授权页面,用户完成授权后返回的页面
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
  授权页面的url(%3A//oauth2/default.html&amp;response_type=code&amp;client_id=729983294)。用webbrowser打开这个url,会唤醒浏览器打开
  url=client.get_authorize_url() #得到授权页面的url
webbrowser.open_new(url) #打开这个url
  
  打开授权页面的url
  用户完成授权后,URL 如下所示:。我们需要code=后面的内容。
  print '输入url中code后面的内容后按回车键:'
code = raw_input()
  使用代码获取访问令牌:
  r = client.request_access_token(code)
access_token = r.access_token # 新浪(授权服务器)返回的token
expires_in = r.expires_in
  您可以打印 r 以查看里面的内容:
  print(r)
{'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
  设置access_token后,可以直接调用API:
  client.set_access_token(access_token, expires_in)
  输出最新的公众微博:
  print(client.statuses__public_timeline)
  返回的具体内容可以在微博API文档中找到。
  例如,我们可以输出用户的昵称、个人资料、位置和微博:
  for i in range(0,length):
print(u'昵称:'+statuses[i]['user']['screen_name'])
print(u'简介:'+statuses[i]['user']['description'])
print(u'位置:'+statuses[i]['user']['location'])
print(u'微博:'+statuses[i]['text'])
  
  最新公开微博
  参考资料:
  Python调用微博API
  如何通过python调用新浪微博的API

使用新浪微博开放平台api同步微博内容至自己网站(我要开发自己的微博应用(App),(组图))

网站优化优采云 发表了文章 • 0 个评论 • 41 次浏览 • 2021-12-08 22:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发自己的微博应用(App),(组图))
  OAuth和新浪微博开放平台介绍我之前在新浪微博上创建了一个应用,并获得了App key和Secret key,以便调用新浪微博开放平台API来了解它的全部内容。前几天,连续4天没课,于是我就耐心的摸索API的使用方法。新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有一些基础接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我没有 不要放弃试图理解它。废话少说,以下是我的学习过程****。如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。
  因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。刚接触OAuth的时候,完全没有概念,觉得没办法学。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下: OAUTH协议介绍 基于OAuth安全协议的Java应用编程 在***应用中使用OAuth OAuth有3个参与者,分别是User、Service Provider、Consumer。假设我想为其他新浪微博用户开发一个基于新浪微博开放平台的应用程序(App)。它们的对应关系如下: User =&gt; 新浪微博用户想要使用这个App Provider =&gt; 新浪微博开放平台Consumer =&gt; App 其实我们的App就相当于User和Provider(新浪微博平台)的一个第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。下面是根据我对整个OAuth认证授权流程的理解画的图(可以跳过,对下面的一些概念有一定了解的时候再看这个流程图): 结合上面的流程图,下面这是我对这些术语和每个过程的描述的理解:Consumer key和Consumer Secret:
  消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。对应上图中的流程1和流程2。Request Token、Request Secret:当用户访问Consumer并希望获得其特殊服务时,该服务会在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。对应上图中的流程3、4、5。处理6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后消费者可以开始使用 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发自己的微博应用(App),(组图))
  OAuth和新浪微博开放平台介绍我之前在新浪微博上创建了一个应用,并获得了App key和Secret key,以便调用新浪微博开放平台API来了解它的全部内容。前几天,连续4天没课,于是我就耐心的摸索API的使用方法。新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有一些基础接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我没有 不要放弃试图理解它。废话少说,以下是我的学习过程****。如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。
  因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。刚接触OAuth的时候,完全没有概念,觉得没办法学。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下: OAUTH协议介绍 基于OAuth安全协议的Java应用编程 在***应用中使用OAuth OAuth有3个参与者,分别是User、Service Provider、Consumer。假设我想为其他新浪微博用户开发一个基于新浪微博开放平台的应用程序(App)。它们的对应关系如下: User =&gt; 新浪微博用户想要使用这个App Provider =&gt; 新浪微博开放平台Consumer =&gt; App 其实我们的App就相当于User和Provider(新浪微博平台)的一个第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。下面是根据我对整个OAuth认证授权流程的理解画的图(可以跳过,对下面的一些概念有一定了解的时候再看这个流程图): 结合上面的流程图,下面这是我对这些术语和每个过程的描述的理解:Consumer key和Consumer Secret:
  消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。对应上图中的流程1和流程2。Request Token、Request Secret:当用户访问Consumer并希望获得其特殊服务时,该服务会在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。对应上图中的流程3、4、5。处理6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后消费者可以开始使用

使用新浪微博开放平台api同步微博内容至自己网站( 腾讯微博开放平台合作方式介绍2011-01-26目录(组图))

网站优化优采云 发表了文章 • 0 个评论 • 51 次浏览 • 2021-12-06 03:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
腾讯微博开放平台合作方式介绍2011-01-26目录(组图))
  
  腾讯微博开放平台合作方式介绍 2011-01-26 目录 什么是腾讯微博开放平台 腾讯微博开放API介绍 典型应用类型 i微博系统介绍 开放平台数据服务 什么是腾讯微博开放平台 广大开发者提供开放接口构建丰富多样的应用开放平台,为用户提供多种典型应用辅助开发。三方迅速搭建了自己的微博系统,并与腾讯微博平台进行沟通,充分利用腾讯用户和信息资源。第三方应用可以从微博获取海量信息或向千万用户传播信息,获得营销推广机会。开放的数据共享和传播服务加上你的智慧,将创造无穷的功能和乐趣。腾讯微博开放API提供以下功能接口。第三方可以使用这些 API 来开发自己的微博应用程序。用户授权微博阅读、写作、收听和搜索用户。微博话题乘法口算100题七年级有理数混合计算100题计算机一级题库二元线性方程应用题真话大冒险刺激题私信采集详细API说明,请看httpopentqqcomresourcephpi11腾讯微博开放API介绍 典型应用介绍 使用腾讯微博开放API可以实现丰富的微博应用形式,包括账号连接,
  
  典型应用介绍 4 用户互动 一键转播至腾讯微博网页图片、视频从本站微博新闻评论返回网站作为内容,促进用户交流。典型应用介绍 5 小工具、小游戏 使用微博API还可以为第三方实现各种小工具、小游戏。为了更丰富的内容和乐趣,比如在微博上给朋友点歌,用户信息统计工具,比如分析发微博的习惯,你平时什么时候睡觉等。上传文件到微博,在微博、美图秀秀上发布下载链接,卡通身份证微博投票九宫格日记iweibo系统什么是iweiboiweibo是基于腾讯微博API开发的免费开源微博系统合作伙伴合作伙伴iweiboiweiboi微博系统具备腾讯微博的所有功能基于腾讯微博开放平台API开发即可在任何第三方服务器中设置为第三方网站提供微博功能。用户可以获取和修改源代码。添加特殊功能。账号资料系统与腾讯微博平台全对接腾讯微博平台提供稳定的后台服务和信息审核保障施工计划示例,结构施工计划,
  
  博客全功能运营管理后台接入腾讯微博账号。同步用户信息收听关系。操作和前端显示定制。管理后端可以轻松定制。面向用户的操作推荐元素页面代码完全开源,可定制。平台审核管理 无审核风险 自动安装 按照安装向导提示,自动完成iweibo系统的部署。高兼容性 品牌营销机遇 强大的平台支持8000万微博用户资源,从腾讯微博获取优质内容,通过腾讯微博平台的审核管理,降低网民互动障碍,增加网民参与度。提供管理后台快速定制前端操作元素 i微博能给你带来什么样的强大平台来支持拥有8000万注册用户的腾讯微博。这些用户可能会成为新华网的忠实粉丝,并从腾讯微博获取优质内容。1 微博内容自然丰富,可以通过列表话题等方式进行搜索,腾讯微博的信息输出到i微博,获取最即时、最丰富、最活跃、最火的微博消息 2 紧急突发事件通过腾讯微博审核提供现场最新鲜的信息内容 1 所有i微博内容通过腾讯微博审核合作伙伴 无审核压力 2 专业审核团队24小时待命,删除不良内容iweibo 随时 3 提供微博评论关键词屏蔽删除功能,降低网民参与门槛,提高网民参与度 1 微博内容短发布门槛低,自然有利于用户加入 2 微博更有利于增加网民的活动超过了传统的论坛、博客等形式。3 微博转播、评论、对话、私信等功能有利于网友互动,提供管理后台,快速定制前端操作元素,全面管理后台。方便i微博管理前端内容展示,方便账号话题推广等,在腾讯微博上获得品牌营销机会。1 合作伙伴官方微信
  
  博已获得腾讯认证和推荐,并在显要位置获得曝光。粉丝增加了。2 微博来源显示合作伙伴网址和网站名称。微博曝光机会 自动化部署能给你带来什么?微博功能齐全吗?运营管理后台系统 完全开源,支持定制开发。从腾讯微博获取最大量的用户资源或向千万级用户传播信息,在高端用户平台获取营销推广机会。使用开放的数据检索和传播服务,获取最实时的信息。海量数据下的稳定后端。超大规模用户在线承载用户信息和数据安全。评论,采集,搜索,对应iweibo功能,用户推荐话题推荐、热点话题管理、屏蔽功能、i微博基本功能,以证券时报为例,i微博首页满足微博用户的基本需求,输入方式更快,支持话题输入和上传图片 浏览看看每个人都在谈论。搜索框提供最快的支持查找你感兴趣的人列表、微博话题等。我的首页时时提醒你各种动态评论、广播、采集、私信等。在证券时报。示例详情展示合作伙伴品牌定制logo i微博可以自定义专属合作伙伴logo,重点突出合作伙伴展示适合合作伙伴的话题。合作伙伴可以根据自己的媒体领域自定义自己领域的话题。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。
  
  从证券微博点击可直接跳转到证券微博首页。微博和腾讯微博开放,增加合作伙伴在腾讯微博的曝光度。同时,通过来源点击还可以给合作伙伴带来点击 iweibo iweibo 定制功能 iweibo 定制功能更加多样化。可以根据媒体属性定制适合合作伙伴定位的话题媒体类别,例如《证券时报》的证券话题推荐。用户自定义 可以自定义 一定数量的用户推送到iweibo 用户数量可以在后台设置热点话题。定制化可基于合作方定位进行热点话题管理,基于iweibo API功能向网友展示不同内容,使用iweibo的合作网站您可以使用基于腾讯微博的API接口自定义更多功能。如何实现排行榜话题分类iweibo功能的基本功能 1、按照安装向导的提示,自动完成iweibo系统的部署。它方便快捷。2 兼容多种服务器配置定制功能。话题管理推荐话题定制等功能2i微博页面代码完全开源,可定制和个性化的前端展示 i微博管理后台介绍 i微博管理后台主要功能 推荐管理 推荐话题定制 推荐用户定制 热门话题设置 模块启用设置等四模块显示设置 包括自定义logo页页脚设置等二模块屏蔽设置,包括关键词屏蔽、微博屏蔽、评论屏蔽等模块。帐户系统设置包括帐户管理和更改密码。两个模块合作伙伴网站
  
  根据评论内容或评论微博ID屏蔽评论。黑名单管理。将敏感内容垃圾邮件的id拉入黑名单。他们播放的内容不会出现在iweibo腾讯微博上。博客平台实时数据、用户关系、腾讯微博审核、后台审核团队i微博展示内容、i微博管理后台相关屏蔽功能、活跃社区氛围促进用户交流。成功安装iweibo后,用户可以从网站触发iweibo使用完整的微博功能iweibo的使用场景用户可以通过简单的点击从网站触发微博功能,使用授权账号进入iweibo微博释放区。微博信息展示,在iweibo中发送微博信息,并同步到腾讯微博数千万用户平台获得营销机会。i微博的使用场景为开放平台数据服务数据服务1开放平台提供腾讯微博平台管理的所有数据,有效规避第三方实时数据审计风险2开放平台可以为第三方应用提供消息读写数据用户授权 登录数据通过一键播报功能,生成腾讯微博每日发帖数等数据,协助第三方了解自身运营情况,并根据数据完善自身产品 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
腾讯微博开放平台合作方式介绍2011-01-26目录(组图))
  
  腾讯微博开放平台合作方式介绍 2011-01-26 目录 什么是腾讯微博开放平台 腾讯微博开放API介绍 典型应用类型 i微博系统介绍 开放平台数据服务 什么是腾讯微博开放平台 广大开发者提供开放接口构建丰富多样的应用开放平台,为用户提供多种典型应用辅助开发。三方迅速搭建了自己的微博系统,并与腾讯微博平台进行沟通,充分利用腾讯用户和信息资源。第三方应用可以从微博获取海量信息或向千万用户传播信息,获得营销推广机会。开放的数据共享和传播服务加上你的智慧,将创造无穷的功能和乐趣。腾讯微博开放API提供以下功能接口。第三方可以使用这些 API 来开发自己的微博应用程序。用户授权微博阅读、写作、收听和搜索用户。微博话题乘法口算100题七年级有理数混合计算100题计算机一级题库二元线性方程应用题真话大冒险刺激题私信采集详细API说明,请看httpopentqqcomresourcephpi11腾讯微博开放API介绍 典型应用介绍 使用腾讯微博开放API可以实现丰富的微博应用形式,包括账号连接,
  
  典型应用介绍 4 用户互动 一键转播至腾讯微博网页图片、视频从本站微博新闻评论返回网站作为内容,促进用户交流。典型应用介绍 5 小工具、小游戏 使用微博API还可以为第三方实现各种小工具、小游戏。为了更丰富的内容和乐趣,比如在微博上给朋友点歌,用户信息统计工具,比如分析发微博的习惯,你平时什么时候睡觉等。上传文件到微博,在微博、美图秀秀上发布下载链接,卡通身份证微博投票九宫格日记iweibo系统什么是iweiboiweibo是基于腾讯微博API开发的免费开源微博系统合作伙伴合作伙伴iweiboiweiboi微博系统具备腾讯微博的所有功能基于腾讯微博开放平台API开发即可在任何第三方服务器中设置为第三方网站提供微博功能。用户可以获取和修改源代码。添加特殊功能。账号资料系统与腾讯微博平台全对接腾讯微博平台提供稳定的后台服务和信息审核保障施工计划示例,结构施工计划,
  
  博客全功能运营管理后台接入腾讯微博账号。同步用户信息收听关系。操作和前端显示定制。管理后端可以轻松定制。面向用户的操作推荐元素页面代码完全开源,可定制。平台审核管理 无审核风险 自动安装 按照安装向导提示,自动完成iweibo系统的部署。高兼容性 品牌营销机遇 强大的平台支持8000万微博用户资源,从腾讯微博获取优质内容,通过腾讯微博平台的审核管理,降低网民互动障碍,增加网民参与度。提供管理后台快速定制前端操作元素 i微博能给你带来什么样的强大平台来支持拥有8000万注册用户的腾讯微博。这些用户可能会成为新华网的忠实粉丝,并从腾讯微博获取优质内容。1 微博内容自然丰富,可以通过列表话题等方式进行搜索,腾讯微博的信息输出到i微博,获取最即时、最丰富、最活跃、最火的微博消息 2 紧急突发事件通过腾讯微博审核提供现场最新鲜的信息内容 1 所有i微博内容通过腾讯微博审核合作伙伴 无审核压力 2 专业审核团队24小时待命,删除不良内容iweibo 随时 3 提供微博评论关键词屏蔽删除功能,降低网民参与门槛,提高网民参与度 1 微博内容短发布门槛低,自然有利于用户加入 2 微博更有利于增加网民的活动超过了传统的论坛、博客等形式。3 微博转播、评论、对话、私信等功能有利于网友互动,提供管理后台,快速定制前端操作元素,全面管理后台。方便i微博管理前端内容展示,方便账号话题推广等,在腾讯微博上获得品牌营销机会。1 合作伙伴官方微信
  
  博已获得腾讯认证和推荐,并在显要位置获得曝光。粉丝增加了。2 微博来源显示合作伙伴网址和网站名称。微博曝光机会 自动化部署能给你带来什么?微博功能齐全吗?运营管理后台系统 完全开源,支持定制开发。从腾讯微博获取最大量的用户资源或向千万级用户传播信息,在高端用户平台获取营销推广机会。使用开放的数据检索和传播服务,获取最实时的信息。海量数据下的稳定后端。超大规模用户在线承载用户信息和数据安全。评论,采集,搜索,对应iweibo功能,用户推荐话题推荐、热点话题管理、屏蔽功能、i微博基本功能,以证券时报为例,i微博首页满足微博用户的基本需求,输入方式更快,支持话题输入和上传图片 浏览看看每个人都在谈论。搜索框提供最快的支持查找你感兴趣的人列表、微博话题等。我的首页时时提醒你各种动态评论、广播、采集、私信等。在证券时报。示例详情展示合作伙伴品牌定制logo i微博可以自定义专属合作伙伴logo,重点突出合作伙伴展示适合合作伙伴的话题。合作伙伴可以根据自己的媒体领域自定义自己领域的话题。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。
  
  从证券微博点击可直接跳转到证券微博首页。微博和腾讯微博开放,增加合作伙伴在腾讯微博的曝光度。同时,通过来源点击还可以给合作伙伴带来点击 iweibo iweibo 定制功能 iweibo 定制功能更加多样化。可以根据媒体属性定制适合合作伙伴定位的话题媒体类别,例如《证券时报》的证券话题推荐。用户自定义 可以自定义 一定数量的用户推送到iweibo 用户数量可以在后台设置热点话题。定制化可基于合作方定位进行热点话题管理,基于iweibo API功能向网友展示不同内容,使用iweibo的合作网站您可以使用基于腾讯微博的API接口自定义更多功能。如何实现排行榜话题分类iweibo功能的基本功能 1、按照安装向导的提示,自动完成iweibo系统的部署。它方便快捷。2 兼容多种服务器配置定制功能。话题管理推荐话题定制等功能2i微博页面代码完全开源,可定制和个性化的前端展示 i微博管理后台介绍 i微博管理后台主要功能 推荐管理 推荐话题定制 推荐用户定制 热门话题设置 模块启用设置等四模块显示设置 包括自定义logo页页脚设置等二模块屏蔽设置,包括关键词屏蔽、微博屏蔽、评论屏蔽等模块。帐户系统设置包括帐户管理和更改密码。两个模块合作伙伴网站
  
  根据评论内容或评论微博ID屏蔽评论。黑名单管理。将敏感内容垃圾邮件的id拉入黑名单。他们播放的内容不会出现在iweibo腾讯微博上。博客平台实时数据、用户关系、腾讯微博审核、后台审核团队i微博展示内容、i微博管理后台相关屏蔽功能、活跃社区氛围促进用户交流。成功安装iweibo后,用户可以从网站触发iweibo使用完整的微博功能iweibo的使用场景用户可以通过简单的点击从网站触发微博功能,使用授权账号进入iweibo微博释放区。微博信息展示,在iweibo中发送微博信息,并同步到腾讯微博数千万用户平台获得营销机会。i微博的使用场景为开放平台数据服务数据服务1开放平台提供腾讯微博平台管理的所有数据,有效规避第三方实时数据审计风险2开放平台可以为第三方应用提供消息读写数据用户授权 登录数据通过一键播报功能,生成腾讯微博每日发帖数等数据,协助第三方了解自身运营情况,并根据数据完善自身产品

使用新浪微博开放平台api同步微博内容至自己网站(开发总流程图让你的应用在新浪微博开放平台上运营 )

网站优化优采云 发表了文章 • 0 个评论 • 70 次浏览 • 2021-12-04 07:10 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(开发总流程图让你的应用在新浪微博开放平台上运营
)
  饭子原创,欢迎转载,请注明出处:
  ps 本文项目使用java语言eclipse平台开发,配置过程也是以此为基础。
  开发流程图
  让您的应用程序在新浪微博开放平台上运行,您只需要通过六个简单的步骤:
  
  成为开发者
  1.创建微博账号
  在开发者页面点击“登录”或“创建应用”,通过账号登录成为开发者。一个新浪微博账号可以管理10个不同的应用程序。建议开发者使用官方微博进行统一管理。
  
  2.选择应用类型
  单击“创建应用程序”,进入目标应用程序的类型选择链接。根据应用类型的提示,选择对应的应用创建流程。创建应用程序时,我选择的类型是“其他”,因为我想开发一个java客户端软件。(里面的信息可以随意填写,等开发完应用回来修改。)创建完成后,系统会分配一个App Key和App Secret来验证开发者的身份,写下来,使用以后吧。
  
  3.开发者信息设置
  在开发者信息设置页面填写信息。成为新浪微博认证开发者,需要通过邮箱验证和手机验证。
  注意:开发者类型一经填写,不可修改。个人开发者不得接入微博支付服务,请谨慎选择。
  
  应用开发
  1. 下载SDK源码
  进入下载sdk,下载后解压,作为项目导入eclipse。
  2. 解决授权错误
  解决填写回调地址导致的error:redirect_uri_mismatch导致获取用户授权的问题。
  登录新浪微博开放平台→选择管理中心→点击所需应用名称进入对应应用→左侧应用信息→高级信息→OAuth2.0授权设置点击编辑→站点应用redirect_uri等于将申请信息中的“in site”改为“申请地址”,而不是“申请实际地址”;其他应用:redirect_uri需要改为
  *****/info/advanced(用您的应用程序的 AppKey 替换 30871*****)。
  如果你是异地web应用或者客户端应用,填写redirect_uri地址:
  应用APPKEY/权限/oauth
  注意:修改应用回调页面或绑定域名后,大约需要半小时才能生效。
  3. 填写相关配置
  在eclipse项目中,填写相关配置:在Config.properties中
  客户端 ID:应用密钥
  client_SERCRET: app_secret
  redirect_URI:回调地址(这个需要和步骤3的redirect_uri一致)
  4. 修改项目代码
  在eclipse项目中,修改weibo4j.examples.oauth2.OAuth4Code.java文件,注释第14、15行,然后插入如下代码:
  BareBonesBrowserLaunch.openURL(oauth.authorize("code","",""));
  修改后的结果如图:
  
  5. 授权
  首先运行新修改的weibo4j.examples.oauth2.OAuth4Code.java文件,引导需要授权的用户进入授权页面。如果用户同意授权,点击“授权”。系统回调应用,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE 换取AccessToken。
  
  记录回调应用后网页地址栏中“代码”后面的AccessToken:
  
  授权级别与OAuth2.0access_token有效期对应表:
  授权级别测试普通中级高级
  授权期限为1天、7天、30天、90天
  笔记:
  只有没有经过文案审查的应用程序才处于测试级别。
  当应用属于授权应用的开发者时,有效期为5年。
  access_token 自动延续方案
  如果用户在授权有效期内重新打开授权页面授权(如果用户此时有微博登录状态,此页面会闪过),那么新浪会自动为开发者延长access_token的生命周期,并且需要开发者维护一个新的授权然后获取access_token值。
  如何查询当前应用的授权级别
  可以在应用APPKEY/privilege/oauth上查询当前应用的授权级别。
  6. 测试
  如果你想获取某个用户的信息,你可以运行
  weibo4j.examples.user.ShowUser文件需要在RunConfigurations中配置两个参数,被查看用户的用户id和刚才的“code”代码。
  运行结果显示在命令行中:
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(开发总流程图让你的应用在新浪微博开放平台上运营
)
  饭子原创,欢迎转载,请注明出处:
  ps 本文项目使用java语言eclipse平台开发,配置过程也是以此为基础。
  开发流程图
  让您的应用程序在新浪微博开放平台上运行,您只需要通过六个简单的步骤:
  
  成为开发者
  1.创建微博账号
  在开发者页面点击“登录”或“创建应用”,通过账号登录成为开发者。一个新浪微博账号可以管理10个不同的应用程序。建议开发者使用官方微博进行统一管理。
  
  2.选择应用类型
  单击“创建应用程序”,进入目标应用程序的类型选择链接。根据应用类型的提示,选择对应的应用创建流程。创建应用程序时,我选择的类型是“其他”,因为我想开发一个java客户端软件。(里面的信息可以随意填写,等开发完应用回来修改。)创建完成后,系统会分配一个App Key和App Secret来验证开发者的身份,写下来,使用以后吧。
  
  3.开发者信息设置
  在开发者信息设置页面填写信息。成为新浪微博认证开发者,需要通过邮箱验证和手机验证。
  注意:开发者类型一经填写,不可修改。个人开发者不得接入微博支付服务,请谨慎选择。
  
  应用开发
  1. 下载SDK源码
  进入下载sdk,下载后解压,作为项目导入eclipse。
  2. 解决授权错误
  解决填写回调地址导致的error:redirect_uri_mismatch导致获取用户授权的问题。
  登录新浪微博开放平台→选择管理中心→点击所需应用名称进入对应应用→左侧应用信息→高级信息→OAuth2.0授权设置点击编辑→站点应用redirect_uri等于将申请信息中的“in site”改为“申请地址”,而不是“申请实际地址”;其他应用:redirect_uri需要改为
  *****/info/advanced(用您的应用程序的 AppKey 替换 30871*****)。
  如果你是异地web应用或者客户端应用,填写redirect_uri地址:
  应用APPKEY/权限/oauth
  注意:修改应用回调页面或绑定域名后,大约需要半小时才能生效。
  3. 填写相关配置
  在eclipse项目中,填写相关配置:在Config.properties中
  客户端 ID:应用密钥
  client_SERCRET: app_secret
  redirect_URI:回调地址(这个需要和步骤3的redirect_uri一致)
  4. 修改项目代码
  在eclipse项目中,修改weibo4j.examples.oauth2.OAuth4Code.java文件,注释第14、15行,然后插入如下代码:
  BareBonesBrowserLaunch.openURL(oauth.authorize("code","",""));
  修改后的结果如图:
  
  5. 授权
  首先运行新修改的weibo4j.examples.oauth2.OAuth4Code.java文件,引导需要授权的用户进入授权页面。如果用户同意授权,点击“授权”。系统回调应用,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE 换取AccessToken。
  
  记录回调应用后网页地址栏中“代码”后面的AccessToken:
  
  授权级别与OAuth2.0access_token有效期对应表:
  授权级别测试普通中级高级
  授权期限为1天、7天、30天、90天
  笔记:
  只有没有经过文案审查的应用程序才处于测试级别。
  当应用属于授权应用的开发者时,有效期为5年。
  access_token 自动延续方案
  如果用户在授权有效期内重新打开授权页面授权(如果用户此时有微博登录状态,此页面会闪过),那么新浪会自动为开发者延长access_token的生命周期,并且需要开发者维护一个新的授权然后获取access_token值。
  如何查询当前应用的授权级别
  可以在应用APPKEY/privilege/oauth上查询当前应用的授权级别。
  6. 测试
  如果你想获取某个用户的信息,你可以运行
  weibo4j.examples.user.ShowUser文件需要在RunConfigurations中配置两个参数,被查看用户的用户id和刚才的“code”代码。
  运行结果显示在命令行中:
  

使用新浪微博开放平台api同步微博内容至自己网站(初涉外网资源的互联网系统摸索了很长时间无力吐槽)

网站优化优采云 发表了文章 • 0 个评论 • 54 次浏览 • 2021-12-04 06:22 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(初涉外网资源的互联网系统摸索了很长时间无力吐槽)
  最近在做一些利用三方资源的事情。由于之前做企业管理(ERP)内网系统,我一直在探索涉及外网资源的互联网系统。
  对于网上泛滥的各种教程,我实在是无力吐槽。决定分享一下这段时间遇到的各种问题和相应的解决方法。教程分为两个阶段:一是账号登录,二是三方账号与本地账号的绑定。你可以放心,到代码级别就可以了。
  第 1 部分:三方登录:
  1.去新浪微博开放平台做的事情:
  请耐心阅读,一步一步操作,如图:
  ①进入
  
  ②在微连接中选择“网站访问”:
  
  ③选择立即连接:
  
  请注意,如果您此时未登录,或登录后微博检测到您不是开发者,请填写并查看开发者信息。审核会很快,点击即可通过验证(身份验证)
  ④填写网站信息,然后添加标签到您的网站首页。本地添加后(在eclipse等开发ide的项目主页添加这个),然后重新发布到自己的服务器上,(可以重新打包成war包发布到网上。比如我用腾讯的阿里云托管)。确认以上步骤完成后,点击“验证并添加”,微博中的某段代码会自动读取你在项目首页添加的header,如果有则验证成功。
  
  ⑤经过以上过程,你的网站已经添加成功。这时候微博会发给你你的网站 appKey,(appkey)是你的网站的唯一标识。
  查找您自己的 appkey,如下所示:
  点击我的申请:
  
  这时候会有appkey的值,你一定会看到
  完成这些步骤后,请设置您的授权回调页面:
  解释
  1.授权回调页面是用户登录您使用微博账号访问的网站(您的网站首页或其他页面)
  2. 通俗地说,就是用户在成功授权你的应用后(登录成功后)被重定向到的页面。
  设置如下
  点击上图中的界面管理:
  
  然后点击授权机制,右侧页面有授权回调页面的设置:
  
  点击编辑,修改为自己的网站首页或对应的授权回调页面。(如:(优雅的restful url))等。
  此时,网站的应用访问已经完成。骚年,开始写代码。
  在首页或登录界面设置登录按钮,这里我们选择后者(仅用于测试目的,实际开发应该在首页显示登录按钮,点击登录按钮后,页面跳转到登录界面,在此界面有新浪微博的登录按钮)注意微博有登录组件,这里我们使用自定义按钮:
  进行如下操作:
  ①. 在 weibo.js 中引入
  
  appkey=写你的应用密钥网站。
  ②. 设置您的登录按钮
  
  ③. 在微博登录按钮上设置一个 οnclick="weibologin()" 事件:
  
  ④编写用户授权登录和绑定的js代码:
  
  隐藏表单如下所示:
  
  Spring 安全框架用于用户认证和授权。
  基本上就是这种情况。相信想做这个的人也懂ajax。由于后端代码比较保密,不能写。ajax请求对应的服务端处理代码,请自行完成,基本流程是这样的,有不懂的请留言::1061328217
  一切平安。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(初涉外网资源的互联网系统摸索了很长时间无力吐槽)
  最近在做一些利用三方资源的事情。由于之前做企业管理(ERP)内网系统,我一直在探索涉及外网资源的互联网系统。
  对于网上泛滥的各种教程,我实在是无力吐槽。决定分享一下这段时间遇到的各种问题和相应的解决方法。教程分为两个阶段:一是账号登录,二是三方账号与本地账号的绑定。你可以放心,到代码级别就可以了。
  第 1 部分:三方登录:
  1.去新浪微博开放平台做的事情:
  请耐心阅读,一步一步操作,如图:
  ①进入
  
  ②在微连接中选择“网站访问”:
  
  ③选择立即连接:
  
  请注意,如果您此时未登录,或登录后微博检测到您不是开发者,请填写并查看开发者信息。审核会很快,点击即可通过验证(身份验证)
  ④填写网站信息,然后添加标签到您的网站首页。本地添加后(在eclipse等开发ide的项目主页添加这个),然后重新发布到自己的服务器上,(可以重新打包成war包发布到网上。比如我用腾讯的阿里云托管)。确认以上步骤完成后,点击“验证并添加”,微博中的某段代码会自动读取你在项目首页添加的header,如果有则验证成功。
  
  ⑤经过以上过程,你的网站已经添加成功。这时候微博会发给你你的网站 appKey,(appkey)是你的网站的唯一标识。
  查找您自己的 appkey,如下所示:
  点击我的申请:
  
  这时候会有appkey的值,你一定会看到
  完成这些步骤后,请设置您的授权回调页面:
  解释
  1.授权回调页面是用户登录您使用微博账号访问的网站(您的网站首页或其他页面)
  2. 通俗地说,就是用户在成功授权你的应用后(登录成功后)被重定向到的页面。
  设置如下
  点击上图中的界面管理:
  
  然后点击授权机制,右侧页面有授权回调页面的设置:
  
  点击编辑,修改为自己的网站首页或对应的授权回调页面。(如:(优雅的restful url))等。
  此时,网站的应用访问已经完成。骚年,开始写代码。
  在首页或登录界面设置登录按钮,这里我们选择后者(仅用于测试目的,实际开发应该在首页显示登录按钮,点击登录按钮后,页面跳转到登录界面,在此界面有新浪微博的登录按钮)注意微博有登录组件,这里我们使用自定义按钮:
  进行如下操作:
  ①. 在 weibo.js 中引入
  
  appkey=写你的应用密钥网站。
  ②. 设置您的登录按钮
  
  ③. 在微博登录按钮上设置一个 οnclick="weibologin()" 事件:
  
  ④编写用户授权登录和绑定的js代码:
  
  隐藏表单如下所示:
  
  Spring 安全框架用于用户认证和授权。
  基本上就是这种情况。相信想做这个的人也懂ajax。由于后端代码比较保密,不能写。ajax请求对应的服务端处理代码,请自行完成,基本流程是这样的,有不懂的请留言::1061328217
  一切平安。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的开发api,公示如下公示)

网站优化优采云 发表了文章 • 0 个评论 • 46 次浏览 • 2021-12-04 06:22 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的开发api,公示如下公示)
  注:本文代码无效,请勿模仿,其他方法请参考scribe方法
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api来发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo公布如下,供大家了解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后读取最新的微博信息,最后演示如何发送一个简单的微博,其他可以通过相应的微博api进行处理,有这里没有仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用。查看示例以了解如何拨打电话。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient,将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名、密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名和密码。. 在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  API参考接口:
  整个代码如下:
  获取最新微博信息列表
  API参考接口:
  代码显示如下:
  发送微博消息
  api参考:
  代码显示如下:
  综上所述
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就完成了,后面都是json请求,然后传参数,拿到结果,再处理结果的问题。.
  值得注意的是,在获取access_token的第二步中,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。但是这种方式需要特殊的申请,具体的申请步骤比较复杂,必须经过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章: 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的开发api,公示如下公示)
  注:本文代码无效,请勿模仿,其他方法请参考scribe方法
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api来发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo公布如下,供大家了解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后读取最新的微博信息,最后演示如何发送一个简单的微博,其他可以通过相应的微博api进行处理,有这里没有仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用。查看示例以了解如何拨打电话。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient,将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名、密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名和密码。. 在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  API参考接口:
  整个代码如下:
  获取最新微博信息列表
  API参考接口:
  代码显示如下:
  发送微博消息
  api参考:
  代码显示如下:
  综上所述
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就完成了,后面都是json请求,然后传参数,拿到结果,再处理结果的问题。.
  值得注意的是,在获取access_token的第二步中,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。但是这种方式需要特殊的申请,具体的申请步骤比较复杂,必须经过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章:

使用新浪微博开放平台api同步微博内容至自己网站( 不用插件实现Wordpress文章同步微博代码贴到你主题的function.文件)

网站优化优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-12-04 06:18 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
不用插件实现Wordpress文章同步微博代码贴到你主题的function.文件)
  
  新浪微博的人气非常高。几乎每个人每天都会阅读微博。如果你能将你的wordpress文章同步到新浪微博,你可以获得大量的社交媒体流量。还有可以实现同步更新功能的插件,比如评论框。但是今天,我想在这篇文章中介绍的是,无需插件即可实现Wordpress文章 同步更新到新浪微博。
  1、申请新浪微博应用接入
  要实现微博同步功能,首先需要在新浪微博开发者中心申请权限,然后创建网站访问应用。使用您的新浪微博账号登录微博开放平台:。点击页面导航中的【编辑开发者信息】或访问:,根据页面表单内容填写信息,提交后等待审核。新浪评论一般需要1个左右的工作。审核通过后,即可创建应用。然后在微博开放平台首页点击橙色【立即创建微链接】-&gt;【网站访问】或直接访问填写好的申请信息,提交审核。应用审核时间会稍长。这段时间可以使用新浪的开放端口进行开发,
  2、Wordpress 同步新浪微博代码
  新浪微博有很多接口供开发者调用,根据需要,我们只需要了解更新发布接口即可。相关开发文档:. 根据开发文档,我们可以得到如下接口信息:
  
接口URL:https://api.weibo.com/2/statuses/repost.json
数据格式:JSON
请求方式:POST
请求参数:status(微博内容)、source(AppKey,从开发者中心我的应用中获取)
是否需要登陆:是
  根据以上微博界面信息,我们可以编写wordpress代码如下(appkey、用户名、用户密码需要自己替换):
  
/*
文章同步到新浪微博
代码来源: www.wpzhinan.com
*/
function post_to_sina_weibo($post_ID) {
if (wp_is_post_revision($post_ID)) return;//修订版本(更新)不发微博
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
$get_post_title = get_post($post_ID)->post_title;
if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') {
$appkey='3838258703';
$username='微博用户名';
$userpassword='微博密码';
$request = new WP_Http;
$status = '【' . strip_tags($get_post_title) . '】 ' . mb_strimwidth(strip_tags(apply_filters('the_content', $get_post_centent)) , 0, 132, '...') . ' 全文地址:' . get_permalink($post_ID);
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array('status' => $status,'source' => $appkey);
$headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword"));
$result = $request->post($api_url, array('body' => $body,'headers' => $headers));
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);//给发布文章增加一个分享微博的动作
  将上面的wordpress文章同步微博代码粘贴到你主题的function.php文件中。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
不用插件实现Wordpress文章同步微博代码贴到你主题的function.文件)
  
  新浪微博的人气非常高。几乎每个人每天都会阅读微博。如果你能将你的wordpress文章同步到新浪微博,你可以获得大量的社交媒体流量。还有可以实现同步更新功能的插件,比如评论框。但是今天,我想在这篇文章中介绍的是,无需插件即可实现Wordpress文章 同步更新到新浪微博。
  1、申请新浪微博应用接入
  要实现微博同步功能,首先需要在新浪微博开发者中心申请权限,然后创建网站访问应用。使用您的新浪微博账号登录微博开放平台:。点击页面导航中的【编辑开发者信息】或访问:,根据页面表单内容填写信息,提交后等待审核。新浪评论一般需要1个左右的工作。审核通过后,即可创建应用。然后在微博开放平台首页点击橙色【立即创建微链接】-&gt;【网站访问】或直接访问填写好的申请信息,提交审核。应用审核时间会稍长。这段时间可以使用新浪的开放端口进行开发,
  2、Wordpress 同步新浪微博代码
  新浪微博有很多接口供开发者调用,根据需要,我们只需要了解更新发布接口即可。相关开发文档:. 根据开发文档,我们可以得到如下接口信息:
  
接口URL:https://api.weibo.com/2/statuses/repost.json
数据格式:JSON
请求方式:POST
请求参数:status(微博内容)、source(AppKey,从开发者中心我的应用中获取)
是否需要登陆:是
  根据以上微博界面信息,我们可以编写wordpress代码如下(appkey、用户名、用户密码需要自己替换):
  
/*
文章同步到新浪微博
代码来源: www.wpzhinan.com
*/
function post_to_sina_weibo($post_ID) {
if (wp_is_post_revision($post_ID)) return;//修订版本(更新)不发微博
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
$get_post_title = get_post($post_ID)->post_title;
if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') {
$appkey='3838258703';
$username='微博用户名';
$userpassword='微博密码';
$request = new WP_Http;
$status = '【' . strip_tags($get_post_title) . '】 ' . mb_strimwidth(strip_tags(apply_filters('the_content', $get_post_centent)) , 0, 132, '...') . ' 全文地址:' . get_permalink($post_ID);
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array('status' => $status,'source' => $appkey);
$headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword"));
$result = $request->post($api_url, array('body' => $body,'headers' => $headers));
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);//给发布文章增加一个分享微博的动作
  将上面的wordpress文章同步微博代码粘贴到你主题的function.php文件中。

使用新浪微博开放平台api同步微博内容至自己网站(Java使用新浪微博API开发微博应用的相关知识和一些)

网站优化优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-12-03 16:01 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(Java使用新浪微博API开发微博应用的相关知识和一些)
  想了解Java使用新浪微博API开发微博应用的基本方法吗?在本文中,刘先安将仔细讲解Java使用微博API开发应用的相关知识以及一些代码示例。欢迎阅读和纠正我们。先划重点:Java、微博、API,大家一起学习。
  新浪微博API现已广泛使用,制作完整的开发流程Demo
  1、 第一步就是注册,就不多说了。注册账号,成为开发者账号。如果做不到,请立即砸电脑,拔掉网线,回家种田。
  2、第二步是创建一个应用程序。创建开发者账号后,打开新浪微博开发平台:
  点击上方菜单栏中的最后一个管理中心
  
  如果是web应用,选择创建网站访问的应用,然后根据新浪微博的要求,balabalabala自己做
  应用程序已创建。点击应用跳转到页面,点击查看应用参数,可以看到应用的相关参数,这些参数会在第四步用到。
  3、第三步下载SDK,回到顶部菜单栏,点击Documents,然后点击左侧菜单栏SDK,选择java sdk,下载balabala。如果您在这一步有任何问题,请回家种田。
  
  所谓sdk并不是sdk(个人觉得这个名字有点误导),而是一个可运行的项目。下载后解压,导入eclipse,可以看到src和example两个目录
  src是新浪微博的一部分
  example 是一个例子,一个界面的演示
  4、第四步配置参数,在src目录找到config.properties
  前三个参数需要配置为第二步中提到的应用参数中的参数。
  后者是默认的,不需要更改
  前三个参数配置如下
  client_ID 是应用程序密钥
  client_SERCRET 是 App Secret
  redirect_URI 就是OAuth2.0 授权回调URL 申请信息&gt;高级信息&gt;OAuth2.0 授权设置 下面这个授权回调页面就是你填写的一个URL,指向自己的服务器,当然下开发 在这个阶段,我们可以使用任何 URL,只要它能让我们了解 OAuth 授权过程。这里我们进入一个取消授权回调页面。也是如此。注意这里的 URL 字符串必须一致。
  5、第五步获取AccessToken。一般情况下,AccessToken必须通过OAuth2.0认证来获取,但是为了简单起见,我来说一个简单的方法。以后再说OAuth2.0
  仍然选择顶部菜单栏Document&gt;API&gt;API Test Tool
  选择创建的应用,点击获取AccessToken。下面的文本框就是我们想要的AccessToken
  
  6、 第六步做一个界面示例
  直接去微博API找一个已有权限的接口,
  随机找了一个用户发的微博status/user_timeline 用于测试
  
  点击该界面可以查看该界面的详细信息,可以查看该界面的各个传入参数和返回参数,不再赘述。
  不使用任何SDK实现Oauth授权,实现简单的微博发布功能:
  创建一个Java项目,编写如下代码。具体的流程代码已经写的很清楚了,这里就不解释了:
  请注意先将应用ID、应用密码和回调页面修改为您自己的!访问授权页面:
  
package com;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Scanner;
import javax.net.ssl.X509TrustManager;
/**
* @author 刘显安
* 不使用任何SDK实现新浪微博Oauth授权并实现发微薄小Demo
* 日期:2012年11月11日
*/
public class Test
{
static String clientId="2355065950";//你的应用ID
static String clientSecret="72037e76bee00315691d9c30dd8a386a";//你的应用密码
static String redirectUri="https://api.weibo.com/oauth2/default.html";//你在应用管理中心设置的回调页面

public static void main(String[] args) throws Exception
{
testHttps();//测试
//第一步:访问授权页面获取授权
System.out.println("请打开你的浏览器,访问以下页面,登录你的微博账号并授权:");
System.out.println("https://api.weibo.com/oauth2/a ... 6quot;);
//第二步:获取AccessToken
System.out.println("请将授权成功后的页面地址栏中的参数code:");
String code=new Scanner(System.in).next();
getAccessToken(code);
//第三步:发布一条微博
System.out.println("请输入上面返回的值中accessToken的值:");
String accessToken=new Scanner(System.in).next();
updateStatus("发布微博测试!来自WeiboDemo!", accessToken);
}
/**
* 测试能否正常访问HTTPS打头的网站,
*/
public static void testHttps()
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URL url=new URL("https://api.weibo.com/oauth2/default.html");
URLConnection con=url.openConnection();
con.getInputStream();
System.out.println("恭喜,访问HTTPS打头的网站正常!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 以Post方式访问一个URL
* @param url 要访问的URL
* @param parameters URL后面“?”后面跟着的参数
*/
public static void postUrl(String url,String parameters)
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URLConnection conn = new URL(url).openConnection();
conn.setDoOutput(true);// 这里是关键,表示我们要向链接里注入的参数
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());// 获得连接输出流
out.write(parameters);
out.flush();
out.close();
// 到这里已经完成了,开始打印返回的HTML代码
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 获取AccessToken
* @param code 在授权页面返回的Code
*/
public static void getAccessToken(String code)
{
String url="https://api.weibo.com/oauth2/access_token";
String parameters="client_id=" +clientId+"&client_secret=" +clientSecret+
"&grant_type=authorization_code" +"&redirect_uri=" +redirectUri+"&code="+code;
postUrl(url, parameters);
}
/**
* 利用刚获取的AccessToken发布一条微博
* @param text 要发布的微博内容
* @param accessToken 刚获取的AccessToken
*/
public static void updateStatus(String text,String accessToken)
{
String url="https://api.weibo.com/2/status ... 3B%3B
String parameters="status="+text+"&access_token="+accessToken;
postUrl(url, parameters);
System.out.println("发布微博成功!");
}
/**
* 设置信任所有的http证书(正常情况下访问https打头的网站会出现证书不信任相关错误,所以必须在访问前调用此方法)
* @throws Exception
*/
private static void trustAllHttpsCertificates() throws Exception
{
javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
trustAllCerts[0] = new X509TrustManager()
{
@Override
public X509Certificate[] getAcceptedIssuers()
{
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
};
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
}
  访问授权页面:
  
  授权成功:
  
  成功发布微博:
  
  控制台输出:
  
  相关文章 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(Java使用新浪微博API开发微博应用的相关知识和一些)
  想了解Java使用新浪微博API开发微博应用的基本方法吗?在本文中,刘先安将仔细讲解Java使用微博API开发应用的相关知识以及一些代码示例。欢迎阅读和纠正我们。先划重点:Java、微博、API,大家一起学习。
  新浪微博API现已广泛使用,制作完整的开发流程Demo
  1、 第一步就是注册,就不多说了。注册账号,成为开发者账号。如果做不到,请立即砸电脑,拔掉网线,回家种田。
  2、第二步是创建一个应用程序。创建开发者账号后,打开新浪微博开发平台:
  点击上方菜单栏中的最后一个管理中心
  
  如果是web应用,选择创建网站访问的应用,然后根据新浪微博的要求,balabalabala自己做
  应用程序已创建。点击应用跳转到页面,点击查看应用参数,可以看到应用的相关参数,这些参数会在第四步用到。
  3、第三步下载SDK,回到顶部菜单栏,点击Documents,然后点击左侧菜单栏SDK,选择java sdk,下载balabala。如果您在这一步有任何问题,请回家种田。
  
  所谓sdk并不是sdk(个人觉得这个名字有点误导),而是一个可运行的项目。下载后解压,导入eclipse,可以看到src和example两个目录
  src是新浪微博的一部分
  example 是一个例子,一个界面的演示
  4、第四步配置参数,在src目录找到config.properties
  前三个参数需要配置为第二步中提到的应用参数中的参数。
  后者是默认的,不需要更改
  前三个参数配置如下
  client_ID 是应用程序密钥
  client_SERCRET 是 App Secret
  redirect_URI 就是OAuth2.0 授权回调URL 申请信息&gt;高级信息&gt;OAuth2.0 授权设置 下面这个授权回调页面就是你填写的一个URL,指向自己的服务器,当然下开发 在这个阶段,我们可以使用任何 URL,只要它能让我们了解 OAuth 授权过程。这里我们进入一个取消授权回调页面。也是如此。注意这里的 URL 字符串必须一致。
  5、第五步获取AccessToken。一般情况下,AccessToken必须通过OAuth2.0认证来获取,但是为了简单起见,我来说一个简单的方法。以后再说OAuth2.0
  仍然选择顶部菜单栏Document&gt;API&gt;API Test Tool
  选择创建的应用,点击获取AccessToken。下面的文本框就是我们想要的AccessToken
  
  6、 第六步做一个界面示例
  直接去微博API找一个已有权限的接口,
  随机找了一个用户发的微博status/user_timeline 用于测试
  
  点击该界面可以查看该界面的详细信息,可以查看该界面的各个传入参数和返回参数,不再赘述。
  不使用任何SDK实现Oauth授权,实现简单的微博发布功能:
  创建一个Java项目,编写如下代码。具体的流程代码已经写的很清楚了,这里就不解释了:
  请注意先将应用ID、应用密码和回调页面修改为您自己的!访问授权页面:
  
package com;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Scanner;
import javax.net.ssl.X509TrustManager;
/**
* @author 刘显安
* 不使用任何SDK实现新浪微博Oauth授权并实现发微薄小Demo
* 日期:2012年11月11日
*/
public class Test
{
static String clientId="2355065950";//你的应用ID
static String clientSecret="72037e76bee00315691d9c30dd8a386a";//你的应用密码
static String redirectUri="https://api.weibo.com/oauth2/default.html";//你在应用管理中心设置的回调页面

public static void main(String[] args) throws Exception
{
testHttps();//测试
//第一步:访问授权页面获取授权
System.out.println("请打开你的浏览器,访问以下页面,登录你的微博账号并授权:");
System.out.println("https://api.weibo.com/oauth2/a ... 6quot;);
//第二步:获取AccessToken
System.out.println("请将授权成功后的页面地址栏中的参数code:");
String code=new Scanner(System.in).next();
getAccessToken(code);
//第三步:发布一条微博
System.out.println("请输入上面返回的值中accessToken的值:");
String accessToken=new Scanner(System.in).next();
updateStatus("发布微博测试!来自WeiboDemo!", accessToken);
}
/**
* 测试能否正常访问HTTPS打头的网站,
*/
public static void testHttps()
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URL url=new URL("https://api.weibo.com/oauth2/default.html";);
URLConnection con=url.openConnection();
con.getInputStream();
System.out.println("恭喜,访问HTTPS打头的网站正常!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 以Post方式访问一个URL
* @param url 要访问的URL
* @param parameters URL后面“?”后面跟着的参数
*/
public static void postUrl(String url,String parameters)
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URLConnection conn = new URL(url).openConnection();
conn.setDoOutput(true);// 这里是关键,表示我们要向链接里注入的参数
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());// 获得连接输出流
out.write(parameters);
out.flush();
out.close();
// 到这里已经完成了,开始打印返回的HTML代码
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 获取AccessToken
* @param code 在授权页面返回的Code
*/
public static void getAccessToken(String code)
{
String url="https://api.weibo.com/oauth2/access_token";
String parameters="client_id=" +clientId+"&client_secret=" +clientSecret+
"&grant_type=authorization_code" +"&redirect_uri=" +redirectUri+"&code="+code;
postUrl(url, parameters);
}
/**
* 利用刚获取的AccessToken发布一条微博
* @param text 要发布的微博内容
* @param accessToken 刚获取的AccessToken
*/
public static void updateStatus(String text,String accessToken)
{
String url="https://api.weibo.com/2/status ... 3B%3B
String parameters="status="+text+"&access_token="+accessToken;
postUrl(url, parameters);
System.out.println("发布微博成功!");
}
/**
* 设置信任所有的http证书(正常情况下访问https打头的网站会出现证书不信任相关错误,所以必须在访问前调用此方法)
* @throws Exception
*/
private static void trustAllHttpsCertificates() throws Exception
{
javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
trustAllCerts[0] = new X509TrustManager()
{
@Override
public X509Certificate[] getAcceptedIssuers()
{
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
};
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
}
  访问授权页面:
  
  授权成功:
  
  成功发布微博:
  
  控制台输出:
  
  相关文章

使用新浪微博开放平台api同步微博内容至自己网站( Wave():返回条数限制更新)

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-03 12:16 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
Wave():返回条数限制更新)
  
  而且退货数量没有限制!
  代码示例是:
  client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
CALLBACK_URL = client.get_authorize_url()
print CALLBACK_URL
API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 此为我自己写的接口,自动获取code的值
code = API.get_code_Security()
requests = client.request_access_token(code)
access_token = requests.access_token # 新浪返回的token,类似abc123xyz456
expires_in = requests.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
statuses = client.statuses__home_timeline() # 获取数据
  API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 这是我自己写的接口,自动获取code值。下载地址为:(@The_Third_Wave) Python:利用新浪微博API和安全模拟登录自动获取代码值:
  有新的方法会不时更新。
  打印信息:
<p>str_sta = json.dumps(statuses)
text_list = re.findall(r"(? 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
Wave():返回条数限制更新)
  
  而且退货数量没有限制!
  代码示例是:
  client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
CALLBACK_URL = client.get_authorize_url()
print CALLBACK_URL
API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 此为我自己写的接口,自动获取code的值
code = API.get_code_Security()
requests = client.request_access_token(code)
access_token = requests.access_token # 新浪返回的token,类似abc123xyz456
expires_in = requests.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
statuses = client.statuses__home_timeline() # 获取数据
  API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 这是我自己写的接口,自动获取code值。下载地址为:(@The_Third_Wave) Python:利用新浪微博API和安全模拟登录自动获取代码值:
  有新的方法会不时更新。
  打印信息:
<p>str_sta = json.dumps(statuses)
text_list = re.findall(r"(?

使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站+社交圈子)

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-19 07:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站+社交圈子)
  使用新浪微博开放平台api同步微博内容至自己网站+社交圈子=可以实现的方法太多了,推荐尝试这一个,不到1/3的代价,
  本来还想对应api拿到自己的微博,现在不用这个api了,主要原因是同步太频繁会挂掉,开始是9天挂了一次,最近的一次挂掉是15天。
  目前对我个人来说,还是比较方便的,使用自己的域名和服务器可以进行数据同步,自动生成二维码,不同平台的转发推送都是可以实现的,反正我用同步最顺手的就是新浪了,因为二维码生成用起来相对容易。至于题主说的7*24的话可能有点夸张,我所知道的,一般所有网站最多的同步也就2*7*24*24*24*24*24*24,两到三次就会降到原来每天的最低限制(12/24/60),没几个人会整天整晚同步,这样整体成本会提高不少。
  你感觉不好用的原因我猜可能是同步受到限制了,最简单的应该是转发的人数问题,同步你想转发的人多的,可以尝试“黑名单”功能,设置一个限制,转发的人再不转发时域名被删,要是想要被解封也需要一定的操作。想自动同步多平台的还是设置黑名单功能更靠谱。
  推荐burstcom。ip地址对应的就会同步,有多种同步方式,同步到朋友圈什么的非常方便。也可以api,我用的是文档方式,操作麻烦一点,但是效果好。服务器的话是租用服务器,多一点的域名服务器费用不一样。有问题可以直接给他们客服,反馈非常及时,人也不错,具体服务你问他们就好。(他们家真的是懂网站,会给你合理意见不忽悠人,非常容易推荐我去。
  )=上面这些不是正面答案,不如提供两个建议:1.拉一个网站出来专门做分享互动。2.做好服务器的防火墙防病毒,安全是最基本的。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站+社交圈子)
  使用新浪微博开放平台api同步微博内容至自己网站+社交圈子=可以实现的方法太多了,推荐尝试这一个,不到1/3的代价,
  本来还想对应api拿到自己的微博,现在不用这个api了,主要原因是同步太频繁会挂掉,开始是9天挂了一次,最近的一次挂掉是15天。
  目前对我个人来说,还是比较方便的,使用自己的域名和服务器可以进行数据同步,自动生成二维码,不同平台的转发推送都是可以实现的,反正我用同步最顺手的就是新浪了,因为二维码生成用起来相对容易。至于题主说的7*24的话可能有点夸张,我所知道的,一般所有网站最多的同步也就2*7*24*24*24*24*24*24,两到三次就会降到原来每天的最低限制(12/24/60),没几个人会整天整晚同步,这样整体成本会提高不少。
  你感觉不好用的原因我猜可能是同步受到限制了,最简单的应该是转发的人数问题,同步你想转发的人多的,可以尝试“黑名单”功能,设置一个限制,转发的人再不转发时域名被删,要是想要被解封也需要一定的操作。想自动同步多平台的还是设置黑名单功能更靠谱。
  推荐burstcom。ip地址对应的就会同步,有多种同步方式,同步到朋友圈什么的非常方便。也可以api,我用的是文档方式,操作麻烦一点,但是效果好。服务器的话是租用服务器,多一点的域名服务器费用不一样。有问题可以直接给他们客服,反馈非常及时,人也不错,具体服务你问他们就好。(他们家真的是懂网站,会给你合理意见不忽悠人,非常容易推荐我去。
  )=上面这些不是正面答案,不如提供两个建议:1.拉一个网站出来专门做分享互动。2.做好服务器的防火墙防病毒,安全是最基本的。

使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用测试好多次,终于成功了)

网站优化优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-12-17 23:06 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用测试好多次,终于成功了)
  今天下午收到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APP KEY和APP SECRET,复制并保存他们。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
  weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APP KEY 和 APP SECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  在这里你会发现出错了:注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php on line 13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,那个页面不存在!
  说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看index.php,你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
  由此,我们不难想到流程:首先在本地配置文件config.php中获取APP KEY和APP SECRET,然后必须验证APP KEY是否合法,并询问我们是否对此进行了授权应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到刚刚贴文章的留言,下面要标注“来自xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php连接没问题。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用测试好多次,终于成功了)
  今天下午收到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
  首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APP KEY和APP SECRET,复制并保存他们。
  然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
  第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
  weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APP KEY 和 APP SECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
  在这里你会发现出错了:注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php on line 13
  打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就别管了,点击下面的链接,然后出现错误:对不起,那个页面不存在!
  说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看index.php,你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
  由此,我们不难想到流程:首先在本地配置文件config.php中获取APP KEY和APP SECRET,然后必须验证APP KEY是否合法,并询问我们是否对此进行了授权应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到刚刚贴文章的留言,下面要标注“来自xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php连接没问题。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
  总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
  另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)

网站优化优采云 发表了文章 • 0 个评论 • 63 次浏览 • 2021-12-17 04:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)
  该系统分为三个层次。底层是基础服务层,提供数据库、缓存、存储、搜索等数据服务等基础技术服务。这些服务支持新浪微博的海量数据和高并发访问。系统的技术基础。
  中间层是平台服务和应用服务层。新浪微博的核心服务是微博、关系和用户。这些服务被划分为独立的服务模块,依靠调用和共享基础数据,构成了新浪微博的业务基础。
  顶层是 API 和业务层。各种客户端和第三方应用调用API并将其集成到新浪微博系统中,形成一个生态系统。
  
  新浪微博的系统架构
  这些业务模块和基础技术模块经过分层划分后分布式部署。每个模块部署在一组独立的服务器集群上,通过远程调用进行依赖访问。新浪微博早期也采用了一种分布式集群部署方案,叫做MPSS(MultiPost Single Server,单服务器多端口)。在集群中的多台服务器上,每台服务器都部署了多个服务,每个服务使用不同的服务。港口为外界提供服务。这样,有限数量的服务器就可以部署更多的服务实例,提高服务的负载均衡和可用性。现在常见的网站 应用将物理机虚拟化为多个虚拟机。在虚拟机上部署应用的方法和新浪微博的MPSS方案一样,但是更简单,可以在不同的虚拟机上使用。相同的端口号。
  在新浪微博的早期架构中,微博发布采用的是同步推送模式。用户发布微博后,系统会立即将该微博插入到数据库中所有粉丝的订阅列表中。当用户数量比较大的时候,就会造成大量的用户。数据库写操作超过数据库负载,系统性能急剧下降,用户响应延迟增加。后来新浪微博切换到异步推拉组合模式。用户发布微博后,系统将微博写入消息队列并立即返回。用户反应很快。消息队列消费者任务将微博推送到当前所有在线粉丝的订阅列表。非在线用户登录后,根据关注列表拉取微博订阅列表。
  由于微博频繁刷新,新浪微博采用了多级缓存策略。热门微博和名人用户缓存在所有微博服务器上,在线用户的微博和近期微博缓存在分布式缓存集群中。对于微博,操作中几乎所有最常见的“微博”操作都是缓存访问操作,可以达到很好的系统性能。
  为了提高系统的整体可用性和性能,新浪微博激活了多个数据中心。这些数据中心不仅是区域用户访问中心,用户可以就近访问数据中心,加快访问速度,提升系统性能;同时,它们也是数据冗余复制的灾备中心。所有用户和微博数据通过远程消息系统位于不同的位置。在数据中心之间进行同步以提高系统可用性。
  同时,新浪微博还开发了一系列自动化工具,包括自动化监控、自动化发布、自动化故障修复等,这些自动化工具还在不断开发中,以提高运维水平,提高系统可用性。
  由于微博的开放性,新浪微博也遇到了一系列的安全挑战。垃圾邮件、僵尸粉和微博攻击从未停止。除了使用一般的网站通用安全策略,新浪微博是一个开放的平台。关于使用多级安全审计策略来保护系统和用户。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的系统分为三个层次,最下层是基础服务层)
  该系统分为三个层次。底层是基础服务层,提供数据库、缓存、存储、搜索等数据服务等基础技术服务。这些服务支持新浪微博的海量数据和高并发访问。系统的技术基础。
  中间层是平台服务和应用服务层。新浪微博的核心服务是微博、关系和用户。这些服务被划分为独立的服务模块,依靠调用和共享基础数据,构成了新浪微博的业务基础。
  顶层是 API 和业务层。各种客户端和第三方应用调用API并将其集成到新浪微博系统中,形成一个生态系统。
  
  新浪微博的系统架构
  这些业务模块和基础技术模块经过分层划分后分布式部署。每个模块部署在一组独立的服务器集群上,通过远程调用进行依赖访问。新浪微博早期也采用了一种分布式集群部署方案,叫做MPSS(MultiPost Single Server,单服务器多端口)。在集群中的多台服务器上,每台服务器都部署了多个服务,每个服务使用不同的服务。港口为外界提供服务。这样,有限数量的服务器就可以部署更多的服务实例,提高服务的负载均衡和可用性。现在常见的网站 应用将物理机虚拟化为多个虚拟机。在虚拟机上部署应用的方法和新浪微博的MPSS方案一样,但是更简单,可以在不同的虚拟机上使用。相同的端口号。
  在新浪微博的早期架构中,微博发布采用的是同步推送模式。用户发布微博后,系统会立即将该微博插入到数据库中所有粉丝的订阅列表中。当用户数量比较大的时候,就会造成大量的用户。数据库写操作超过数据库负载,系统性能急剧下降,用户响应延迟增加。后来新浪微博切换到异步推拉组合模式。用户发布微博后,系统将微博写入消息队列并立即返回。用户反应很快。消息队列消费者任务将微博推送到当前所有在线粉丝的订阅列表。非在线用户登录后,根据关注列表拉取微博订阅列表。
  由于微博频繁刷新,新浪微博采用了多级缓存策略。热门微博和名人用户缓存在所有微博服务器上,在线用户的微博和近期微博缓存在分布式缓存集群中。对于微博,操作中几乎所有最常见的“微博”操作都是缓存访问操作,可以达到很好的系统性能。
  为了提高系统的整体可用性和性能,新浪微博激活了多个数据中心。这些数据中心不仅是区域用户访问中心,用户可以就近访问数据中心,加快访问速度,提升系统性能;同时,它们也是数据冗余复制的灾备中心。所有用户和微博数据通过远程消息系统位于不同的位置。在数据中心之间进行同步以提高系统可用性。
  同时,新浪微博还开发了一系列自动化工具,包括自动化监控、自动化发布、自动化故障修复等,这些自动化工具还在不断开发中,以提高运维水平,提高系统可用性。
  由于微博的开放性,新浪微博也遇到了一系列的安全挑战。垃圾邮件、僵尸粉和微博攻击从未停止。除了使用一般的网站通用安全策略,新浪微博是一个开放的平台。关于使用多级安全审计策略来保护系统和用户。

使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的Python入门,程序狗速度看过来! )

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-17 04:00 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的Python入门,程序狗速度看过来!
)
  这里有新鲜的Python介绍,看程序狗的速度!
  Python编程语言 Python是一种面向对象的解释型计算机编程语言,由Guido van Rossum于1989年底发明,1991年首次公开发布。Python语法简洁明了,具有丰富而强大的类库. 它通常被称为胶水语言,它可以很容易地将其他语言(尤其是 C/C++)制作的各种模块连接在一起。
  本文介绍了python连接新浪微博开放平台的方法。请有需要的同学参考。另外,官方新浪微博开放平台有完整的SDK和帮助文档,有需要的同学可以自行查看。
  因为最近接触到一个调用新浪微博开放接口的项目,想尝试用python调用微博API。有需要的朋友可以参考以下
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的应用程序,然后你就可以得到应用程序密钥和应用程序密钥。这是应用获得 OAuth2.0 授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.&lt; @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]
try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, &#39;error&#39;):
if e.error == &#39;expired_token&#39;:
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False
return True
if __name__ == "__main__":
apply_access_token()
# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status=&#39;Test OAuth 2.0 Send a Weibo!&#39;)
  
retry.py
import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.
delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn&#39;t really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
http_helper.py
# -*- coding: utf-8 -*-
#/usr/bin/env python
import urllib2,cookielib
class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_301(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_301(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def http_error_302(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_302(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def get_cookie():
cookies = cookielib.CookieJar()
return urllib2.HTTPCookieProcessor(cookies)
def get_opener(proxy=False):
rv=urllib2.build_opener(get_cookie(), SmartRedirectHandler())
rv.addheaders = [(&#39;User-agent&#39;, &#39;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)&#39;)]
return rv 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(这里有新鲜出炉的Python入门,程序狗速度看过来!
)
  这里有新鲜的Python介绍,看程序狗的速度!
  Python编程语言 Python是一种面向对象的解释型计算机编程语言,由Guido van Rossum于1989年底发明,1991年首次公开发布。Python语法简洁明了,具有丰富而强大的类库. 它通常被称为胶水语言,它可以很容易地将其他语言(尤其是 C/C++)制作的各种模块连接在一起。
  本文介绍了python连接新浪微博开放平台的方法。请有需要的同学参考。另外,官方新浪微博开放平台有完整的SDK和帮助文档,有需要的同学可以自行查看。
  因为最近接触到一个调用新浪微博开放接口的项目,想尝试用python调用微博API。有需要的朋友可以参考以下
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的应用程序,然后你就可以得到应用程序密钥和应用程序密钥。这是应用获得 OAuth2.0 授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.&lt; @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]
try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, &#39;error&#39;):
if e.error == &#39;expired_token&#39;:
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False
return True
if __name__ == "__main__":
apply_access_token()
# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status=&#39;Test OAuth 2.0 Send a Weibo!&#39;)
  
retry.py
import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.
delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn&#39;t really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
http_helper.py
# -*- coding: utf-8 -*-
#/usr/bin/env python
import urllib2,cookielib
class SmartRedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_301(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_301(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def http_error_302(cls, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_302(cls, req, fp, code, msg, headers)
result.status = code
print headers
return result
def get_cookie():
cookies = cookielib.CookieJar()
return urllib2.HTTPCookieProcessor(cookies)
def get_opener(proxy=False):
rv=urllib2.build_opener(get_cookie(), SmartRedirectHandler())
rv.addheaders = [(&#39;User-agent&#39;, &#39;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)&#39;)]
return rv

使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))

网站优化优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-12-16 09:15 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向后, callback_url 将附加 oauth_verifier 参数。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向后, callback_url 将附加 oauth_verifier 参数。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。

使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))

网站优化优采云 发表了文章 • 0 个评论 • 45 次浏览 • 2021-12-15 16:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token,Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(调用新浪微博开放平台API开发自己的微博应用(App))
  新浪微博开放平台虽然提供了各种语言版本的开发SDK下载,但也附带了一些基本接口调用的demo和接口描述文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用程序(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。由于第三方App想要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再看流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对每个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token,Request Secret:当用户访问Consumer,希望获得其特殊服务时,在用户整合Provider中存储的资源后,由Consumer返回该服务。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果Provider在流程10中返回一个未经User授权的Access Token,则用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问Provider中对应User存储的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的理解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  另外,在上图中,Consumer 向 Provider 提出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。以下是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法来获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
  
package weibo4j.examples;

import weibo4j.Status;
import weibo4j.Weibo;
import weibo4j.WeiboException;
import weibo4j.http.AccessToken;
import weibo4j.http.RequestToken;
import java.io.UnsupportedEncodingException;

// Web 方式认证
public class WebOAuth {
private Weibo weibo;

public WebOAuth(){
// 准备好Consumer Key、Consumer Secret
// 对应于新浪微博应用就是申请到的 App key 和 Secret key
System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
weibo = new Weibo();
}

// 根据传入的 callback_url 获取 request token
public RequestToken getRequestToken(String backUrl) {
try {
// 指定 callback_url 并获得 request token
RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Request token: " + requestToken.getToken());
System.out.println("Request token secret: " + requestToken.getTokenSecret());

return requestToken;
} catch (Exception e) {
System.out.println("获取Request token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 request token 和 verifier 获取 access token
public AccessToken gettAccessToken(RequestToken requestToken, String verifier) {
try {
AccessToken accessToken = weibo.getOAuthAccessToken(requestToken
.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Access token: " + accessToken.getToken());
System.out.println("Access token secret: " + accessToken.getTokenSecret());

return accessToken;
} catch (Exception e) {
System.out.println("获取Access token发生异常!");
e.printStackTrace();
return null;
}
}

// 根据传入的 Access Token 和内容发表微博
public void update(AccessToken access, String content) {
try {
weibo.setToken(access.getToken(), access.getTokenSecret());
content = new String(content.getBytes("GBK"), "UTF-8");
Status status = weibo.updateStatus(content);
System.out.println("成功发表微博:" + status.getText() + ".");
} catch (UnsupportedEncodingException e) {
System.out.println("微博内容转编码发生异常!");
e.printStackTrace();
} catch (WeiboException e) {
System.out.println("发表微博发生异常!");
e.printStackTrace();
}
}
}
request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。








请点击进行Web方式的OAuth认证!

  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
  







writeWeibo.html,很简单的HTML文件。

发布sina微博


请在这里写上140字符以内的文本:</br>
测试新浪微博!</br>

</br>




updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。






  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包要添加到\WEB-INF\lib目录下,weibo4j.jar(里面是具体的Java在新浪微博开放平台实施)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码和授权。以下是我用于测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我尝试了很多次,才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息的cookies已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改授权;
  3、 控制台中也有一些输入的信息,如Token、URL、服务器返回信息等,截图中没有显示。

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台注册开发者并获取app和app(组图))

网站优化优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2021-12-15 13:42 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台注册开发者并获取app和app(组图))
  前言:微博开放平台提供了微博数据的api接口。不仅可以通过api直接调用微博服务发布微博和查询微博,更重要的是可以自己获取新浪微博网站 api被授权调用微博的一些内容,就好像我们在网站看到,想分享到微博或者其他社交网络网站,很方便。爪哇
  下面就让我们一探究竟。
  1.注册开发者,获取app key和app secret
  百度很容易找到微博开放平台的入口,登录自己的微博账号,点击账号头像,会提示编辑开发者信息。
  
  如果可以看到如下页面,则只需根据提示填写即可。紧急联系人可以自己填写,网站没关系,可以百度填写。
  
  提交后,您需要在个人申请中验证您的真实姓名。上传图片时请耐心等待。有点慢,没有上传进度。上传后,点击返回跳转到新页面:
  
  根据您的需要选择,然后构建您自己的应用程序。至于里面的各个应用术语的含义,我不是很清楚,熟悉一下就好了。我选择其他应用
  
  
  创建后,您将收到一封收录应用密钥和应用机密的电子邮件。这是获得权威的关键。
  2.获取令牌
  在首页点击api接口,会跳转到api接口描述页面。你会发现这个api有很多功能,包括创建微博、删除微博、关注/取消关注等,接口很多,但是每个接口都需要token才能访问。令牌从哪里来?
  一是要拿到code,二是要有调用接口的网址(因为我申请的是web应用)。
  设置关联的 URL:
  
  单击您的应用程序名称,然后在左侧菜单中找到高级信息,然后您可以对其进行编辑。
  
  在api界面下点击
  
  , 进入授权界面查看使用情况
  
  根据示例,您需要发送收录client_id 和redirect_uri 的get 请求。可以直接拼接。
  https://api.weibo.com/oauth2/a ... Dcode
  其中client_id是你申请的app key,redirect_uri是回调接口本身的地址,api会原样返回。可以直接在浏览器中输入url,如下图:
  
  这个页面是不是很熟悉?网页被授权后会跳转回redirect_uri页面,url后面会拼出code。所以代码有
  接下来获取授权token,第二个授权接口:
  
  页面上有详细的用法。发送http post请求,我用java http-client4.5 来做,其实其他方法也行。
  
  代码写得不好,但有多少可用。5 个必需的参数值。我们已经拿到了最后两个,前两个在邮件里。代码将不会发布。照顾好自己会帮助您熟悉使用,之后您将不可避免地发送各种请求。
  至此,我们已经授权成功,返回值中收录了需要的token值。如果返回错误,请查看错误信息或百度错误信息。
  之后,你只需要带上token来请求各种接口。虽然有次数限制,但正常使用应该足够了。
  后记:
  1. 本来想做一些爬虫类的功能。我想在微博开放界面获取一些数据。不过从API来看,大部分都是基于web应用的微博分享功能。
  就好比自己的微博,发粉丝,发微博,关注等,本身没必要。
  
  2. 前面说过,微博开放api主要用于第三方网站或者app访问微博、登录微博或者通过微博api分享,所以对这个有彻底的需求能够深入研究api接口。
  在3.api接口中,所有的get请求都可以通过直接连接字符串的方式获取,但是对于刚刚请求授权的get请求,需要用户的账号来批准对应用的授权,所以需要登录进入用户账号,如果浏览器中保留了微博登录的cookie,那么浏览器可以自动登录获取目标码,如果没有会提示登录
  
  所以这个请求适合在浏览器上进行,因为使用代码发送请求还要模拟登录,或者登录后使用cookie,都非常麻烦。不过api中剩下的get请求就不会有这个问题了,直接带上token就可以了。模拟登录可以使用selenium的webdriver来获取cookies,其他模拟登录的方法种类繁多,非常麻烦。网络
  当然,如果你把它嵌入在网站上,那么登录是用户的事情。json
  4.以发送微博为例:
  @Test
public void test2() throws IOException {
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = null;
RequestConfig config =
RequestConfig.custom().setConnectTimeout(10000)
.setSocketTimeout(10000).build();
HttpPost post = new HttpPost("https://api.weibo.com/2/statuses/update.json");
post.setConfig(config);
List pairs = new ArrayList();
BasicNameValuePair p1 = new BasicNameValuePair("access_token","");
String content = "本条微博经过微博开放接口发送";
BasicNameValuePair p2 = new BasicNameValuePair("status",
content);
BasicNameValuePair p3 = new BasicNameValuePair("visible","0");
pairs.add(p1);
pairs.add(p2);
pairs.add(p3);
post.setEntity(new UrlEncodedFormEntity(pairs,"utf-8"));
response = client.execute(post);
HttpEntity entities = response.getEntity();
System.out.println(EntityUtils.toString(entities,"UTF-8"));
}
  
  5.如果把open api嵌入到自己的网站中,一般做法是:在分享微博按钮(第三方登录按钮)上,发送微博授权认证,用户点击授权后web页面,后台获取code,根据code获取token。之后,如果需要提取微博的用户名,可以直接在后台发送请求。如果分享到微博,也可以通过api来完成。
  如果以后在实践中用到这些功能,那就做个记录。本文到此结束。
  来自维兹 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台注册开发者并获取app和app(组图))
  前言:微博开放平台提供了微博数据的api接口。不仅可以通过api直接调用微博服务发布微博和查询微博,更重要的是可以自己获取新浪微博网站 api被授权调用微博的一些内容,就好像我们在网站看到,想分享到微博或者其他社交网络网站,很方便。爪哇
  下面就让我们一探究竟。
  1.注册开发者,获取app key和app secret
  百度很容易找到微博开放平台的入口,登录自己的微博账号,点击账号头像,会提示编辑开发者信息。
  
  如果可以看到如下页面,则只需根据提示填写即可。紧急联系人可以自己填写,网站没关系,可以百度填写。
  
  提交后,您需要在个人申请中验证您的真实姓名。上传图片时请耐心等待。有点慢,没有上传进度。上传后,点击返回跳转到新页面:
  
  根据您的需要选择,然后构建您自己的应用程序。至于里面的各个应用术语的含义,我不是很清楚,熟悉一下就好了。我选择其他应用
  
  
  创建后,您将收到一封收录应用密钥和应用机密的电子邮件。这是获得权威的关键。
  2.获取令牌
  在首页点击api接口,会跳转到api接口描述页面。你会发现这个api有很多功能,包括创建微博、删除微博、关注/取消关注等,接口很多,但是每个接口都需要token才能访问。令牌从哪里来?
  一是要拿到code,二是要有调用接口的网址(因为我申请的是web应用)。
  设置关联的 URL:
  
  单击您的应用程序名称,然后在左侧菜单中找到高级信息,然后您可以对其进行编辑。
  
  在api界面下点击
  
  , 进入授权界面查看使用情况
  
  根据示例,您需要发送收录client_id 和redirect_uri 的get 请求。可以直接拼接。
  https://api.weibo.com/oauth2/a ... Dcode
  其中client_id是你申请的app key,redirect_uri是回调接口本身的地址,api会原样返回。可以直接在浏览器中输入url,如下图:
  
  这个页面是不是很熟悉?网页被授权后会跳转回redirect_uri页面,url后面会拼出code。所以代码有
  接下来获取授权token,第二个授权接口:
  
  页面上有详细的用法。发送http post请求,我用java http-client4.5 来做,其实其他方法也行。
  
  代码写得不好,但有多少可用。5 个必需的参数值。我们已经拿到了最后两个,前两个在邮件里。代码将不会发布。照顾好自己会帮助您熟悉使用,之后您将不可避免地发送各种请求。
  至此,我们已经授权成功,返回值中收录了需要的token值。如果返回错误,请查看错误信息或百度错误信息。
  之后,你只需要带上token来请求各种接口。虽然有次数限制,但正常使用应该足够了。
  后记:
  1. 本来想做一些爬虫类的功能。我想在微博开放界面获取一些数据。不过从API来看,大部分都是基于web应用的微博分享功能。
  就好比自己的微博,发粉丝,发微博,关注等,本身没必要。
  
  2. 前面说过,微博开放api主要用于第三方网站或者app访问微博、登录微博或者通过微博api分享,所以对这个有彻底的需求能够深入研究api接口。
  在3.api接口中,所有的get请求都可以通过直接连接字符串的方式获取,但是对于刚刚请求授权的get请求,需要用户的账号来批准对应用的授权,所以需要登录进入用户账号,如果浏览器中保留了微博登录的cookie,那么浏览器可以自动登录获取目标码,如果没有会提示登录
  
  所以这个请求适合在浏览器上进行,因为使用代码发送请求还要模拟登录,或者登录后使用cookie,都非常麻烦。不过api中剩下的get请求就不会有这个问题了,直接带上token就可以了。模拟登录可以使用selenium的webdriver来获取cookies,其他模拟登录的方法种类繁多,非常麻烦。网络
  当然,如果你把它嵌入在网站上,那么登录是用户的事情。json
  4.以发送微博为例:
  @Test
public void test2() throws IOException {
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = null;
RequestConfig config =
RequestConfig.custom().setConnectTimeout(10000)
.setSocketTimeout(10000).build();
HttpPost post = new HttpPost("https://api.weibo.com/2/statuses/update.json";);
post.setConfig(config);
List pairs = new ArrayList();
BasicNameValuePair p1 = new BasicNameValuePair("access_token","");
String content = "本条微博经过微博开放接口发送";
BasicNameValuePair p2 = new BasicNameValuePair("status",
content);
BasicNameValuePair p3 = new BasicNameValuePair("visible","0");
pairs.add(p1);
pairs.add(p2);
pairs.add(p3);
post.setEntity(new UrlEncodedFormEntity(pairs,"utf-8"));
response = client.execute(post);
HttpEntity entities = response.getEntity();
System.out.println(EntityUtils.toString(entities,"UTF-8"));
}
  
  5.如果把open api嵌入到自己的网站中,一般做法是:在分享微博按钮(第三方登录按钮)上,发送微博授权认证,用户点击授权后web页面,后台获取code,根据code获取token。之后,如果需要提取微博的用户名,可以直接在后台发送请求。如果分享到微博,也可以通过api来完成。
  如果以后在实践中用到这些功能,那就做个记录。本文到此结束。
  来自维兹

使用新浪微博开放平台api同步微博内容至自己网站(草根用户厌倦了传统媒体上对权威的“90度仰视”)

网站优化优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2021-12-15 08:23 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(草根用户厌倦了传统媒体上对权威的“90度仰视”)
  编者按:本文由联合创始人@邵宝麟提供。他是哥伦比亚大学计算机科学博士候选人。2007年获得华中科技大学软件工程学士学位。曾在印度Infosys SETLab和美国IBM TJ Watson研究中心进行“下一代高性能分布式计算”研究。深圳乐建网络是一家由美国名校辍学生、美国名校博士、成功企业家组成的创业公司。目前正在开发Web3.0时代的高性能推荐互联网产品。目前正在寻找人才,感兴趣的朋友可以联系@邵宝麟或@戴虎宁。
  现在互联网上最流行的是“社交网络”。在国外,烧了投资者无数美元的SNS公司终于陆续上市;在国内,新浪、腾讯、搜狐甚至百度都调整了战略,将微博作为重要的战略布局。
  对于这些巨头来说,微博要么是巩固帝国版图的战略防御武器,要么是追赶对手甚至反击的绝佳机会。
  对于媒体人或意见领袖来说,微博是他们的扩音器,他们希望微博成为未来社会进步的加速器。
  对于一大批草根用户来说,在厌倦了传统媒体权威的“90度仰视”和网络上与同龄人的“0度交流”之后,微博为他们提供了独一无二的45度视角,让他们看到你也可以在倾听的同时有效地表达。
  因此,微博几乎一夜之间风靡全中国。面对这样的市场,创业者没有理由不兴奋。问题是,微博(SNS平台)对创业者意味着什么?Linkedin 创始人 Reid Hoffman 最近的观点可能代表了美国资本市场的普遍看法:“如果 Web 1.0 涉及“去搜索,获取数据”和一些有限的交互性;如果 Web 2.0涉及“真实身份”和“真实关系”,那么Web 3.0 将是“真实身份产生海量数据”。这就好像在说现在是最好的时代,也是最坏的时代。
  面对如此海量的用户生成内容,创业者第一时间就有机会拥有一个上亿用户的平台,以及在这个平台上属于每个用户的唯一数据。但同时,如果不分析和利用这些内容,“信息过载”将严重降低互联网的效率。这是刚性需求。但企业家担心的是这些社交平台本身——它们是否开放?他们现在有多开放?他们未来会开放到什么程度?我们可以从多个维度来讨论这个问题:企业战略、社会趋势、技术发展等等。
  但创业者最关心的是这些平台提供的API(应用程序接口)。毕竟内容是平台的,API几乎是其他人获取这些内容的唯一合法途径。API的种类是否丰富,数据是否完整,使用时有多少限制,直接影响到创业想法的可行性。因此,我们将从以上几个方面对中国最流行的两个微博平台腾讯和新浪做一个简单的比较。
  API多样性
  使用开放平台的开发者最关心的是“这个平台提供了哪些API”和“这些API可以实现什么功能”。新浪已开放近百个API接口。与腾讯相比,开放方式更接近推特。如果我们仔细对比新浪和推特的API,会发现两者不仅数量相当,而且从功能上来说,新浪几乎提供了所有推特的开放服务。相比之下,腾讯API的种类要少得多,目前只有60个左右。仔细看,我们可以将微博平台提供的服务大致分为:公共内容、用户内容、用户关系链、其他辅助功能(如搜索)。
  1、 在公共内容上,腾讯和新浪都提供了获取公共微博和热点话题的接口。但新浪的热门话题界面更加丰富,包括每周、每日和每小时的热门话题。而腾讯只提供了“话题热榜”界面,返回当前最热门话题。
  2、在“用户内容”方面,两个平台的差异就更加明显了。新浪的API接口以用户为中心,而腾讯则更注重提供基础数据。例如,对于微博上的转发和评论,新浪直接提供了API来获取用户发送和接收的评论。但是,腾讯只提供了“获取微博所有评论”的API。这意味着“用户收到的评论”可以通过新浪微博上的API请求获得。在腾讯平台,开发者需要先获取用户发布的微博列表,然后再持有。微博再次向腾讯征求所有意见。不仅如此,腾讯还没有开放“获取用户评论”的界面。
  3、 关于开通“用户关系链”,腾讯和新浪的差别不大,所有第三方都可以获得用户的粉丝和好友列表。由于腾讯微博本身提供了“专听”功能,用户的“专听列表”也可以通过其API获取。
  4、最后,在“可访问性”上,双方提供了“好友推荐”和比较完善的搜索服务(搜索用户,搜索微博),但新浪目前支持获取可能对Tag感兴趣的用户” ,该API为基于微博的推荐服务提供了有效的参考信息。
  API 的数量和类型是多样性的一方面,另一方面是每个 API 的功能。与腾讯相比,新浪的API功能更加丰富。以“获取用户微博”界面为例,新浪接受的参数如下:
  请求参数
  必填类型和范围说明
  sourcetruestring AppKey在申请应用时分配,代表应用在调用接口时的唯一标识。(OAuth授权不需要此参数)
  :idfalseint64/string 根据用户ID(int6&lt;​​@4)或微博昵称(字符串)返回指定用户的最新微博消息列表。该参数为REST风格参数,见注释
  user_idfalseint64 用户ID,主要用于区分用户ID和微博昵称。当微博昵称与用户ID产生歧义时,建议使用该参数,尤其是微博昵称与用户ID相同时
  screen_namefalsestring 微博昵称,主要用于区分用户UID和微博昵称。当两者相同且有歧义时,建议使用该参数
  since_idfalseint64 如果指定该参数,则只返回ID大于since_id(即发布时间晚于since_id)的微博消息。
  max_idfalseint64 如果指定该参数,则返回ID小于等于max_id的微博消息
  countfalseint,默认值为20,最大值为200。指定每页返回的记录数。
  pagefalseint,默认值为1。页码。注:最多可返回 200 条分页内容。
  如果id、user_id、screen_name这三个参数都没有指定,则返回当前登录用户发布的微博消息列表。
  base_appfalseint 是否根据当前应用获取数据。1表示限制本应用的微博,0表示不限制。
  featurefalseint 微博类型,0 全部,1原创,2 图片,3 视频,4 音乐。返回指定类型微博的信息内容。
  相比之下,腾讯的界面更原创:
  请求参数
  必填类型和范围说明
  oauthtruestringoauth 标准参数
  Formatfalsestring 返回结果的格式:xml 或 json
  Pageflagfalseint 页面标志,0 表示第一页,1 表示向下,2 表示向上
  pagetimefalseint 本页开始时间,第一页填0,继续翻页:填上次请求返回的最后一条记录的时间
  Reqnumfalseint 每个请求的记录数
  LastIdfalseint64 第一页填0,继续向下翻页,填上上次请求返回的最后一条记录的ID,用于翻页
  Nametruestring 需要读取的用户的用户名
  我们可以看到腾讯的界面只提供了翻页功能,而新浪提供了微博过滤。不仅是“获取微博”接口,新浪的大部分API都具备一定程度的信息过滤能力,而腾讯的大部分接口只提供基础数据。作为第三方开发者,API接口功能的丰富不仅简化了开发,也降低了部分应用超出API请求限制的风险。
  数据的完整性
  数据完整性是指开放平台是否限制开发者请求某些数据时返回的数据量。最能体现一个平台的开放性。遗憾的是,从这个意义上说,新浪和腾讯都没有真正开放。以用户的“粉丝列表”为例,可以看出新浪、腾讯和推特的区别。Twitter是一个真正开放的平台,开发者可以通过API获取任何用户的完整粉丝列表。虽然一个请求最多返回 100 个粉丝的详细信息,但我们可以通过在 Twitter 上发送多个请求来获得完整的粉丝列表。再看新浪,一般授权用户最多只能获取5000条最新的粉丝信息,但与推特相比,新浪每个请求最多可以返回200个粉丝。然而,新浪和推特还为开发者提供了专门的“社交图谱”界面,可以一次性获取用户5000粉丝的id。不过,新浪仍将总粉丝数设定为5000人,推特也一如既往的开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。
  请求限制
  很多开发者抱怨开放平台,最多的不是API函数的数量,而是各个平台对API请求的限制。但是所有的开放平台(无论是twitter、linkedin还是facebook)都会在一定程度上限制他们的开发者使用自己的资源。这与“开放”策略无关,更多是基于系统安全的考虑。因此,各个平台的API限制策略基本相同。例如,新浪给普通授权开发者每个ip每小时最多10000个API请求,每个用户每小时150个请求。(腾讯和新浪的详细访问权限请参见:和,3)。真正的问题不是平台授予基本授权应用多少请求配额,但是当应用程序因配额而受到限制时,这些平台如何为应用程序解决这个问题。只有为平台设计一个公开、公平的规则,才能真正消除开发者对其开放性的疑虑。
  通过以上分析,我们可以清楚地看到,新浪是目前国内最接近推特的微博平台(无论是规模还是开放度),这次山寨也恰到好处。与推特相比,腾讯的微博是一个完全不同的产品。虽然收录了腾讯自己对微博和开放平台的理解和规划,但目前只适合支持基本的“用户驱动”应用。对于“数据驱动”的复杂应用,平台的接口暂时还远远不能满足开发者的需求。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(草根用户厌倦了传统媒体上对权威的“90度仰视”)
  编者按:本文由联合创始人@邵宝麟提供。他是哥伦比亚大学计算机科学博士候选人。2007年获得华中科技大学软件工程学士学位。曾在印度Infosys SETLab和美国IBM TJ Watson研究中心进行“下一代高性能分布式计算”研究。深圳乐建网络是一家由美国名校辍学生、美国名校博士、成功企业家组成的创业公司。目前正在开发Web3.0时代的高性能推荐互联网产品。目前正在寻找人才,感兴趣的朋友可以联系@邵宝麟或@戴虎宁。
  现在互联网上最流行的是“社交网络”。在国外,烧了投资者无数美元的SNS公司终于陆续上市;在国内,新浪、腾讯、搜狐甚至百度都调整了战略,将微博作为重要的战略布局。
  对于这些巨头来说,微博要么是巩固帝国版图的战略防御武器,要么是追赶对手甚至反击的绝佳机会。
  对于媒体人或意见领袖来说,微博是他们的扩音器,他们希望微博成为未来社会进步的加速器。
  对于一大批草根用户来说,在厌倦了传统媒体权威的“90度仰视”和网络上与同龄人的“0度交流”之后,微博为他们提供了独一无二的45度视角,让他们看到你也可以在倾听的同时有效地表达。
  因此,微博几乎一夜之间风靡全中国。面对这样的市场,创业者没有理由不兴奋。问题是,微博(SNS平台)对创业者意味着什么?Linkedin 创始人 Reid Hoffman 最近的观点可能代表了美国资本市场的普遍看法:“如果 Web 1.0 涉及“去搜索,获取数据”和一些有限的交互性;如果 Web 2.0涉及“真实身份”和“真实关系”,那么Web 3.0 将是“真实身份产生海量数据”。这就好像在说现在是最好的时代,也是最坏的时代。
  面对如此海量的用户生成内容,创业者第一时间就有机会拥有一个上亿用户的平台,以及在这个平台上属于每个用户的唯一数据。但同时,如果不分析和利用这些内容,“信息过载”将严重降低互联网的效率。这是刚性需求。但企业家担心的是这些社交平台本身——它们是否开放?他们现在有多开放?他们未来会开放到什么程度?我们可以从多个维度来讨论这个问题:企业战略、社会趋势、技术发展等等。
  但创业者最关心的是这些平台提供的API(应用程序接口)。毕竟内容是平台的,API几乎是其他人获取这些内容的唯一合法途径。API的种类是否丰富,数据是否完整,使用时有多少限制,直接影响到创业想法的可行性。因此,我们将从以上几个方面对中国最流行的两个微博平台腾讯和新浪做一个简单的比较。
  API多样性
  使用开放平台的开发者最关心的是“这个平台提供了哪些API”和“这些API可以实现什么功能”。新浪已开放近百个API接口。与腾讯相比,开放方式更接近推特。如果我们仔细对比新浪和推特的API,会发现两者不仅数量相当,而且从功能上来说,新浪几乎提供了所有推特的开放服务。相比之下,腾讯API的种类要少得多,目前只有60个左右。仔细看,我们可以将微博平台提供的服务大致分为:公共内容、用户内容、用户关系链、其他辅助功能(如搜索)。
  1、 在公共内容上,腾讯和新浪都提供了获取公共微博和热点话题的接口。但新浪的热门话题界面更加丰富,包括每周、每日和每小时的热门话题。而腾讯只提供了“话题热榜”界面,返回当前最热门话题。
  2、在“用户内容”方面,两个平台的差异就更加明显了。新浪的API接口以用户为中心,而腾讯则更注重提供基础数据。例如,对于微博上的转发和评论,新浪直接提供了API来获取用户发送和接收的评论。但是,腾讯只提供了“获取微博所有评论”的API。这意味着“用户收到的评论”可以通过新浪微博上的API请求获得。在腾讯平台,开发者需要先获取用户发布的微博列表,然后再持有。微博再次向腾讯征求所有意见。不仅如此,腾讯还没有开放“获取用户评论”的界面。
  3、 关于开通“用户关系链”,腾讯和新浪的差别不大,所有第三方都可以获得用户的粉丝和好友列表。由于腾讯微博本身提供了“专听”功能,用户的“专听列表”也可以通过其API获取。
  4、最后,在“可访问性”上,双方提供了“好友推荐”和比较完善的搜索服务(搜索用户,搜索微博),但新浪目前支持获取可能对Tag感兴趣的用户” ,该API为基于微博的推荐服务提供了有效的参考信息。
  API 的数量和类型是多样性的一方面,另一方面是每个 API 的功能。与腾讯相比,新浪的API功能更加丰富。以“获取用户微博”界面为例,新浪接受的参数如下:
  请求参数
  必填类型和范围说明
  sourcetruestring AppKey在申请应用时分配,代表应用在调用接口时的唯一标识。(OAuth授权不需要此参数)
  :idfalseint64/string 根据用户ID(int6&lt;​​@4)或微博昵称(字符串)返回指定用户的最新微博消息列表。该参数为REST风格参数,见注释
  user_idfalseint64 用户ID,主要用于区分用户ID和微博昵称。当微博昵称与用户ID产生歧义时,建议使用该参数,尤其是微博昵称与用户ID相同时
  screen_namefalsestring 微博昵称,主要用于区分用户UID和微博昵称。当两者相同且有歧义时,建议使用该参数
  since_idfalseint64 如果指定该参数,则只返回ID大于since_id(即发布时间晚于since_id)的微博消息。
  max_idfalseint64 如果指定该参数,则返回ID小于等于max_id的微博消息
  countfalseint,默认值为20,最大值为200。指定每页返回的记录数。
  pagefalseint,默认值为1。页码。注:最多可返回 200 条分页内容。
  如果id、user_id、screen_name这三个参数都没有指定,则返回当前登录用户发布的微博消息列表。
  base_appfalseint 是否根据当前应用获取数据。1表示限制本应用的微博,0表示不限制。
  featurefalseint 微博类型,0 全部,1原创,2 图片,3 视频,4 音乐。返回指定类型微博的信息内容。
  相比之下,腾讯的界面更原创:
  请求参数
  必填类型和范围说明
  oauthtruestringoauth 标准参数
  Formatfalsestring 返回结果的格式:xml 或 json
  Pageflagfalseint 页面标志,0 表示第一页,1 表示向下,2 表示向上
  pagetimefalseint 本页开始时间,第一页填0,继续翻页:填上次请求返回的最后一条记录的时间
  Reqnumfalseint 每个请求的记录数
  LastIdfalseint64 第一页填0,继续向下翻页,填上上次请求返回的最后一条记录的ID,用于翻页
  Nametruestring 需要读取的用户的用户名
  我们可以看到腾讯的界面只提供了翻页功能,而新浪提供了微博过滤。不仅是“获取微博”接口,新浪的大部分API都具备一定程度的信息过滤能力,而腾讯的大部分接口只提供基础数据。作为第三方开发者,API接口功能的丰富不仅简化了开发,也降低了部分应用超出API请求限制的风险。
  数据的完整性
  数据完整性是指开放平台是否限制开发者请求某些数据时返回的数据量。最能体现一个平台的开放性。遗憾的是,从这个意义上说,新浪和腾讯都没有真正开放。以用户的“粉丝列表”为例,可以看出新浪、腾讯和推特的区别。Twitter是一个真正开放的平台,开发者可以通过API获取任何用户的完整粉丝列表。虽然一个请求最多返回 100 个粉丝的详细信息,但我们可以通过在 Twitter 上发送多个请求来获得完整的粉丝列表。再看新浪,一般授权用户最多只能获取5000条最新的粉丝信息,但与推特相比,新浪每个请求最多可以返回200个粉丝。然而,新浪和推特还为开发者提供了专门的“社交图谱”界面,可以一次性获取用户5000粉丝的id。不过,新浪仍将总粉丝数设定为5000人,推特也一如既往的开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。Twitter 仍然像往常一样开放。至于腾讯,其API文档并没有限制用户粉丝数,但一个API请求最多只能获取30个粉丝信息,并且没有提供类似“社交图谱”的接口。在这种限制下,可以想象,腾讯微博平台上拥有数十万粉丝的用户很难构建“社交图谱”。
  请求限制
  很多开发者抱怨开放平台,最多的不是API函数的数量,而是各个平台对API请求的限制。但是所有的开放平台(无论是twitter、linkedin还是facebook)都会在一定程度上限制他们的开发者使用自己的资源。这与“开放”策略无关,更多是基于系统安全的考虑。因此,各个平台的API限制策略基本相同。例如,新浪给普通授权开发者每个ip每小时最多10000个API请求,每个用户每小时150个请求。(腾讯和新浪的详细访问权限请参见:和,3)。真正的问题不是平台授予基本授权应用多少请求配额,但是当应用程序因配额而受到限制时,这些平台如何为应用程序解决这个问题。只有为平台设计一个公开、公平的规则,才能真正消除开发者对其开放性的疑虑。
  通过以上分析,我们可以清楚地看到,新浪是目前国内最接近推特的微博平台(无论是规模还是开放度),这次山寨也恰到好处。与推特相比,腾讯的微博是一个完全不同的产品。虽然收录了腾讯自己对微博和开放平台的理解和规划,但目前只适合支持基本的“用户驱动”应用。对于“数据驱动”的复杂应用,平台的接口暂时还远远不能满足开发者的需求。

使用新浪微博开放平台api同步微博内容至自己网站( 李开复:如何充分利用微博促进技术论坛的发展?(组图))

网站优化优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2021-12-10 15:08 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
李开复:如何充分利用微博促进技术论坛的发展?(组图))
  
  随着微博的快速发展和普及,它在很多领域的参与和渗透也越来越广泛,正如李开复在《微博改变一切》一书中所说。我们可以从以下报道中了解微博的过去、现状和未来发展趋势。以下为引用内容:
  上海交通大学舆情研究实验室于2010年12月28日发布了《2010中国微博年度报告》,报告预测2013年前后中国微博用户将出现爆发式增长,2013年市场将进入成熟期截止2010年10月,中国微博服务访问量已达12521.70,000人次,累计活跃注册用户数已超过6500万。
  报告作者、上海交通大学一、媒体经济与管理研究中心主任刘耕云指出,2010年被称为中国微博发展元年,出现了井喷式发展。的发展。他表示,微博“发展速度快,影响力大,逐渐体现了论坛和博客的替代趋势”。
  基于以上信息,我们不仅可以预见微博的快速发展,还可以了解微博、论坛和博客在一定时期内并存的情况。那么如何充分利用微博来推动技术论坛的发展呢?笔者根据最近的实践讲一些经验,给大家鼓励!
  首先,微博和论坛要一致
  1、 一致定位:
  在定位微博之前,我们先看看能否回答以下两个问题:
  (1)为谁写微博?主要是针对目标人群,让他们成为忠实粉丝。
  (2)写微博的目的是什么?每个人的目标都是多种多样的,有的为了记录自己的生活,有的为了社交,有的为了学习知识和技术,为了分享想法和经验,为了休闲娱乐等等
  让我们通过对李开复的采访来加深对以上两点的理解:
  以下为引用内容:
  问:你为什么写微博?
  李开复:我写微博的目的是记录我的想法和有趣的事实+积极影响社会和他人。
  问:给孩子的建议,微博怎么用?
  李开复:1) 不要只用微博看八卦、社交和游戏。微博是一款非常好的学习工具,点击“关注”即可添加老师。2)不要沉默,不要潜水。这是沉默的公众发出声音的绝佳机会。甚至“转贴”也是群众智慧的机制之一。3)学好写作,积极影响他人,是一件神圣的事情。
  当以上两个问题有了明确的答案后,微博的定位也就顺理成章了。
  作者的论坛是关于软件测试的。目标受众是大多数软件测试工作者和对软件测试感兴趣的人。目的是学习知识和技术,分享实践经验。为此,我将我的微博命名为“让试飞”,寓意通过大家的努力,这个行业会飞速发展。至此,我有了明确的定位,确定我的微博话题是关于软件测试领域的,让更多的目标人群(粉丝)了解它,关注它,通过微博找到论坛,让论坛和微博可以达到互补的效果,进而推动论坛更好的发展。
  2、内容是一样的:
  微博是一种互动传播速度极快的工具,传播速度甚至比媒体还要快。微博的特色在于“微”字。发布一条消息只需要一句话(140字)。有人称之为140字的奇迹。另一个最大的特点是集成和开放。您可以通过手机、IM软件(gtalk、MSN、QQ、Skype)和外部API接口向您的微博发布消息。由于其便捷性、随意性、低门槛(普通人与莎士比亚一样),用户群呈现爆发式增长。如果利用好微博的这些特点,结合论坛和微博内容的一致性,将有助于目标人群吸引论坛,促进论坛的快速发展。
  3、目标群体必须一致:
  作者的论坛主要是讨论软件测试技术,需要微博关注的目标人群是软件测试相关的博主。只有这样,论坛的粘性才能增加,相互促进。从下图可以看出,粉丝是目标人群:
  
  二、微博与论坛互通技术的实现
  笔者近期对国内三大微博(新浪、腾讯、搜狐)进行了仔细对比。通过自己的使用和大家的口碑,相信大众,承认新浪在微博领域领先一步;康盛DZ论坛产品分享第一。; 针对这两点,本文将以新浪微博和DZX1.5为例进行相关举例。
  由于新浪在其微博应用上采取了一系列强有力的措施,目前它正在突飞猛进地发展。
  2010年11月16日——由新浪公司主办的中国首届微博开发者大会在北京召开。作为微博行业的首场科技盛宴,本次大会引起了行业专家、草根网友,尤其是各类第三方开发者的普遍关注。
  携手五家顶级风险投资人,2亿只专注于微博应用开发的基金,推出了中国微博开发者创新基金,这是国内首只专注于微博应用开发的基金。为方便基于新浪微博的第三方开发,新浪微博建立了开发者专属区——新浪微博开放平台,并提供了强有力的措施,采取与开发者3:7的分享。
  近日,微博新域名()上线,是计划中的两个域名之一。
  这些都表明,新浪正在以开放的理念在微博应用中构建一个庞大而良性的微博生态系统。
  笔者在这里介绍的时候,感兴趣的读者可能已经猜到了微博和论坛之间是否已经有了连接工具?没错,就是XweiboforDiscuz!X1.5V1.1插件。为了节省空间,安装过程等请参考官方网站。
  为了让读者能够阅读本文,真正将其应用到自己的论坛中,达到标题中的目标,笔者将在论坛中详细介绍一下新浪微博的使用说明。
  一、绑定微博账号
  登录本论坛后,如果您还没有绑定新浪微博,会出现下图“绑定微博账号”红色按钮(绑定后不会再出现)。
  
  点击这个红色按钮,会出现如下界面:
  
  如果您已经有新浪微博账号,只需点击“绑定新浪微博”按钮;否则,点击“注册新浪微博”,您将进入新浪微博注册页面,只需输入您的电子邮件地址并创建密码和验证码,大约一分钟即可完成注册。
  按照以上步骤,点击“绑定新浪微博”按钮,弹出如下界面:
  
  输入账号和密码后,点击“授权”按钮,出现新浪微博设置页面:
  
  在这里您可以选择需要与新浪微博同步的社区中的哪些。一共五个项目:发帖、记录、日志、分享和传送门文章。勾选的选项在发布时会提示是否同步到新浪微博(下面会涉及到)。
  设置好后,点击“保存设置”,出现一个很酷的提示,如下图:
  
  行!绑定完成。下面我们详细说一下操作。
  二、如何使用
  为了节省篇幅,以下仅以发布话题同步到新浪微博为例。其他的比如同步发布日志(记录、分享)到新浪微博也类似。
  如果你想让更多人分享你发布的话题,你可以考虑转发到新浪微博。这很容易做到。请看下图,勾选“同时发布到新浪微博”即可。
  
  也可以转发之前发表的话题,点击最后一个“转发”按钮即可,如下图:
  
  转发到新浪微博后的效果图:
  
  如果您想查看论坛中的原文,只需点击上方红框中的超链接即可。
  最后,需要说明的是图底部的“来自天天软件测试社区”。如果审核失败,将显示为“来自失败的审核申请”。关于如何申请新浪微博Appkey,可以通过官方开放平台了解。网上有很多相关的文章。
  最后说说如何经营自己的微博
  微博的定位、内容和目标人群我已经讲过了。现在我们来谈谈管理它们的措施和方法。只有做好微博,才能达到推动社区快速发展的目标。
  一要完善微博信息。包括:昵称设置要与网站的名字一致或密切相关,网站的个人资料可以写在个人信息中,标签应该写网站关键词 等等。如果条件允许,还可以申请实名认证,增加一定的权限。
  其次,在不偏离内容定位的前提下,坚持每天在线人数高峰期定期更新信息,热情回复和解决粉丝提出的问题;追求文字简洁,附图片,带#topics#,利于搜索;在社区开展“转发微博打赏”等活动,将更多的精华内容推送到微博;适当转发行业或名人微博,让专家的声音能传播得更广更远。
  以上只是笔者使用的部分措施和方法。你可以在网上找到更多相关的话题,然后根据自己的网站做出合理的选择。
  先总结一下,不管我怎么努力让阅读这篇文章的读者文章都能善用微博和论坛,我还是觉得自己做不到。比如文章中提到的微博插件(XweiboforDiscuz!X1.5V1.1,截至发稿已升级为2.0beta),不同的人可能会遇到不同的问题,如按钮错位、与其他插件冲突、插件本身的bug等,本文无法解释清楚。因此,正确的应该是一个好的开始。如果能帮到你,就是我的追求!欢迎发表您的意见和批评!
  欢迎转载,转载请注明第一个网址:本文来自:天天软件测试社区(),详细文章参考: 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
李开复:如何充分利用微博促进技术论坛的发展?(组图))
  
  随着微博的快速发展和普及,它在很多领域的参与和渗透也越来越广泛,正如李开复在《微博改变一切》一书中所说。我们可以从以下报道中了解微博的过去、现状和未来发展趋势。以下为引用内容:
  上海交通大学舆情研究实验室于2010年12月28日发布了《2010中国微博年度报告》,报告预测2013年前后中国微博用户将出现爆发式增长,2013年市场将进入成熟期截止2010年10月,中国微博服务访问量已达12521.70,000人次,累计活跃注册用户数已超过6500万。
  报告作者、上海交通大学一、媒体经济与管理研究中心主任刘耕云指出,2010年被称为中国微博发展元年,出现了井喷式发展。的发展。他表示,微博“发展速度快,影响力大,逐渐体现了论坛和博客的替代趋势”。
  基于以上信息,我们不仅可以预见微博的快速发展,还可以了解微博、论坛和博客在一定时期内并存的情况。那么如何充分利用微博来推动技术论坛的发展呢?笔者根据最近的实践讲一些经验,给大家鼓励!
  首先,微博和论坛要一致
  1、 一致定位:
  在定位微博之前,我们先看看能否回答以下两个问题:
  (1)为谁写微博?主要是针对目标人群,让他们成为忠实粉丝。
  (2)写微博的目的是什么?每个人的目标都是多种多样的,有的为了记录自己的生活,有的为了社交,有的为了学习知识和技术,为了分享想法和经验,为了休闲娱乐等等
  让我们通过对李开复的采访来加深对以上两点的理解:
  以下为引用内容:
  问:你为什么写微博?
  李开复:我写微博的目的是记录我的想法和有趣的事实+积极影响社会和他人。
  问:给孩子的建议,微博怎么用?
  李开复:1) 不要只用微博看八卦、社交和游戏。微博是一款非常好的学习工具,点击“关注”即可添加老师。2)不要沉默,不要潜水。这是沉默的公众发出声音的绝佳机会。甚至“转贴”也是群众智慧的机制之一。3)学好写作,积极影响他人,是一件神圣的事情。
  当以上两个问题有了明确的答案后,微博的定位也就顺理成章了。
  作者的论坛是关于软件测试的。目标受众是大多数软件测试工作者和对软件测试感兴趣的人。目的是学习知识和技术,分享实践经验。为此,我将我的微博命名为“让试飞”,寓意通过大家的努力,这个行业会飞速发展。至此,我有了明确的定位,确定我的微博话题是关于软件测试领域的,让更多的目标人群(粉丝)了解它,关注它,通过微博找到论坛,让论坛和微博可以达到互补的效果,进而推动论坛更好的发展。
  2、内容是一样的:
  微博是一种互动传播速度极快的工具,传播速度甚至比媒体还要快。微博的特色在于“微”字。发布一条消息只需要一句话(140字)。有人称之为140字的奇迹。另一个最大的特点是集成和开放。您可以通过手机、IM软件(gtalk、MSN、QQ、Skype)和外部API接口向您的微博发布消息。由于其便捷性、随意性、低门槛(普通人与莎士比亚一样),用户群呈现爆发式增长。如果利用好微博的这些特点,结合论坛和微博内容的一致性,将有助于目标人群吸引论坛,促进论坛的快速发展。
  3、目标群体必须一致:
  作者的论坛主要是讨论软件测试技术,需要微博关注的目标人群是软件测试相关的博主。只有这样,论坛的粘性才能增加,相互促进。从下图可以看出,粉丝是目标人群:
  
  二、微博与论坛互通技术的实现
  笔者近期对国内三大微博(新浪、腾讯、搜狐)进行了仔细对比。通过自己的使用和大家的口碑,相信大众,承认新浪在微博领域领先一步;康盛DZ论坛产品分享第一。; 针对这两点,本文将以新浪微博和DZX1.5为例进行相关举例。
  由于新浪在其微博应用上采取了一系列强有力的措施,目前它正在突飞猛进地发展。
  2010年11月16日——由新浪公司主办的中国首届微博开发者大会在北京召开。作为微博行业的首场科技盛宴,本次大会引起了行业专家、草根网友,尤其是各类第三方开发者的普遍关注。
  携手五家顶级风险投资人,2亿只专注于微博应用开发的基金,推出了中国微博开发者创新基金,这是国内首只专注于微博应用开发的基金。为方便基于新浪微博的第三方开发,新浪微博建立了开发者专属区——新浪微博开放平台,并提供了强有力的措施,采取与开发者3:7的分享。
  近日,微博新域名()上线,是计划中的两个域名之一。
  这些都表明,新浪正在以开放的理念在微博应用中构建一个庞大而良性的微博生态系统。
  笔者在这里介绍的时候,感兴趣的读者可能已经猜到了微博和论坛之间是否已经有了连接工具?没错,就是XweiboforDiscuz!X1.5V1.1插件。为了节省空间,安装过程等请参考官方网站。
  为了让读者能够阅读本文,真正将其应用到自己的论坛中,达到标题中的目标,笔者将在论坛中详细介绍一下新浪微博的使用说明。
  一、绑定微博账号
  登录本论坛后,如果您还没有绑定新浪微博,会出现下图“绑定微博账号”红色按钮(绑定后不会再出现)。
  
  点击这个红色按钮,会出现如下界面:
  
  如果您已经有新浪微博账号,只需点击“绑定新浪微博”按钮;否则,点击“注册新浪微博”,您将进入新浪微博注册页面,只需输入您的电子邮件地址并创建密码和验证码,大约一分钟即可完成注册。
  按照以上步骤,点击“绑定新浪微博”按钮,弹出如下界面:
  
  输入账号和密码后,点击“授权”按钮,出现新浪微博设置页面:
  
  在这里您可以选择需要与新浪微博同步的社区中的哪些。一共五个项目:发帖、记录、日志、分享和传送门文章。勾选的选项在发布时会提示是否同步到新浪微博(下面会涉及到)。
  设置好后,点击“保存设置”,出现一个很酷的提示,如下图:
  
  行!绑定完成。下面我们详细说一下操作。
  二、如何使用
  为了节省篇幅,以下仅以发布话题同步到新浪微博为例。其他的比如同步发布日志(记录、分享)到新浪微博也类似。
  如果你想让更多人分享你发布的话题,你可以考虑转发到新浪微博。这很容易做到。请看下图,勾选“同时发布到新浪微博”即可。
  
  也可以转发之前发表的话题,点击最后一个“转发”按钮即可,如下图:
  
  转发到新浪微博后的效果图:
  
  如果您想查看论坛中的原文,只需点击上方红框中的超链接即可。
  最后,需要说明的是图底部的“来自天天软件测试社区”。如果审核失败,将显示为“来自失败的审核申请”。关于如何申请新浪微博Appkey,可以通过官方开放平台了解。网上有很多相关的文章。
  最后说说如何经营自己的微博
  微博的定位、内容和目标人群我已经讲过了。现在我们来谈谈管理它们的措施和方法。只有做好微博,才能达到推动社区快速发展的目标。
  一要完善微博信息。包括:昵称设置要与网站的名字一致或密切相关,网站的个人资料可以写在个人信息中,标签应该写网站关键词 等等。如果条件允许,还可以申请实名认证,增加一定的权限。
  其次,在不偏离内容定位的前提下,坚持每天在线人数高峰期定期更新信息,热情回复和解决粉丝提出的问题;追求文字简洁,附图片,带#topics#,利于搜索;在社区开展“转发微博打赏”等活动,将更多的精华内容推送到微博;适当转发行业或名人微博,让专家的声音能传播得更广更远。
  以上只是笔者使用的部分措施和方法。你可以在网上找到更多相关的话题,然后根据自己的网站做出合理的选择。
  先总结一下,不管我怎么努力让阅读这篇文章的读者文章都能善用微博和论坛,我还是觉得自己做不到。比如文章中提到的微博插件(XweiboforDiscuz!X1.5V1.1,截至发稿已升级为2.0beta),不同的人可能会遇到不同的问题,如按钮错位、与其他插件冲突、插件本身的bug等,本文无法解释清楚。因此,正确的应该是一个好的开始。如果能帮到你,就是我的追求!欢迎发表您的意见和批评!
  欢迎转载,转载请注明第一个网址:本文来自:天天软件测试社区(),详细文章参考:

使用新浪微博开放平台api同步微博内容至自己网站(试试用python调用微博API的SDK授权所必须的 )

网站优化优采云 发表了文章 • 0 个评论 • 45 次浏览 • 2021-12-10 10:13 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(试试用python调用微博API的SDK授权所必须的
)
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的app,然后你就可以得到app key和app secret,这些是app获得OAuth2.0授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret外,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.&lt; @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]

try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, 'error'):
if e.error == 'expired_token':
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False

return True

if __name__ == "__main__":
apply_access_token()

# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status='Test OAuth 2.0 Send a Weibo!')
  
  
  重试.py
  import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.

delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn't really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff 0:
if rv == True or type(rv) == str: # Done on success ..
return rv
mtries -= 1 # consume an attempt
time.sleep(mdelay) # wait...
mdelay *= backoff # make future wait longer
rv = f(*args, **kwargs) # Try again
return False # Ran out of tries :-(
return f_retry # true decorator -> decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(试试用python调用微博API的SDK授权所必须的
)
  因为最近接触到调用新浪微博开放接口的项目,想尝试用python调用微博API。
  SDK下载地址:代码不超过十几K,完全可以理解。
  如果你有微博账号,你可以创建一个新的app,然后你就可以得到app key和app secret,这些是app获得OAuth2.0授权所必需的。
  要了解OAuth2,可以查看链接新浪微博的说明。除了app key和app secret外,OAuth2授权参数还需要网站回调地址redirect_uri,这个回调地址不允许在局域网内(神马localhost,127.&lt; @0.0:
tokenInfos=db.token.find().sort([("_id",pymongo.DESCENDING)]).limit(1)
else:
make_access_token()
return False
for tokenInfo in tokenInfos:
access_token=tokenInfo["access_token"]
expires_in=tokenInfo["expires_in"]

try:
client.set_access_token(access_token, expires_in)
except StandardError, e:
if hasattr(e, 'error'):
if e.error == 'expired_token':
# token过期重新生成
make_access_token()
return False
else:
pass
except:
make_access_token()
return False

return True

if __name__ == "__main__":
apply_access_token()

# 以下为访问微博api的应用逻辑
# 以发布文字微博接口为例
client.statuses.update.post(status='Test OAuth 2.0 Send a Weibo!')
  
  
  重试.py
  import math
import time
# Retry decorator with exponential backoff
def retry(tries, delay=1, backoff=2):
"""Retries a function or method until it returns True.

delay sets the initial delay, and backoff sets how much the delay should
lengthen after each failure. backoff must be greater than 1, or else it
isn't really a backoff. tries must be at least 0, and delay greater than
0."""
if backoff 0:
if rv == True or type(rv) == str: # Done on success ..
return rv
mtries -= 1 # consume an attempt
time.sleep(mdelay) # wait...
mdelay *= backoff # make future wait longer
rv = f(*args, **kwargs) # Try again
return False # Ran out of tries :-(
return f_retry # true decorator -> decorated function
return deco_retry # @retry(arg[, ...]) -> true decorator
  
  

使用新浪微博开放平台api同步微博内容至自己网站(微博SDK及示例工程目录结构及分析SDK(图))

网站优化优采云 发表了文章 • 0 个评论 • 51 次浏览 • 2021-12-09 20:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博SDK及示例工程目录结构及分析SDK(图))
  登出API
  用于收回用户的授权。
  邀请API
  提供好友邀请功能,支持登录用户向微博好友发送私信邀请和礼物。
  注:目前我们只提供部分接口。主要原因是API太大。测试每个 API 也是一项非常耗时的任务。因此,我们在使用时优先开放第三方最关心的少数几个API(如上表所示),其他API继续放在com.sina.weibo.sdk.openapi.legacy下。其实这些API我们并没有全部发布,也希望第三方开发者可以和我们一起维护这些API,并将修改后的代码推送到Github。
  另外,网络模块重构了一个简单易用的框架,第三方开发者可以通过Http请求直接调用OpenAPI接口,见:。
  API 文档
  运行示例代码
  为了方便第三方应用更快地集成微博SDK,更清晰地了解当前微博SDK提供的功能,我们在GitHub上提供了一个简单的示例工程和相应的APK安装包。
  方法一:直接通过adb install命令安装WeiboSDKDemo.apk
  方法二:在Eclipse中导入并运行WeiboSDKDemo工程(详见微博Android平台SDK文档3.1.1.pdf:运行示例代码)
  注意:通过第二种方式运行项目时,一定要替换默认的debug.keystore文件,否则授权不会成功。另外,debug.keysotre 是新浪官方的。除编译运行官方DEMO外,请勿直接使用。出于安全原因,您应该为您的应用程序提供一个密钥。
  在 C:\Users\XXXXX\.android 目录中,将 Android 默认的 debug.keystore 替换为 GitHub 上提供的官方 debug.keystore。
  微博SDK和DEMO项目目录结构及分析
  微博SDK目前以部分开源的形式提供给第三方开发者。简而言之,可以分为以下三个部分:
  集成前准备1. 申请应用的APP_KEY
  这一步需要在微博开放平台注册您的应用,获取APP_KEY,并添加应用的授权回调页面(Redirect URI)。详情请仔细阅读:手机客户端访问()
  2. 注册应用的包名和签名
  您需要在微博开放平台注册应用的包名和签名,才能正确进行授权。
  请注意:未注册包名及签名,或签名注册不正确将导致授权失败。
  应用包名:指AndroidManifest.xml文件中包标签所代表的内容。
  应用签名:签名是官方签名工具生成的MD5值。
  详情请看:微博Android平台SDK文档V3.1.1.pdf:如何使用签名工具获取你的应用签名?
  3. 选择你想要的集成方式
  在集成微博 SDK 之前,您有两种可选的方式来集成微博 SDK:
  详情请看:微博Android平台SDK文档3.1.1.pdf 中:选择你要集成的方式
  4. 在你的应用中添加SDK需要的权限
  5. 在你的应用中注册SDK需要的Activity和Service
  第三方如何使用(认证和授权)1.,替换为自己应用的APP_KEY等参数
  鉴于很多第三方开发者直接复制使用Demo中的Constants类,需要说明的是,第三方开发者需要将Constants类中的各种参数替换为自己的应用参数。请仔细阅读代码注释。
  public interface Constants {
/** 当前 DEMO 应用的 APP_KEY,第三方应用应该使用自己的 APP_KEY 替换该 APP_KEY */
public static final String APP_KEY = "2045436852";
/**
* 当前 DEMO 应用的回调页,第三方应用可以使用自己的回调页。
* 建议使用默认回调页:https://api.weibo.com/oauth2/default.html
*/
public static final String REDIRECT_URL = "http://www.sina.com";
/**
* WeiboSDKDemo 应用对应的权限,第三方开发者一般不需要这么多,可直接设置成空即可。
* 详情请查看 Demo 中对应的注释。
*/
public static final String SCOPE =
"email,direct_messages_read,direct_messages_write,"
+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
+ "follow_app_official_microblog," + "invitation_write";
}
  2. 创建微博API接口类对象
  mAuthInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);
  其中:APP_KEY、REDIRECT_URL、SCOPE需要替换为第三方应用申请的内容。
  3. 实现 WeiboAuthListener 接口
  class AuthListener implements WeiboAuthListener {
@Override
public void onComplete(Bundle values) {
// 从 Bundle 中解析 Token
mAccessToken = Oauth2AccessToken.parseAccessToken(values);
if (mAccessToken.isSessionValid()) {
// 保存 Token 到 SharedPreferences
AccessTokenKeeper.writeAccessToken(WBAuthActivity.this, mAccessToken);
.........
} else {
// 当您注册的应用程序签名不正确时,就会收到 Code,请确保签名正确
String code = values.getString("code", "");
.........
}
}
@Override
public void onCancel() {
}
@Override
public void onWeiboException(WeiboException e) {
}
}
  4. 调用方法、认证和授权
  以上三个授权需要在Activity的onActivityResult函数中调用以下方法:
  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (mSsoHandler != null) {
mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}
  网络请求框架的使用
  在V2.5.0以后的版本中,我们重构了网络模块,提供了同步和异步网络请求接口。
  异步接口:AsyncWeiboRunner#requestAsync(String, WeiboParameters, String, RequestListener)
  同步接口:AsyncWeiboRunner#request(String, WeiboParameters, String)
  其中,同步接口用于开发者有自己的异步请求机制。
  示例:使用异步接口发送带有图片的微博
  // 1. 获取要发送的图片
Drawable drawable = getResources().getDrawable(R.drawable.ic_com_sina_weibo_sdk_logo);
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
// 2. 调用接口发送微博
WeiboParameters params = new WeiboParameters();
params.put("access_token", mAccessToken.getToken());
params.put("status", "通过API发送微博-upload");
params.put("visible", "0");
params.put("list_id", "");
params.put("pic", bitmap);
params.put("lat", "14.5");
params.put("long", "23.0");
params.put("annotations", "");
AsyncWeiboRunner.requestAsync(
"https://api.weibo.com/2/statuses/upload.json",
params,
"POST",
mListener);
  以上代码中,请开发者自行补充mAccessToken和mListener
  其他功能
  其他功能请参考文档:微博Android平台SDK文档V3.1.1.pdf 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博SDK及示例工程目录结构及分析SDK(图))
  登出API
  用于收回用户的授权。
  邀请API
  提供好友邀请功能,支持登录用户向微博好友发送私信邀请和礼物。
  注:目前我们只提供部分接口。主要原因是API太大。测试每个 API 也是一项非常耗时的任务。因此,我们在使用时优先开放第三方最关心的少数几个API(如上表所示),其他API继续放在com.sina.weibo.sdk.openapi.legacy下。其实这些API我们并没有全部发布,也希望第三方开发者可以和我们一起维护这些API,并将修改后的代码推送到Github。
  另外,网络模块重构了一个简单易用的框架,第三方开发者可以通过Http请求直接调用OpenAPI接口,见:。
  API 文档
  运行示例代码
  为了方便第三方应用更快地集成微博SDK,更清晰地了解当前微博SDK提供的功能,我们在GitHub上提供了一个简单的示例工程和相应的APK安装包。
  方法一:直接通过adb install命令安装WeiboSDKDemo.apk
  方法二:在Eclipse中导入并运行WeiboSDKDemo工程(详见微博Android平台SDK文档3.1.1.pdf:运行示例代码)
  注意:通过第二种方式运行项目时,一定要替换默认的debug.keystore文件,否则授权不会成功。另外,debug.keysotre 是新浪官方的。除编译运行官方DEMO外,请勿直接使用。出于安全原因,您应该为您的应用程序提供一个密钥。
  在 C:\Users\XXXXX\.android 目录中,将 Android 默认的 debug.keystore 替换为 GitHub 上提供的官方 debug.keystore。
  微博SDK和DEMO项目目录结构及分析
  微博SDK目前以部分开源的形式提供给第三方开发者。简而言之,可以分为以下三个部分:
  集成前准备1. 申请应用的APP_KEY
  这一步需要在微博开放平台注册您的应用,获取APP_KEY,并添加应用的授权回调页面(Redirect URI)。详情请仔细阅读:手机客户端访问()
  2. 注册应用的包名和签名
  您需要在微博开放平台注册应用的包名和签名,才能正确进行授权。
  请注意:未注册包名及签名,或签名注册不正确将导致授权失败。
  应用包名:指AndroidManifest.xml文件中包标签所代表的内容。
  应用签名:签名是官方签名工具生成的MD5值。
  详情请看:微博Android平台SDK文档V3.1.1.pdf:如何使用签名工具获取你的应用签名?
  3. 选择你想要的集成方式
  在集成微博 SDK 之前,您有两种可选的方式来集成微博 SDK:
  详情请看:微博Android平台SDK文档3.1.1.pdf 中:选择你要集成的方式
  4. 在你的应用中添加SDK需要的权限
  5. 在你的应用中注册SDK需要的Activity和Service
  第三方如何使用(认证和授权)1.,替换为自己应用的APP_KEY等参数
  鉴于很多第三方开发者直接复制使用Demo中的Constants类,需要说明的是,第三方开发者需要将Constants类中的各种参数替换为自己的应用参数。请仔细阅读代码注释。
  public interface Constants {
/** 当前 DEMO 应用的 APP_KEY,第三方应用应该使用自己的 APP_KEY 替换该 APP_KEY */
public static final String APP_KEY = "2045436852";
/**
* 当前 DEMO 应用的回调页,第三方应用可以使用自己的回调页。
* 建议使用默认回调页:https://api.weibo.com/oauth2/default.html
*/
public static final String REDIRECT_URL = "http://www.sina.com";
/**
* WeiboSDKDemo 应用对应的权限,第三方开发者一般不需要这么多,可直接设置成空即可。
* 详情请查看 Demo 中对应的注释。
*/
public static final String SCOPE =
"email,direct_messages_read,direct_messages_write,"
+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
+ "follow_app_official_microblog," + "invitation_write";
}
  2. 创建微博API接口类对象
  mAuthInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL, Constants.SCOPE);
  其中:APP_KEY、REDIRECT_URL、SCOPE需要替换为第三方应用申请的内容。
  3. 实现 WeiboAuthListener 接口
  class AuthListener implements WeiboAuthListener {
@Override
public void onComplete(Bundle values) {
// 从 Bundle 中解析 Token
mAccessToken = Oauth2AccessToken.parseAccessToken(values);
if (mAccessToken.isSessionValid()) {
// 保存 Token 到 SharedPreferences
AccessTokenKeeper.writeAccessToken(WBAuthActivity.this, mAccessToken);
.........
} else {
// 当您注册的应用程序签名不正确时,就会收到 Code,请确保签名正确
String code = values.getString("code", "");
.........
}
}
@Override
public void onCancel() {
}
@Override
public void onWeiboException(WeiboException e) {
}
}
  4. 调用方法、认证和授权
  以上三个授权需要在Activity的onActivityResult函数中调用以下方法:
  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (mSsoHandler != null) {
mSsoHandler.authorizeCallBack(requestCode, resultCode, data);
}
}
  网络请求框架的使用
  在V2.5.0以后的版本中,我们重构了网络模块,提供了同步和异步网络请求接口。
  异步接口:AsyncWeiboRunner#requestAsync(String, WeiboParameters, String, RequestListener)
  同步接口:AsyncWeiboRunner#request(String, WeiboParameters, String)
  其中,同步接口用于开发者有自己的异步请求机制。
  示例:使用异步接口发送带有图片的微博
  // 1. 获取要发送的图片
Drawable drawable = getResources().getDrawable(R.drawable.ic_com_sina_weibo_sdk_logo);
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
// 2. 调用接口发送微博
WeiboParameters params = new WeiboParameters();
params.put("access_token", mAccessToken.getToken());
params.put("status", "通过API发送微博-upload");
params.put("visible", "0");
params.put("list_id", "");
params.put("pic", bitmap);
params.put("lat", "14.5");
params.put("long", "23.0");
params.put("annotations", "");
AsyncWeiboRunner.requestAsync(
"https://api.weibo.com/2/statuses/upload.json",
params,
"POST",
mListener);
  以上代码中,请开发者自行补充mAccessToken和mListener
  其他功能
  其他功能请参考文档:微博Android平台SDK文档V3.1.1.pdf

使用新浪微博开放平台api同步微博内容至自己网站(使用python调用微博API的授权机制是什么?如何使用)

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-09 00:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(使用python调用微博API的授权机制是什么?如何使用)
  不用稻草做砖。
  数据采集​​是数据分析的前提。许多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博API列表。
  本文将初步介绍如何使用微博API获取基本概念和理解,方便后面深入理解。
  step1:使用python调用微博API,首先下载python SDK,即sinaweibopy
  Sinaweibopy是一款Python专用的OAuth 2客户端,支持微博API,无依赖,100%纯Py,单文件,代码简单,运行可靠,也是新浪微博的Python SDK。
  可以直接通过pip安装:
  pip install sinaweibopy
  什么是SDK?SDK的英文全称是软件开发工具包(software development kit)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。为应用编写代码时,无需重复编写在实际屏幕上绘制文本等代码。SDK 可以帮助您做到这一点。简而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
  step2:了解新浪微博的授权机制,即OAuth 2
  API 调用需要获取用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(也就是我们自己在第三步创建的应用),Resource Owner指的是一个user,Authorization Server 是我们的授权 Server,Resource Server 是一个 API server。
  从流程图中可以看出,为了调用API服务器内容,需要将访问令牌告知API服务器;用户获得授权后,将访问令牌返回给新浪(授权服务器)创建的应用程序;为了完成用户授权,我们应用程序首先要给用户授权页面(授权请求)。
  
  微博API的授权机制(来自微博开放平台开发文档)
  用户授权后,浏览器的URL如下所示:
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经得到用户的授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,从API服务器获取微博数据。
  了解了上面的机制后,我们就知道如何编写代码来调用API了。
  step3:在微博开放平台上创建自己的应用
  现在让我们创建我们自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
  我们通过微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序机密。您可以在“我的申请-申请信息-基本信息”中查看,用于授权。注意:无需提交审核,只需提供应用密钥和应用密钥即可。
  如果是异地web应用或者手机客户端应用,出于安全考虑,需要填写平台的redirect_url(授权回调页面)网站使用OAuth2.0。填写地址为“我的申请&gt;申请信息&gt;高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:
  
  我的申请-申请信息-高级信息
  step4:python代码实现
  首先,导入所需的模块:
  from weibo import APIClient
import webbrowser #python内置的包,支持对浏览器进行操作
  使用微博 SDK 创建我们的应用程序:
  APP_KEY = '123456'
APP_SECRET = 'abc123xyz456'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html' #回调授权页面,用户完成授权后返回的页面
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
  授权页面的url(%3A//oauth2/default.html&amp;response_type=code&amp;client_id=729983294)。用webbrowser打开这个url,会唤醒浏览器打开
  url=client.get_authorize_url() #得到授权页面的url
webbrowser.open_new(url) #打开这个url
  
  打开授权页面的url
  用户完成授权后,URL 如下所示:。我们需要code=后面的内容。
  print '输入url中code后面的内容后按回车键:'
code = raw_input()
  使用代码获取访问令牌:
  r = client.request_access_token(code)
access_token = r.access_token # 新浪(授权服务器)返回的token
expires_in = r.expires_in
  您可以打印 r 以查看里面的内容:
  print(r)
{'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
  设置access_token后,可以直接调用API:
  client.set_access_token(access_token, expires_in)
  输出最新的公众微博:
  print(client.statuses__public_timeline)
  返回的具体内容可以在微博API文档中找到。
  例如,我们可以输出用户的昵称、个人资料、位置和微博:
  for i in range(0,length):
print(u'昵称:'+statuses[i]['user']['screen_name'])
print(u'简介:'+statuses[i]['user']['description'])
print(u'位置:'+statuses[i]['user']['location'])
print(u'微博:'+statuses[i]['text'])
  
  最新公开微博
  参考资料:
  Python调用微博API
  如何通过python调用新浪微博的API 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用python调用微博API的授权机制是什么?如何使用)
  不用稻草做砖。
  数据采集​​是数据分析的前提。许多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博API列表。
  本文将初步介绍如何使用微博API获取基本概念和理解,方便后面深入理解。
  step1:使用python调用微博API,首先下载python SDK,即sinaweibopy
  Sinaweibopy是一款Python专用的OAuth 2客户端,支持微博API,无依赖,100%纯Py,单文件,代码简单,运行可靠,也是新浪微博的Python SDK。
  可以直接通过pip安装:
  pip install sinaweibopy
  什么是SDK?SDK的英文全称是软件开发工具包(software development kit)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。为应用编写代码时,无需重复编写在实际屏幕上绘制文本等代码。SDK 可以帮助您做到这一点。简而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
  step2:了解新浪微博的授权机制,即OAuth 2
  API 调用需要获取用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(也就是我们自己在第三步创建的应用),Resource Owner指的是一个user,Authorization Server 是我们的授权 Server,Resource Server 是一个 API server。
  从流程图中可以看出,为了调用API服务器内容,需要将访问令牌告知API服务器;用户获得授权后,将访问令牌返回给新浪(授权服务器)创建的应用程序;为了完成用户授权,我们应用程序首先要给用户授权页面(授权请求)。
  
  微博API的授权机制(来自微博开放平台开发文档)
  用户授权后,浏览器的URL如下所示:
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经得到用户的授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,从API服务器获取微博数据。
  了解了上面的机制后,我们就知道如何编写代码来调用API了。
  step3:在微博开放平台上创建自己的应用
  现在让我们创建我们自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
  我们通过微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序机密。您可以在“我的申请-申请信息-基本信息”中查看,用于授权。注意:无需提交审核,只需提供应用密钥和应用密钥即可。
  如果是异地web应用或者手机客户端应用,出于安全考虑,需要填写平台的redirect_url(授权回调页面)网站使用OAuth2.0。填写地址为“我的申请&gt;申请信息&gt;高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:
  
  我的申请-申请信息-高级信息
  step4:python代码实现
  首先,导入所需的模块:
  from weibo import APIClient
import webbrowser #python内置的包,支持对浏览器进行操作
  使用微博 SDK 创建我们的应用程序:
  APP_KEY = '123456'
APP_SECRET = 'abc123xyz456'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html' #回调授权页面,用户完成授权后返回的页面
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
  授权页面的url(%3A//oauth2/default.html&amp;response_type=code&amp;client_id=729983294)。用webbrowser打开这个url,会唤醒浏览器打开
  url=client.get_authorize_url() #得到授权页面的url
webbrowser.open_new(url) #打开这个url
  
  打开授权页面的url
  用户完成授权后,URL 如下所示:。我们需要code=后面的内容。
  print '输入url中code后面的内容后按回车键:'
code = raw_input()
  使用代码获取访问令牌:
  r = client.request_access_token(code)
access_token = r.access_token # 新浪(授权服务器)返回的token
expires_in = r.expires_in
  您可以打印 r 以查看里面的内容:
  print(r)
{'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
  设置access_token后,可以直接调用API:
  client.set_access_token(access_token, expires_in)
  输出最新的公众微博:
  print(client.statuses__public_timeline)
  返回的具体内容可以在微博API文档中找到。
  例如,我们可以输出用户的昵称、个人资料、位置和微博:
  for i in range(0,length):
print(u'昵称:'+statuses[i]['user']['screen_name'])
print(u'简介:'+statuses[i]['user']['description'])
print(u'位置:'+statuses[i]['user']['location'])
print(u'微博:'+statuses[i]['text'])
  
  最新公开微博
  参考资料:
  Python调用微博API
  如何通过python调用新浪微博的API

使用新浪微博开放平台api同步微博内容至自己网站(我要开发自己的微博应用(App),(组图))

网站优化优采云 发表了文章 • 0 个评论 • 41 次浏览 • 2021-12-08 22:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发自己的微博应用(App),(组图))
  OAuth和新浪微博开放平台介绍我之前在新浪微博上创建了一个应用,并获得了App key和Secret key,以便调用新浪微博开放平台API来了解它的全部内容。前几天,连续4天没课,于是我就耐心的摸索API的使用方法。新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有一些基础接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我没有 不要放弃试图理解它。废话少说,以下是我的学习过程****。如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。
  因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。刚接触OAuth的时候,完全没有概念,觉得没办法学。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下: OAUTH协议介绍 基于OAuth安全协议的Java应用编程 在***应用中使用OAuth OAuth有3个参与者,分别是User、Service Provider、Consumer。假设我想为其他新浪微博用户开发一个基于新浪微博开放平台的应用程序(App)。它们的对应关系如下: User =&gt; 新浪微博用户想要使用这个App Provider =&gt; 新浪微博开放平台Consumer =&gt; App 其实我们的App就相当于User和Provider(新浪微博平台)的一个第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。下面是根据我对整个OAuth认证授权流程的理解画的图(可以跳过,对下面的一些概念有一定了解的时候再看这个流程图): 结合上面的流程图,下面这是我对这些术语和每个过程的描述的理解:Consumer key和Consumer Secret:
  消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。对应上图中的流程1和流程2。Request Token、Request Secret:当用户访问Consumer并希望获得其特殊服务时,该服务会在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。对应上图中的流程3、4、5。处理6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后消费者可以开始使用 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发自己的微博应用(App),(组图))
  OAuth和新浪微博开放平台介绍我之前在新浪微博上创建了一个应用,并获得了App key和Secret key,以便调用新浪微博开放平台API来了解它的全部内容。前几天,连续4天没课,于是我就耐心的摸索API的使用方法。新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有一些基础接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我没有 不要放弃试图理解它。废话少说,以下是我的学习过程****。如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。因为我们需要用这两个账号同时创建一个微博应用来获取App key和Secret key。那么App key和Secret key有什么用呢?其实我只是在新浪微博开放平台上看了一系列的说明,并不是很了解App key和Secret key的使用。
  因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。刚接触OAuth的时候,完全没有概念,觉得没办法学。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下: OAUTH协议介绍 基于OAuth安全协议的Java应用编程 在***应用中使用OAuth OAuth有3个参与者,分别是User、Service Provider、Consumer。假设我想为其他新浪微博用户开发一个基于新浪微博开放平台的应用程序(App)。它们的对应关系如下: User =&gt; 新浪微博用户想要使用这个App Provider =&gt; 新浪微博开放平台Consumer =&gt; App 其实我们的App就相当于User和Provider(新浪微博平台)的一个第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。下面是根据我对整个OAuth认证授权流程的理解画的图(可以跳过,对下面的一些概念有一定了解的时候再看这个流程图): 结合上面的流程图,下面这是我对这些术语和每个过程的描述的理解:Consumer key和Consumer Secret:
  消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。对应上图中的流程1和流程2。Request Token、Request Secret:当用户访问Consumer并希望获得其特殊服务时,该服务会在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。对应上图中的流程3、4、5。处理6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。实际上,浏览器会重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),然后Provider会被重定向到流程1中Consumer提供的Callback_URL,URL参数附加OAuth令牌和 OAuth 验证器。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后消费者可以开始使用

使用新浪微博开放平台api同步微博内容至自己网站( 腾讯微博开放平台合作方式介绍2011-01-26目录(组图))

网站优化优采云 发表了文章 • 0 个评论 • 51 次浏览 • 2021-12-06 03:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
腾讯微博开放平台合作方式介绍2011-01-26目录(组图))
  
  腾讯微博开放平台合作方式介绍 2011-01-26 目录 什么是腾讯微博开放平台 腾讯微博开放API介绍 典型应用类型 i微博系统介绍 开放平台数据服务 什么是腾讯微博开放平台 广大开发者提供开放接口构建丰富多样的应用开放平台,为用户提供多种典型应用辅助开发。三方迅速搭建了自己的微博系统,并与腾讯微博平台进行沟通,充分利用腾讯用户和信息资源。第三方应用可以从微博获取海量信息或向千万用户传播信息,获得营销推广机会。开放的数据共享和传播服务加上你的智慧,将创造无穷的功能和乐趣。腾讯微博开放API提供以下功能接口。第三方可以使用这些 API 来开发自己的微博应用程序。用户授权微博阅读、写作、收听和搜索用户。微博话题乘法口算100题七年级有理数混合计算100题计算机一级题库二元线性方程应用题真话大冒险刺激题私信采集详细API说明,请看httpopentqqcomresourcephpi11腾讯微博开放API介绍 典型应用介绍 使用腾讯微博开放API可以实现丰富的微博应用形式,包括账号连接,
  
  典型应用介绍 4 用户互动 一键转播至腾讯微博网页图片、视频从本站微博新闻评论返回网站作为内容,促进用户交流。典型应用介绍 5 小工具、小游戏 使用微博API还可以为第三方实现各种小工具、小游戏。为了更丰富的内容和乐趣,比如在微博上给朋友点歌,用户信息统计工具,比如分析发微博的习惯,你平时什么时候睡觉等。上传文件到微博,在微博、美图秀秀上发布下载链接,卡通身份证微博投票九宫格日记iweibo系统什么是iweiboiweibo是基于腾讯微博API开发的免费开源微博系统合作伙伴合作伙伴iweiboiweiboi微博系统具备腾讯微博的所有功能基于腾讯微博开放平台API开发即可在任何第三方服务器中设置为第三方网站提供微博功能。用户可以获取和修改源代码。添加特殊功能。账号资料系统与腾讯微博平台全对接腾讯微博平台提供稳定的后台服务和信息审核保障施工计划示例,结构施工计划,
  
  博客全功能运营管理后台接入腾讯微博账号。同步用户信息收听关系。操作和前端显示定制。管理后端可以轻松定制。面向用户的操作推荐元素页面代码完全开源,可定制。平台审核管理 无审核风险 自动安装 按照安装向导提示,自动完成iweibo系统的部署。高兼容性 品牌营销机遇 强大的平台支持8000万微博用户资源,从腾讯微博获取优质内容,通过腾讯微博平台的审核管理,降低网民互动障碍,增加网民参与度。提供管理后台快速定制前端操作元素 i微博能给你带来什么样的强大平台来支持拥有8000万注册用户的腾讯微博。这些用户可能会成为新华网的忠实粉丝,并从腾讯微博获取优质内容。1 微博内容自然丰富,可以通过列表话题等方式进行搜索,腾讯微博的信息输出到i微博,获取最即时、最丰富、最活跃、最火的微博消息 2 紧急突发事件通过腾讯微博审核提供现场最新鲜的信息内容 1 所有i微博内容通过腾讯微博审核合作伙伴 无审核压力 2 专业审核团队24小时待命,删除不良内容iweibo 随时 3 提供微博评论关键词屏蔽删除功能,降低网民参与门槛,提高网民参与度 1 微博内容短发布门槛低,自然有利于用户加入 2 微博更有利于增加网民的活动超过了传统的论坛、博客等形式。3 微博转播、评论、对话、私信等功能有利于网友互动,提供管理后台,快速定制前端操作元素,全面管理后台。方便i微博管理前端内容展示,方便账号话题推广等,在腾讯微博上获得品牌营销机会。1 合作伙伴官方微信
  
  博已获得腾讯认证和推荐,并在显要位置获得曝光。粉丝增加了。2 微博来源显示合作伙伴网址和网站名称。微博曝光机会 自动化部署能给你带来什么?微博功能齐全吗?运营管理后台系统 完全开源,支持定制开发。从腾讯微博获取最大量的用户资源或向千万级用户传播信息,在高端用户平台获取营销推广机会。使用开放的数据检索和传播服务,获取最实时的信息。海量数据下的稳定后端。超大规模用户在线承载用户信息和数据安全。评论,采集,搜索,对应iweibo功能,用户推荐话题推荐、热点话题管理、屏蔽功能、i微博基本功能,以证券时报为例,i微博首页满足微博用户的基本需求,输入方式更快,支持话题输入和上传图片 浏览看看每个人都在谈论。搜索框提供最快的支持查找你感兴趣的人列表、微博话题等。我的首页时时提醒你各种动态评论、广播、采集、私信等。在证券时报。示例详情展示合作伙伴品牌定制logo i微博可以自定义专属合作伙伴logo,重点突出合作伙伴展示适合合作伙伴的话题。合作伙伴可以根据自己的媒体领域自定义自己领域的话题。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。
  
  从证券微博点击可直接跳转到证券微博首页。微博和腾讯微博开放,增加合作伙伴在腾讯微博的曝光度。同时,通过来源点击还可以给合作伙伴带来点击 iweibo iweibo 定制功能 iweibo 定制功能更加多样化。可以根据媒体属性定制适合合作伙伴定位的话题媒体类别,例如《证券时报》的证券话题推荐。用户自定义 可以自定义 一定数量的用户推送到iweibo 用户数量可以在后台设置热点话题。定制化可基于合作方定位进行热点话题管理,基于iweibo API功能向网友展示不同内容,使用iweibo的合作网站您可以使用基于腾讯微博的API接口自定义更多功能。如何实现排行榜话题分类iweibo功能的基本功能 1、按照安装向导的提示,自动完成iweibo系统的部署。它方便快捷。2 兼容多种服务器配置定制功能。话题管理推荐话题定制等功能2i微博页面代码完全开源,可定制和个性化的前端展示 i微博管理后台介绍 i微博管理后台主要功能 推荐管理 推荐话题定制 推荐用户定制 热门话题设置 模块启用设置等四模块显示设置 包括自定义logo页页脚设置等二模块屏蔽设置,包括关键词屏蔽、微博屏蔽、评论屏蔽等模块。帐户系统设置包括帐户管理和更改密码。两个模块合作伙伴网站
  
  根据评论内容或评论微博ID屏蔽评论。黑名单管理。将敏感内容垃圾邮件的id拉入黑名单。他们播放的内容不会出现在iweibo腾讯微博上。博客平台实时数据、用户关系、腾讯微博审核、后台审核团队i微博展示内容、i微博管理后台相关屏蔽功能、活跃社区氛围促进用户交流。成功安装iweibo后,用户可以从网站触发iweibo使用完整的微博功能iweibo的使用场景用户可以通过简单的点击从网站触发微博功能,使用授权账号进入iweibo微博释放区。微博信息展示,在iweibo中发送微博信息,并同步到腾讯微博数千万用户平台获得营销机会。i微博的使用场景为开放平台数据服务数据服务1开放平台提供腾讯微博平台管理的所有数据,有效规避第三方实时数据审计风险2开放平台可以为第三方应用提供消息读写数据用户授权 登录数据通过一键播报功能,生成腾讯微博每日发帖数等数据,协助第三方了解自身运营情况,并根据数据完善自身产品 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
腾讯微博开放平台合作方式介绍2011-01-26目录(组图))
  
  腾讯微博开放平台合作方式介绍 2011-01-26 目录 什么是腾讯微博开放平台 腾讯微博开放API介绍 典型应用类型 i微博系统介绍 开放平台数据服务 什么是腾讯微博开放平台 广大开发者提供开放接口构建丰富多样的应用开放平台,为用户提供多种典型应用辅助开发。三方迅速搭建了自己的微博系统,并与腾讯微博平台进行沟通,充分利用腾讯用户和信息资源。第三方应用可以从微博获取海量信息或向千万用户传播信息,获得营销推广机会。开放的数据共享和传播服务加上你的智慧,将创造无穷的功能和乐趣。腾讯微博开放API提供以下功能接口。第三方可以使用这些 API 来开发自己的微博应用程序。用户授权微博阅读、写作、收听和搜索用户。微博话题乘法口算100题七年级有理数混合计算100题计算机一级题库二元线性方程应用题真话大冒险刺激题私信采集详细API说明,请看httpopentqqcomresourcephpi11腾讯微博开放API介绍 典型应用介绍 使用腾讯微博开放API可以实现丰富的微博应用形式,包括账号连接,
  
  典型应用介绍 4 用户互动 一键转播至腾讯微博网页图片、视频从本站微博新闻评论返回网站作为内容,促进用户交流。典型应用介绍 5 小工具、小游戏 使用微博API还可以为第三方实现各种小工具、小游戏。为了更丰富的内容和乐趣,比如在微博上给朋友点歌,用户信息统计工具,比如分析发微博的习惯,你平时什么时候睡觉等。上传文件到微博,在微博、美图秀秀上发布下载链接,卡通身份证微博投票九宫格日记iweibo系统什么是iweiboiweibo是基于腾讯微博API开发的免费开源微博系统合作伙伴合作伙伴iweiboiweiboi微博系统具备腾讯微博的所有功能基于腾讯微博开放平台API开发即可在任何第三方服务器中设置为第三方网站提供微博功能。用户可以获取和修改源代码。添加特殊功能。账号资料系统与腾讯微博平台全对接腾讯微博平台提供稳定的后台服务和信息审核保障施工计划示例,结构施工计划,
  
  博客全功能运营管理后台接入腾讯微博账号。同步用户信息收听关系。操作和前端显示定制。管理后端可以轻松定制。面向用户的操作推荐元素页面代码完全开源,可定制。平台审核管理 无审核风险 自动安装 按照安装向导提示,自动完成iweibo系统的部署。高兼容性 品牌营销机遇 强大的平台支持8000万微博用户资源,从腾讯微博获取优质内容,通过腾讯微博平台的审核管理,降低网民互动障碍,增加网民参与度。提供管理后台快速定制前端操作元素 i微博能给你带来什么样的强大平台来支持拥有8000万注册用户的腾讯微博。这些用户可能会成为新华网的忠实粉丝,并从腾讯微博获取优质内容。1 微博内容自然丰富,可以通过列表话题等方式进行搜索,腾讯微博的信息输出到i微博,获取最即时、最丰富、最活跃、最火的微博消息 2 紧急突发事件通过腾讯微博审核提供现场最新鲜的信息内容 1 所有i微博内容通过腾讯微博审核合作伙伴 无审核压力 2 专业审核团队24小时待命,删除不良内容iweibo 随时 3 提供微博评论关键词屏蔽删除功能,降低网民参与门槛,提高网民参与度 1 微博内容短发布门槛低,自然有利于用户加入 2 微博更有利于增加网民的活动超过了传统的论坛、博客等形式。3 微博转播、评论、对话、私信等功能有利于网友互动,提供管理后台,快速定制前端操作元素,全面管理后台。方便i微博管理前端内容展示,方便账号话题推广等,在腾讯微博上获得品牌营销机会。1 合作伙伴官方微信
  
  博已获得腾讯认证和推荐,并在显要位置获得曝光。粉丝增加了。2 微博来源显示合作伙伴网址和网站名称。微博曝光机会 自动化部署能给你带来什么?微博功能齐全吗?运营管理后台系统 完全开源,支持定制开发。从腾讯微博获取最大量的用户资源或向千万级用户传播信息,在高端用户平台获取营销推广机会。使用开放的数据检索和传播服务,获取最实时的信息。海量数据下的稳定后端。超大规模用户在线承载用户信息和数据安全。评论,采集,搜索,对应iweibo功能,用户推荐话题推荐、热点话题管理、屏蔽功能、i微博基本功能,以证券时报为例,i微博首页满足微博用户的基本需求,输入方式更快,支持话题输入和上传图片 浏览看看每个人都在谈论。搜索框提供最快的支持查找你感兴趣的人列表、微博话题等。我的首页时时提醒你各种动态评论、广播、采集、私信等。在证券时报。示例详情展示合作伙伴品牌定制logo i微博可以自定义专属合作伙伴logo,重点突出合作伙伴展示适合合作伙伴的话题。合作伙伴可以根据自己的媒体领域自定义自己领域的话题。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。微博输入框显示更多样化的展示形式。多种展示形式,可以展示网站最想要的话题 直播厅 定制个性化的直播厅,可以设置推荐内容和展示位置iweibo上会同步到网友的腾讯微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。最想要的话题 转播厅 定制个性化转播厅,可设置推荐内容和展示位置 同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。同一个iweibo用户在腾讯微博上发布的微博也将同步到iweibo并同步到该网友的腾讯微博。广播会显示来自合作伙伴,例如来自证券微博。
  
  从证券微博点击可直接跳转到证券微博首页。微博和腾讯微博开放,增加合作伙伴在腾讯微博的曝光度。同时,通过来源点击还可以给合作伙伴带来点击 iweibo iweibo 定制功能 iweibo 定制功能更加多样化。可以根据媒体属性定制适合合作伙伴定位的话题媒体类别,例如《证券时报》的证券话题推荐。用户自定义 可以自定义 一定数量的用户推送到iweibo 用户数量可以在后台设置热点话题。定制化可基于合作方定位进行热点话题管理,基于iweibo API功能向网友展示不同内容,使用iweibo的合作网站您可以使用基于腾讯微博的API接口自定义更多功能。如何实现排行榜话题分类iweibo功能的基本功能 1、按照安装向导的提示,自动完成iweibo系统的部署。它方便快捷。2 兼容多种服务器配置定制功能。话题管理推荐话题定制等功能2i微博页面代码完全开源,可定制和个性化的前端展示 i微博管理后台介绍 i微博管理后台主要功能 推荐管理 推荐话题定制 推荐用户定制 热门话题设置 模块启用设置等四模块显示设置 包括自定义logo页页脚设置等二模块屏蔽设置,包括关键词屏蔽、微博屏蔽、评论屏蔽等模块。帐户系统设置包括帐户管理和更改密码。两个模块合作伙伴网站
  
  根据评论内容或评论微博ID屏蔽评论。黑名单管理。将敏感内容垃圾邮件的id拉入黑名单。他们播放的内容不会出现在iweibo腾讯微博上。博客平台实时数据、用户关系、腾讯微博审核、后台审核团队i微博展示内容、i微博管理后台相关屏蔽功能、活跃社区氛围促进用户交流。成功安装iweibo后,用户可以从网站触发iweibo使用完整的微博功能iweibo的使用场景用户可以通过简单的点击从网站触发微博功能,使用授权账号进入iweibo微博释放区。微博信息展示,在iweibo中发送微博信息,并同步到腾讯微博数千万用户平台获得营销机会。i微博的使用场景为开放平台数据服务数据服务1开放平台提供腾讯微博平台管理的所有数据,有效规避第三方实时数据审计风险2开放平台可以为第三方应用提供消息读写数据用户授权 登录数据通过一键播报功能,生成腾讯微博每日发帖数等数据,协助第三方了解自身运营情况,并根据数据完善自身产品

使用新浪微博开放平台api同步微博内容至自己网站(开发总流程图让你的应用在新浪微博开放平台上运营 )

网站优化优采云 发表了文章 • 0 个评论 • 70 次浏览 • 2021-12-04 07:10 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(开发总流程图让你的应用在新浪微博开放平台上运营
)
  饭子原创,欢迎转载,请注明出处:
  ps 本文项目使用java语言eclipse平台开发,配置过程也是以此为基础。
  开发流程图
  让您的应用程序在新浪微博开放平台上运行,您只需要通过六个简单的步骤:
  
  成为开发者
  1.创建微博账号
  在开发者页面点击“登录”或“创建应用”,通过账号登录成为开发者。一个新浪微博账号可以管理10个不同的应用程序。建议开发者使用官方微博进行统一管理。
  
  2.选择应用类型
  单击“创建应用程序”,进入目标应用程序的类型选择链接。根据应用类型的提示,选择对应的应用创建流程。创建应用程序时,我选择的类型是“其他”,因为我想开发一个java客户端软件。(里面的信息可以随意填写,等开发完应用回来修改。)创建完成后,系统会分配一个App Key和App Secret来验证开发者的身份,写下来,使用以后吧。
  
  3.开发者信息设置
  在开发者信息设置页面填写信息。成为新浪微博认证开发者,需要通过邮箱验证和手机验证。
  注意:开发者类型一经填写,不可修改。个人开发者不得接入微博支付服务,请谨慎选择。
  
  应用开发
  1. 下载SDK源码
  进入下载sdk,下载后解压,作为项目导入eclipse。
  2. 解决授权错误
  解决填写回调地址导致的error:redirect_uri_mismatch导致获取用户授权的问题。
  登录新浪微博开放平台→选择管理中心→点击所需应用名称进入对应应用→左侧应用信息→高级信息→OAuth2.0授权设置点击编辑→站点应用redirect_uri等于将申请信息中的“in site”改为“申请地址”,而不是“申请实际地址”;其他应用:redirect_uri需要改为
  *****/info/advanced(用您的应用程序的 AppKey 替换 30871*****)。
  如果你是异地web应用或者客户端应用,填写redirect_uri地址:
  应用APPKEY/权限/oauth
  注意:修改应用回调页面或绑定域名后,大约需要半小时才能生效。
  3. 填写相关配置
  在eclipse项目中,填写相关配置:在Config.properties中
  客户端 ID:应用密钥
  client_SERCRET: app_secret
  redirect_URI:回调地址(这个需要和步骤3的redirect_uri一致)
  4. 修改项目代码
  在eclipse项目中,修改weibo4j.examples.oauth2.OAuth4Code.java文件,注释第14、15行,然后插入如下代码:
  BareBonesBrowserLaunch.openURL(oauth.authorize("code","",""));
  修改后的结果如图:
  
  5. 授权
  首先运行新修改的weibo4j.examples.oauth2.OAuth4Code.java文件,引导需要授权的用户进入授权页面。如果用户同意授权,点击“授权”。系统回调应用,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE 换取AccessToken。
  
  记录回调应用后网页地址栏中“代码”后面的AccessToken:
  
  授权级别与OAuth2.0access_token有效期对应表:
  授权级别测试普通中级高级
  授权期限为1天、7天、30天、90天
  笔记:
  只有没有经过文案审查的应用程序才处于测试级别。
  当应用属于授权应用的开发者时,有效期为5年。
  access_token 自动延续方案
  如果用户在授权有效期内重新打开授权页面授权(如果用户此时有微博登录状态,此页面会闪过),那么新浪会自动为开发者延长access_token的生命周期,并且需要开发者维护一个新的授权然后获取access_token值。
  如何查询当前应用的授权级别
  可以在应用APPKEY/privilege/oauth上查询当前应用的授权级别。
  6. 测试
  如果你想获取某个用户的信息,你可以运行
  weibo4j.examples.user.ShowUser文件需要在RunConfigurations中配置两个参数,被查看用户的用户id和刚才的“code”代码。
  运行结果显示在命令行中:
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(开发总流程图让你的应用在新浪微博开放平台上运营
)
  饭子原创,欢迎转载,请注明出处:
  ps 本文项目使用java语言eclipse平台开发,配置过程也是以此为基础。
  开发流程图
  让您的应用程序在新浪微博开放平台上运行,您只需要通过六个简单的步骤:
  
  成为开发者
  1.创建微博账号
  在开发者页面点击“登录”或“创建应用”,通过账号登录成为开发者。一个新浪微博账号可以管理10个不同的应用程序。建议开发者使用官方微博进行统一管理。
  
  2.选择应用类型
  单击“创建应用程序”,进入目标应用程序的类型选择链接。根据应用类型的提示,选择对应的应用创建流程。创建应用程序时,我选择的类型是“其他”,因为我想开发一个java客户端软件。(里面的信息可以随意填写,等开发完应用回来修改。)创建完成后,系统会分配一个App Key和App Secret来验证开发者的身份,写下来,使用以后吧。
  
  3.开发者信息设置
  在开发者信息设置页面填写信息。成为新浪微博认证开发者,需要通过邮箱验证和手机验证。
  注意:开发者类型一经填写,不可修改。个人开发者不得接入微博支付服务,请谨慎选择。
  
  应用开发
  1. 下载SDK源码
  进入下载sdk,下载后解压,作为项目导入eclipse。
  2. 解决授权错误
  解决填写回调地址导致的error:redirect_uri_mismatch导致获取用户授权的问题。
  登录新浪微博开放平台→选择管理中心→点击所需应用名称进入对应应用→左侧应用信息→高级信息→OAuth2.0授权设置点击编辑→站点应用redirect_uri等于将申请信息中的“in site”改为“申请地址”,而不是“申请实际地址”;其他应用:redirect_uri需要改为
  *****/info/advanced(用您的应用程序的 AppKey 替换 30871*****)。
  如果你是异地web应用或者客户端应用,填写redirect_uri地址:
  应用APPKEY/权限/oauth
  注意:修改应用回调页面或绑定域名后,大约需要半小时才能生效。
  3. 填写相关配置
  在eclipse项目中,填写相关配置:在Config.properties中
  客户端 ID:应用密钥
  client_SERCRET: app_secret
  redirect_URI:回调地址(这个需要和步骤3的redirect_uri一致)
  4. 修改项目代码
  在eclipse项目中,修改weibo4j.examples.oauth2.OAuth4Code.java文件,注释第14、15行,然后插入如下代码:
  BareBonesBrowserLaunch.openURL(oauth.authorize("code","",""));
  修改后的结果如图:
  
  5. 授权
  首先运行新修改的weibo4j.examples.oauth2.OAuth4Code.java文件,引导需要授权的用户进入授权页面。如果用户同意授权,点击“授权”。系统回调应用,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE 换取AccessToken。
  
  记录回调应用后网页地址栏中“代码”后面的AccessToken:
  
  授权级别与OAuth2.0access_token有效期对应表:
  授权级别测试普通中级高级
  授权期限为1天、7天、30天、90天
  笔记:
  只有没有经过文案审查的应用程序才处于测试级别。
  当应用属于授权应用的开发者时,有效期为5年。
  access_token 自动延续方案
  如果用户在授权有效期内重新打开授权页面授权(如果用户此时有微博登录状态,此页面会闪过),那么新浪会自动为开发者延长access_token的生命周期,并且需要开发者维护一个新的授权然后获取access_token值。
  如何查询当前应用的授权级别
  可以在应用APPKEY/privilege/oauth上查询当前应用的授权级别。
  6. 测试
  如果你想获取某个用户的信息,你可以运行
  weibo4j.examples.user.ShowUser文件需要在RunConfigurations中配置两个参数,被查看用户的用户id和刚才的“code”代码。
  运行结果显示在命令行中:
  

使用新浪微博开放平台api同步微博内容至自己网站(初涉外网资源的互联网系统摸索了很长时间无力吐槽)

网站优化优采云 发表了文章 • 0 个评论 • 54 次浏览 • 2021-12-04 06:22 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(初涉外网资源的互联网系统摸索了很长时间无力吐槽)
  最近在做一些利用三方资源的事情。由于之前做企业管理(ERP)内网系统,我一直在探索涉及外网资源的互联网系统。
  对于网上泛滥的各种教程,我实在是无力吐槽。决定分享一下这段时间遇到的各种问题和相应的解决方法。教程分为两个阶段:一是账号登录,二是三方账号与本地账号的绑定。你可以放心,到代码级别就可以了。
  第 1 部分:三方登录:
  1.去新浪微博开放平台做的事情:
  请耐心阅读,一步一步操作,如图:
  ①进入
  
  ②在微连接中选择“网站访问”:
  
  ③选择立即连接:
  
  请注意,如果您此时未登录,或登录后微博检测到您不是开发者,请填写并查看开发者信息。审核会很快,点击即可通过验证(身份验证)
  ④填写网站信息,然后添加标签到您的网站首页。本地添加后(在eclipse等开发ide的项目主页添加这个),然后重新发布到自己的服务器上,(可以重新打包成war包发布到网上。比如我用腾讯的阿里云托管)。确认以上步骤完成后,点击“验证并添加”,微博中的某段代码会自动读取你在项目首页添加的header,如果有则验证成功。
  
  ⑤经过以上过程,你的网站已经添加成功。这时候微博会发给你你的网站 appKey,(appkey)是你的网站的唯一标识。
  查找您自己的 appkey,如下所示:
  点击我的申请:
  
  这时候会有appkey的值,你一定会看到
  完成这些步骤后,请设置您的授权回调页面:
  解释
  1.授权回调页面是用户登录您使用微博账号访问的网站(您的网站首页或其他页面)
  2. 通俗地说,就是用户在成功授权你的应用后(登录成功后)被重定向到的页面。
  设置如下
  点击上图中的界面管理:
  
  然后点击授权机制,右侧页面有授权回调页面的设置:
  
  点击编辑,修改为自己的网站首页或对应的授权回调页面。(如:(优雅的restful url))等。
  此时,网站的应用访问已经完成。骚年,开始写代码。
  在首页或登录界面设置登录按钮,这里我们选择后者(仅用于测试目的,实际开发应该在首页显示登录按钮,点击登录按钮后,页面跳转到登录界面,在此界面有新浪微博的登录按钮)注意微博有登录组件,这里我们使用自定义按钮:
  进行如下操作:
  ①. 在 weibo.js 中引入
  
  appkey=写你的应用密钥网站。
  ②. 设置您的登录按钮
  
  ③. 在微博登录按钮上设置一个 οnclick="weibologin()" 事件:
  
  ④编写用户授权登录和绑定的js代码:
  
  隐藏表单如下所示:
  
  Spring 安全框架用于用户认证和授权。
  基本上就是这种情况。相信想做这个的人也懂ajax。由于后端代码比较保密,不能写。ajax请求对应的服务端处理代码,请自行完成,基本流程是这样的,有不懂的请留言::1061328217
  一切平安。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(初涉外网资源的互联网系统摸索了很长时间无力吐槽)
  最近在做一些利用三方资源的事情。由于之前做企业管理(ERP)内网系统,我一直在探索涉及外网资源的互联网系统。
  对于网上泛滥的各种教程,我实在是无力吐槽。决定分享一下这段时间遇到的各种问题和相应的解决方法。教程分为两个阶段:一是账号登录,二是三方账号与本地账号的绑定。你可以放心,到代码级别就可以了。
  第 1 部分:三方登录:
  1.去新浪微博开放平台做的事情:
  请耐心阅读,一步一步操作,如图:
  ①进入
  
  ②在微连接中选择“网站访问”:
  
  ③选择立即连接:
  
  请注意,如果您此时未登录,或登录后微博检测到您不是开发者,请填写并查看开发者信息。审核会很快,点击即可通过验证(身份验证)
  ④填写网站信息,然后添加标签到您的网站首页。本地添加后(在eclipse等开发ide的项目主页添加这个),然后重新发布到自己的服务器上,(可以重新打包成war包发布到网上。比如我用腾讯的阿里云托管)。确认以上步骤完成后,点击“验证并添加”,微博中的某段代码会自动读取你在项目首页添加的header,如果有则验证成功。
  
  ⑤经过以上过程,你的网站已经添加成功。这时候微博会发给你你的网站 appKey,(appkey)是你的网站的唯一标识。
  查找您自己的 appkey,如下所示:
  点击我的申请:
  
  这时候会有appkey的值,你一定会看到
  完成这些步骤后,请设置您的授权回调页面:
  解释
  1.授权回调页面是用户登录您使用微博账号访问的网站(您的网站首页或其他页面)
  2. 通俗地说,就是用户在成功授权你的应用后(登录成功后)被重定向到的页面。
  设置如下
  点击上图中的界面管理:
  
  然后点击授权机制,右侧页面有授权回调页面的设置:
  
  点击编辑,修改为自己的网站首页或对应的授权回调页面。(如:(优雅的restful url))等。
  此时,网站的应用访问已经完成。骚年,开始写代码。
  在首页或登录界面设置登录按钮,这里我们选择后者(仅用于测试目的,实际开发应该在首页显示登录按钮,点击登录按钮后,页面跳转到登录界面,在此界面有新浪微博的登录按钮)注意微博有登录组件,这里我们使用自定义按钮:
  进行如下操作:
  ①. 在 weibo.js 中引入
  
  appkey=写你的应用密钥网站。
  ②. 设置您的登录按钮
  
  ③. 在微博登录按钮上设置一个 οnclick="weibologin()" 事件:
  
  ④编写用户授权登录和绑定的js代码:
  
  隐藏表单如下所示:
  
  Spring 安全框架用于用户认证和授权。
  基本上就是这种情况。相信想做这个的人也懂ajax。由于后端代码比较保密,不能写。ajax请求对应的服务端处理代码,请自行完成,基本流程是这样的,有不懂的请留言::1061328217
  一切平安。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的开发api,公示如下公示)

网站优化优采云 发表了文章 • 0 个评论 • 46 次浏览 • 2021-12-04 06:22 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的开发api,公示如下公示)
  注:本文代码无效,请勿模仿,其他方法请参考scribe方法
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api来发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo公布如下,供大家了解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后读取最新的微博信息,最后演示如何发送一个简单的微博,其他可以通过相应的微博api进行处理,有这里没有仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用。查看示例以了解如何拨打电话。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient,将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名、密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名和密码。. 在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  API参考接口:
  整个代码如下:
  获取最新微博信息列表
  API参考接口:
  代码显示如下:
  发送微博消息
  api参考:
  代码显示如下:
  综上所述
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就完成了,后面都是json请求,然后传参数,拿到结果,再处理结果的问题。.
  值得注意的是,在获取access_token的第二步中,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。但是这种方式需要特殊的申请,具体的申请步骤比较复杂,必须经过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章: 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的开发api,公示如下公示)
  注:本文代码无效,请勿模仿,其他方法请参考scribe方法
  最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api来发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo公布如下,供大家了解。
  在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后读取最新的微博信息,最后演示如何发送一个简单的微博,其他可以通过相应的微博api进行处理,有这里没有仔细深入。
  首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
  应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用。查看示例以了解如何拨打电话。
  本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient,将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
  获取应用授权,即允许应用访问用户的相应信息(用户名、密码除外)
  由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名和密码。. 在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
  申请授权地址为:,完整代码如下:
  获取 access_token
  API参考接口:
  整个代码如下:
  获取最新微博信息列表
  API参考接口:
  代码显示如下:
  发送微博消息
  api参考:
  代码显示如下:
  综上所述
  其实整个过程还是很简单的。最重要的是前两步登录和获取授​​权。这两步就完成了,后面都是json请求,然后传参数,拿到结果,再处理结果的问题。.
  值得注意的是,在获取access_token的第二步中,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。但是这种方式需要特殊的申请,具体的申请步骤比较复杂,必须经过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
  相关文章:

使用新浪微博开放平台api同步微博内容至自己网站( 不用插件实现Wordpress文章同步微博代码贴到你主题的function.文件)

网站优化优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2021-12-04 06:18 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
不用插件实现Wordpress文章同步微博代码贴到你主题的function.文件)
  
  新浪微博的人气非常高。几乎每个人每天都会阅读微博。如果你能将你的wordpress文章同步到新浪微博,你可以获得大量的社交媒体流量。还有可以实现同步更新功能的插件,比如评论框。但是今天,我想在这篇文章中介绍的是,无需插件即可实现Wordpress文章 同步更新到新浪微博。
  1、申请新浪微博应用接入
  要实现微博同步功能,首先需要在新浪微博开发者中心申请权限,然后创建网站访问应用。使用您的新浪微博账号登录微博开放平台:。点击页面导航中的【编辑开发者信息】或访问:,根据页面表单内容填写信息,提交后等待审核。新浪评论一般需要1个左右的工作。审核通过后,即可创建应用。然后在微博开放平台首页点击橙色【立即创建微链接】-&gt;【网站访问】或直接访问填写好的申请信息,提交审核。应用审核时间会稍长。这段时间可以使用新浪的开放端口进行开发,
  2、Wordpress 同步新浪微博代码
  新浪微博有很多接口供开发者调用,根据需要,我们只需要了解更新发布接口即可。相关开发文档:. 根据开发文档,我们可以得到如下接口信息:
  
接口URL:https://api.weibo.com/2/statuses/repost.json
数据格式:JSON
请求方式:POST
请求参数:status(微博内容)、source(AppKey,从开发者中心我的应用中获取)
是否需要登陆:是
  根据以上微博界面信息,我们可以编写wordpress代码如下(appkey、用户名、用户密码需要自己替换):
  
/*
文章同步到新浪微博
代码来源: www.wpzhinan.com
*/
function post_to_sina_weibo($post_ID) {
if (wp_is_post_revision($post_ID)) return;//修订版本(更新)不发微博
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
$get_post_title = get_post($post_ID)->post_title;
if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') {
$appkey='3838258703';
$username='微博用户名';
$userpassword='微博密码';
$request = new WP_Http;
$status = '【' . strip_tags($get_post_title) . '】 ' . mb_strimwidth(strip_tags(apply_filters('the_content', $get_post_centent)) , 0, 132, '...') . ' 全文地址:' . get_permalink($post_ID);
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array('status' => $status,'source' => $appkey);
$headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword"));
$result = $request->post($api_url, array('body' => $body,'headers' => $headers));
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);//给发布文章增加一个分享微博的动作
  将上面的wordpress文章同步微博代码粘贴到你主题的function.php文件中。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
不用插件实现Wordpress文章同步微博代码贴到你主题的function.文件)
  
  新浪微博的人气非常高。几乎每个人每天都会阅读微博。如果你能将你的wordpress文章同步到新浪微博,你可以获得大量的社交媒体流量。还有可以实现同步更新功能的插件,比如评论框。但是今天,我想在这篇文章中介绍的是,无需插件即可实现Wordpress文章 同步更新到新浪微博。
  1、申请新浪微博应用接入
  要实现微博同步功能,首先需要在新浪微博开发者中心申请权限,然后创建网站访问应用。使用您的新浪微博账号登录微博开放平台:。点击页面导航中的【编辑开发者信息】或访问:,根据页面表单内容填写信息,提交后等待审核。新浪评论一般需要1个左右的工作。审核通过后,即可创建应用。然后在微博开放平台首页点击橙色【立即创建微链接】-&gt;【网站访问】或直接访问填写好的申请信息,提交审核。应用审核时间会稍长。这段时间可以使用新浪的开放端口进行开发,
  2、Wordpress 同步新浪微博代码
  新浪微博有很多接口供开发者调用,根据需要,我们只需要了解更新发布接口即可。相关开发文档:. 根据开发文档,我们可以得到如下接口信息:
  
接口URL:https://api.weibo.com/2/statuses/repost.json
数据格式:JSON
请求方式:POST
请求参数:status(微博内容)、source(AppKey,从开发者中心我的应用中获取)
是否需要登陆:是
  根据以上微博界面信息,我们可以编写wordpress代码如下(appkey、用户名、用户密码需要自己替换):
  
/*
文章同步到新浪微博
代码来源: www.wpzhinan.com
*/
function post_to_sina_weibo($post_ID) {
if (wp_is_post_revision($post_ID)) return;//修订版本(更新)不发微博
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
$get_post_title = get_post($post_ID)->post_title;
if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') {
$appkey='3838258703';
$username='微博用户名';
$userpassword='微博密码';
$request = new WP_Http;
$status = '【' . strip_tags($get_post_title) . '】 ' . mb_strimwidth(strip_tags(apply_filters('the_content', $get_post_centent)) , 0, 132, '...') . ' 全文地址:' . get_permalink($post_ID);
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array('status' => $status,'source' => $appkey);
$headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword"));
$result = $request->post($api_url, array('body' => $body,'headers' => $headers));
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);//给发布文章增加一个分享微博的动作
  将上面的wordpress文章同步微博代码粘贴到你主题的function.php文件中。

使用新浪微博开放平台api同步微博内容至自己网站(Java使用新浪微博API开发微博应用的相关知识和一些)

网站优化优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2021-12-03 16:01 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(Java使用新浪微博API开发微博应用的相关知识和一些)
  想了解Java使用新浪微博API开发微博应用的基本方法吗?在本文中,刘先安将仔细讲解Java使用微博API开发应用的相关知识以及一些代码示例。欢迎阅读和纠正我们。先划重点:Java、微博、API,大家一起学习。
  新浪微博API现已广泛使用,制作完整的开发流程Demo
  1、 第一步就是注册,就不多说了。注册账号,成为开发者账号。如果做不到,请立即砸电脑,拔掉网线,回家种田。
  2、第二步是创建一个应用程序。创建开发者账号后,打开新浪微博开发平台:
  点击上方菜单栏中的最后一个管理中心
  
  如果是web应用,选择创建网站访问的应用,然后根据新浪微博的要求,balabalabala自己做
  应用程序已创建。点击应用跳转到页面,点击查看应用参数,可以看到应用的相关参数,这些参数会在第四步用到。
  3、第三步下载SDK,回到顶部菜单栏,点击Documents,然后点击左侧菜单栏SDK,选择java sdk,下载balabala。如果您在这一步有任何问题,请回家种田。
  
  所谓sdk并不是sdk(个人觉得这个名字有点误导),而是一个可运行的项目。下载后解压,导入eclipse,可以看到src和example两个目录
  src是新浪微博的一部分
  example 是一个例子,一个界面的演示
  4、第四步配置参数,在src目录找到config.properties
  前三个参数需要配置为第二步中提到的应用参数中的参数。
  后者是默认的,不需要更改
  前三个参数配置如下
  client_ID 是应用程序密钥
  client_SERCRET 是 App Secret
  redirect_URI 就是OAuth2.0 授权回调URL 申请信息&gt;高级信息&gt;OAuth2.0 授权设置 下面这个授权回调页面就是你填写的一个URL,指向自己的服务器,当然下开发 在这个阶段,我们可以使用任何 URL,只要它能让我们了解 OAuth 授权过程。这里我们进入一个取消授权回调页面。也是如此。注意这里的 URL 字符串必须一致。
  5、第五步获取AccessToken。一般情况下,AccessToken必须通过OAuth2.0认证来获取,但是为了简单起见,我来说一个简单的方法。以后再说OAuth2.0
  仍然选择顶部菜单栏Document&gt;API&gt;API Test Tool
  选择创建的应用,点击获取AccessToken。下面的文本框就是我们想要的AccessToken
  
  6、 第六步做一个界面示例
  直接去微博API找一个已有权限的接口,
  随机找了一个用户发的微博status/user_timeline 用于测试
  
  点击该界面可以查看该界面的详细信息,可以查看该界面的各个传入参数和返回参数,不再赘述。
  不使用任何SDK实现Oauth授权,实现简单的微博发布功能:
  创建一个Java项目,编写如下代码。具体的流程代码已经写的很清楚了,这里就不解释了:
  请注意先将应用ID、应用密码和回调页面修改为您自己的!访问授权页面:
  
package com;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Scanner;
import javax.net.ssl.X509TrustManager;
/**
* @author 刘显安
* 不使用任何SDK实现新浪微博Oauth授权并实现发微薄小Demo
* 日期:2012年11月11日
*/
public class Test
{
static String clientId="2355065950";//你的应用ID
static String clientSecret="72037e76bee00315691d9c30dd8a386a";//你的应用密码
static String redirectUri="https://api.weibo.com/oauth2/default.html";//你在应用管理中心设置的回调页面

public static void main(String[] args) throws Exception
{
testHttps();//测试
//第一步:访问授权页面获取授权
System.out.println("请打开你的浏览器,访问以下页面,登录你的微博账号并授权:");
System.out.println("https://api.weibo.com/oauth2/a ... 6quot;);
//第二步:获取AccessToken
System.out.println("请将授权成功后的页面地址栏中的参数code:");
String code=new Scanner(System.in).next();
getAccessToken(code);
//第三步:发布一条微博
System.out.println("请输入上面返回的值中accessToken的值:");
String accessToken=new Scanner(System.in).next();
updateStatus("发布微博测试!来自WeiboDemo!", accessToken);
}
/**
* 测试能否正常访问HTTPS打头的网站,
*/
public static void testHttps()
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URL url=new URL("https://api.weibo.com/oauth2/default.html");
URLConnection con=url.openConnection();
con.getInputStream();
System.out.println("恭喜,访问HTTPS打头的网站正常!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 以Post方式访问一个URL
* @param url 要访问的URL
* @param parameters URL后面“?”后面跟着的参数
*/
public static void postUrl(String url,String parameters)
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URLConnection conn = new URL(url).openConnection();
conn.setDoOutput(true);// 这里是关键,表示我们要向链接里注入的参数
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());// 获得连接输出流
out.write(parameters);
out.flush();
out.close();
// 到这里已经完成了,开始打印返回的HTML代码
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 获取AccessToken
* @param code 在授权页面返回的Code
*/
public static void getAccessToken(String code)
{
String url="https://api.weibo.com/oauth2/access_token";
String parameters="client_id=" +clientId+"&client_secret=" +clientSecret+
"&grant_type=authorization_code" +"&redirect_uri=" +redirectUri+"&code="+code;
postUrl(url, parameters);
}
/**
* 利用刚获取的AccessToken发布一条微博
* @param text 要发布的微博内容
* @param accessToken 刚获取的AccessToken
*/
public static void updateStatus(String text,String accessToken)
{
String url="https://api.weibo.com/2/status ... 3B%3B
String parameters="status="+text+"&access_token="+accessToken;
postUrl(url, parameters);
System.out.println("发布微博成功!");
}
/**
* 设置信任所有的http证书(正常情况下访问https打头的网站会出现证书不信任相关错误,所以必须在访问前调用此方法)
* @throws Exception
*/
private static void trustAllHttpsCertificates() throws Exception
{
javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
trustAllCerts[0] = new X509TrustManager()
{
@Override
public X509Certificate[] getAcceptedIssuers()
{
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
};
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
}
  访问授权页面:
  
  授权成功:
  
  成功发布微博:
  
  控制台输出:
  
  相关文章 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(Java使用新浪微博API开发微博应用的相关知识和一些)
  想了解Java使用新浪微博API开发微博应用的基本方法吗?在本文中,刘先安将仔细讲解Java使用微博API开发应用的相关知识以及一些代码示例。欢迎阅读和纠正我们。先划重点:Java、微博、API,大家一起学习。
  新浪微博API现已广泛使用,制作完整的开发流程Demo
  1、 第一步就是注册,就不多说了。注册账号,成为开发者账号。如果做不到,请立即砸电脑,拔掉网线,回家种田。
  2、第二步是创建一个应用程序。创建开发者账号后,打开新浪微博开发平台:
  点击上方菜单栏中的最后一个管理中心
  
  如果是web应用,选择创建网站访问的应用,然后根据新浪微博的要求,balabalabala自己做
  应用程序已创建。点击应用跳转到页面,点击查看应用参数,可以看到应用的相关参数,这些参数会在第四步用到。
  3、第三步下载SDK,回到顶部菜单栏,点击Documents,然后点击左侧菜单栏SDK,选择java sdk,下载balabala。如果您在这一步有任何问题,请回家种田。
  
  所谓sdk并不是sdk(个人觉得这个名字有点误导),而是一个可运行的项目。下载后解压,导入eclipse,可以看到src和example两个目录
  src是新浪微博的一部分
  example 是一个例子,一个界面的演示
  4、第四步配置参数,在src目录找到config.properties
  前三个参数需要配置为第二步中提到的应用参数中的参数。
  后者是默认的,不需要更改
  前三个参数配置如下
  client_ID 是应用程序密钥
  client_SERCRET 是 App Secret
  redirect_URI 就是OAuth2.0 授权回调URL 申请信息&gt;高级信息&gt;OAuth2.0 授权设置 下面这个授权回调页面就是你填写的一个URL,指向自己的服务器,当然下开发 在这个阶段,我们可以使用任何 URL,只要它能让我们了解 OAuth 授权过程。这里我们进入一个取消授权回调页面。也是如此。注意这里的 URL 字符串必须一致。
  5、第五步获取AccessToken。一般情况下,AccessToken必须通过OAuth2.0认证来获取,但是为了简单起见,我来说一个简单的方法。以后再说OAuth2.0
  仍然选择顶部菜单栏Document&gt;API&gt;API Test Tool
  选择创建的应用,点击获取AccessToken。下面的文本框就是我们想要的AccessToken
  
  6、 第六步做一个界面示例
  直接去微博API找一个已有权限的接口,
  随机找了一个用户发的微博status/user_timeline 用于测试
  
  点击该界面可以查看该界面的详细信息,可以查看该界面的各个传入参数和返回参数,不再赘述。
  不使用任何SDK实现Oauth授权,实现简单的微博发布功能:
  创建一个Java项目,编写如下代码。具体的流程代码已经写的很清楚了,这里就不解释了:
  请注意先将应用ID、应用密码和回调页面修改为您自己的!访问授权页面:
  
package com;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Scanner;
import javax.net.ssl.X509TrustManager;
/**
* @author 刘显安
* 不使用任何SDK实现新浪微博Oauth授权并实现发微薄小Demo
* 日期:2012年11月11日
*/
public class Test
{
static String clientId="2355065950";//你的应用ID
static String clientSecret="72037e76bee00315691d9c30dd8a386a";//你的应用密码
static String redirectUri="https://api.weibo.com/oauth2/default.html";//你在应用管理中心设置的回调页面

public static void main(String[] args) throws Exception
{
testHttps();//测试
//第一步:访问授权页面获取授权
System.out.println("请打开你的浏览器,访问以下页面,登录你的微博账号并授权:");
System.out.println("https://api.weibo.com/oauth2/a ... 6quot;);
//第二步:获取AccessToken
System.out.println("请将授权成功后的页面地址栏中的参数code:");
String code=new Scanner(System.in).next();
getAccessToken(code);
//第三步:发布一条微博
System.out.println("请输入上面返回的值中accessToken的值:");
String accessToken=new Scanner(System.in).next();
updateStatus("发布微博测试!来自WeiboDemo!", accessToken);
}
/**
* 测试能否正常访问HTTPS打头的网站,
*/
public static void testHttps()
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URL url=new URL("https://api.weibo.com/oauth2/default.html";);
URLConnection con=url.openConnection();
con.getInputStream();
System.out.println("恭喜,访问HTTPS打头的网站正常!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 以Post方式访问一个URL
* @param url 要访问的URL
* @param parameters URL后面“?”后面跟着的参数
*/
public static void postUrl(String url,String parameters)
{
try
{
trustAllHttpsCertificates();//设置信任所有的http证书
URLConnection conn = new URL(url).openConnection();
conn.setDoOutput(true);// 这里是关键,表示我们要向链接里注入的参数
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());// 获得连接输出流
out.write(parameters);
out.flush();
out.close();
// 到这里已经完成了,开始打印返回的HTML代码
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* 获取AccessToken
* @param code 在授权页面返回的Code
*/
public static void getAccessToken(String code)
{
String url="https://api.weibo.com/oauth2/access_token";
String parameters="client_id=" +clientId+"&client_secret=" +clientSecret+
"&grant_type=authorization_code" +"&redirect_uri=" +redirectUri+"&code="+code;
postUrl(url, parameters);
}
/**
* 利用刚获取的AccessToken发布一条微博
* @param text 要发布的微博内容
* @param accessToken 刚获取的AccessToken
*/
public static void updateStatus(String text,String accessToken)
{
String url="https://api.weibo.com/2/status ... 3B%3B
String parameters="status="+text+"&access_token="+accessToken;
postUrl(url, parameters);
System.out.println("发布微博成功!");
}
/**
* 设置信任所有的http证书(正常情况下访问https打头的网站会出现证书不信任相关错误,所以必须在访问前调用此方法)
* @throws Exception
*/
private static void trustAllHttpsCertificates() throws Exception
{
javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
trustAllCerts[0] = new X509TrustManager()
{
@Override
public X509Certificate[] getAcceptedIssuers()
{
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException
{}
};
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
}
  访问授权页面:
  
  授权成功:
  
  成功发布微博:
  
  控制台输出:
  
  相关文章

使用新浪微博开放平台api同步微博内容至自己网站( Wave():返回条数限制更新)

网站优化优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-12-03 12:16 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(
Wave():返回条数限制更新)
  
  而且退货数量没有限制!
  代码示例是:
  client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
CALLBACK_URL = client.get_authorize_url()
print CALLBACK_URL
API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 此为我自己写的接口,自动获取code的值
code = API.get_code_Security()
requests = client.request_access_token(code)
access_token = requests.access_token # 新浪返回的token,类似abc123xyz456
expires_in = requests.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
statuses = client.statuses__home_timeline() # 获取数据
  API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 这是我自己写的接口,自动获取code值。下载地址为:(@The_Third_Wave) Python:利用新浪微博API和安全模拟登录自动获取代码值:
  有新的方法会不时更新。
  打印信息:
<p>str_sta = json.dumps(statuses)
text_list = re.findall(r"(? 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(
Wave():返回条数限制更新)
  
  而且退货数量没有限制!
  代码示例是:
  client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
CALLBACK_URL = client.get_authorize_url()
print CALLBACK_URL
API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 此为我自己写的接口,自动获取code的值
code = API.get_code_Security()
requests = client.request_access_token(code)
access_token = requests.access_token # 新浪返回的token,类似abc123xyz456
expires_in = requests.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
statuses = client.statuses__home_timeline() # 获取数据
  API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 这是我自己写的接口,自动获取code值。下载地址为:(@The_Third_Wave) Python:利用新浪微博API和安全模拟登录自动获取代码值:
  有新的方法会不时更新。
  打印信息:
<p>str_sta = json.dumps(statuses)
text_list = re.findall(r"(?

官方客服QQ群

微信人工客服

QQ人工客服


线