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

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

使用新浪微博开放平台api同步微博内容至自己网站(Google+Hangout新功能曝光:屏幕共享、谷歌文档)

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2022-03-05 03:15 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(Google+Hangout新功能曝光:屏幕共享、谷歌文档)
  9月21日消息,据外媒报道,随着Google+正式向公众开放,谷歌今天在其官方博客中宣布了一系列新的Hangout功能,同时也为开发者开放了Hangouts API接口。
  
  大约一周前,媒体预测 Google+ 的 API 至少需要几个月的时间。然而,预测后的第二天,谷歌就招募了“值得信赖的”开发人员对 Google+ API 进行内部测试。谷歌当时不喜欢这个消息,并试图寻找告密者。然而,今天,这些 API 已被确认正式开放。
  据了解,Hangouts API 目前仅处于“开发者预览”阶段,产品尚未成熟,仅开放用于测试目的。这些新的 API 允许开发人员在环聊或 Google 的 YouTube 播放器等实时应用程序中创建自己的体验。Youtube 播放器使 Google+ 用户可以通过环聊功能同时观看视频节目。
  Google 今天还宣布了 Google+ Hangout 的新功能,例如屏幕共享、Google Docs 编辑和绘图,激励开发人员充分利用 Hangouts API 来开发更具创意的应用程序。
  API开放的消息已经在Google+官方博客上看到了。目前,API 开发的重点是共享公共信息,而不是访问用户的社交圈。API 的权限是“只读的”,但这对于喜欢 Google+ 的开发者来说已经足够了。
  Google+的核心是圈子,所以只有能够访问朋友圈的API才是开发者真正期待的。但是,这样的 API 可能需要等待很长时间,因为它过于复杂并且涉及棘手的隐私问题。
  要使用这些 API,开发人员需要创建一个 Web 应用程序并在 Google 注册。开发者还需要指定允许加载应用程序的开发者,然后程序就可以像普通的 Web 应用程序一样运行,并且可以同步使用 API。通过为应用创建“共享状态”,用户可以即时获取参与共享者的状态信息。这包括多媒体播放 API 的状态信息,Hangout 参与者可以即时更新其他人的“静音”、“影评”等信息。
  至于 Hangouts,媒体对 Google+ Hangouts 的高度关注源于 Facebook 提供了许多类似的功能,这迫使 Google+ 的受欢迎程度下降。不难想象,谷歌肯定会推广新的环聊功能,并认为这是 Facebook 所没有的服务。虽然 Facebook 已经通过与 Skype 的集成来提供视频聊天,但它仅限于两个人,而不是一个群组。
  环聊对开发者来说很有趣,开发者可以创建在线会议、网络播客、在线教程、在线游戏等应用程序,这些应用程序可能会成为那些付费应用程序的潜在替代品。
  谷歌工程师克里斯·查博特 (Chris Chabot) 在 Google+ 官方博客上写道,“这些 API 接口允许用户获取发布在 Google+ 上的公共信息,这对我们来说是一个开始。世界上没有好的东西。它建立在一个真空,现在我们有了这个基础,我们可以讨论如何让 Google+ 变得更好。” 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(Google+Hangout新功能曝光:屏幕共享、谷歌文档)
  9月21日消息,据外媒报道,随着Google+正式向公众开放,谷歌今天在其官方博客中宣布了一系列新的Hangout功能,同时也为开发者开放了Hangouts API接口。
  
  大约一周前,媒体预测 Google+ 的 API 至少需要几个月的时间。然而,预测后的第二天,谷歌就招募了“值得信赖的”开发人员对 Google+ API 进行内部测试。谷歌当时不喜欢这个消息,并试图寻找告密者。然而,今天,这些 API 已被确认正式开放。
  据了解,Hangouts API 目前仅处于“开发者预览”阶段,产品尚未成熟,仅开放用于测试目的。这些新的 API 允许开发人员在环聊或 Google 的 YouTube 播放器等实时应用程序中创建自己的体验。Youtube 播放器使 Google+ 用户可以通过环聊功能同时观看视频节目。
  Google 今天还宣布了 Google+ Hangout 的新功能,例如屏幕共享、Google Docs 编辑和绘图,激励开发人员充分利用 Hangouts API 来开发更具创意的应用程序。
  API开放的消息已经在Google+官方博客上看到了。目前,API 开发的重点是共享公共信息,而不是访问用户的社交圈。API 的权限是“只读的”,但这对于喜欢 Google+ 的开发者来说已经足够了。
  Google+的核心是圈子,所以只有能够访问朋友圈的API才是开发者真正期待的。但是,这样的 API 可能需要等待很长时间,因为它过于复杂并且涉及棘手的隐私问题。
  要使用这些 API,开发人员需要创建一个 Web 应用程序并在 Google 注册。开发者还需要指定允许加载应用程序的开发者,然后程序就可以像普通的 Web 应用程序一样运行,并且可以同步使用 API。通过为应用创建“共享状态”,用户可以即时获取参与共享者的状态信息。这包括多媒体播放 API 的状态信息,Hangout 参与者可以即时更新其他人的“静音”、“影评”等信息。
  至于 Hangouts,媒体对 Google+ Hangouts 的高度关注源于 Facebook 提供了许多类似的功能,这迫使 Google+ 的受欢迎程度下降。不难想象,谷歌肯定会推广新的环聊功能,并认为这是 Facebook 所没有的服务。虽然 Facebook 已经通过与 Skype 的集成来提供视频聊天,但它仅限于两个人,而不是一个群组。
  环聊对开发者来说很有趣,开发者可以创建在线会议、网络播客、在线教程、在线游戏等应用程序,这些应用程序可能会成为那些付费应用程序的潜在替代品。
  谷歌工程师克里斯·查博特 (Chris Chabot) 在 Google+ 官方博客上写道,“这些 API 接口允许用户获取发布在 Google+ 上的公共信息,这对我们来说是一个开始。世界上没有好的东西。它建立在一个真空,现在我们有了这个基础,我们可以讨论如何让 Google+ 变得更好。”

使用新浪微博开放平台api同步微博内容至自己网站(APPKEY和APPSECRET写进去.php访问)

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

  使用新浪微博开放平台api同步微博内容至自己网站(APPKEY和APPSECRET写进去.php访问)
  1.访问,选择我是开发者,选择创建应用,填写开发者信息,成功后获取你的APP KEY和APP SECRET,复制,保存。
  2.到接口文档下载SDK文档,选择PHP语言,看到“authentication through OAuth”,我用的是这个,点击下面链接下载解压到本地应用网站 的根目录。
  3.配置文件config.php,将你的APP KEY和APP SECRET写入其中。在浏览器中打开这一层目录,自动运行index.php文件
  此时你会发现出错了: 注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php 第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返回本地,我们可以在这个回调页面上写微博,最后点击发布,从新浪官方微博登录,就可以看到刚才的消息发布文章消息,下面要标注“from xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。例如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那么我将$_SERVER['SCRIPT_URI']改成,连接到下面的/callback.php 就可以了。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
  我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
  另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(APPKEY和APPSECRET写进去.php访问)
  1.访问,选择我是开发者,选择创建应用,填写开发者信息,成功后获取你的APP KEY和APP SECRET,复制,保存。
  2.到接口文档下载SDK文档,选择PHP语言,看到“authentication through OAuth”,我用的是这个,点击下面链接下载解压到本地应用网站 的根目录。
  3.配置文件config.php,将你的APP KEY和APP SECRET写入其中。在浏览器中打开这一层目录,自动运行index.php文件
  此时你会发现出错了: 注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php 第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返回本地,我们可以在这个回调页面上写微博,最后点击发布,从新浪官方微博登录,就可以看到刚才的消息发布文章消息,下面要标注“from xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。例如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那么我将$_SERVER['SCRIPT_URI']改成,连接到下面的/callback.php 就可以了。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
  我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
  另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇)的相关内容吗)

网站优化优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-03-02 09:23 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇)的相关内容吗)
  想了解新浪微博API开发的用户授权(PHP基础)?、API开发一起学习
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。开发者平台的网站是: 收录新浪微博开发的综合信息,包括开发者的使用和各种语言的API功能介绍、文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天就简单整理一下在开发学习过程中使用PHP开发新浪微博API的内容。和描述
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上非常清晰完整。我们可以去检查一下。这里我将从示例开发的角度来介绍和解释。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o->getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号或者直接使用我们的新浪微博账号登录我的app,按照提示创建自己的第三方app。创建完成后,我们可以得到两个授权的App Keys和App Secret值这两个值是我们应用开发的关键
  获取到授权值后,我们可以使用上面的代码获取未授权的Request Token值,该值会存储在$key数组变量中
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。获取到$aurl后,我们可以使用header()直接跳转到授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后会自动跳转回你在最后一个参数中设置的回调页面:可以将此链接设置为上一页,这样授权完成后会自动跳转回来。
  需要注意的是,需要设置会话密钥的值。需要获取下方授权的Access Token。很多朋友可能会参考开放平台上的说明进行授权,发现总是出错。都是关于这个问题的。您尚未设置会话密钥值。当然,你不能得到下面的Access Token的值。你必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上面的代码最终得到了用户授权的Access Token的两个值。它们存储在 $last_key 数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。这基本完成了。这是新浪微博用户授权的完整流程
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。在这里,我将获得最新的微博记录。这个界面会给出一个简单的解释。其他类似。
  获取新浪微博最新信息的API接口函数为: public_timeline() 示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c->public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) && isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常,我们在获取到用户授权的Access Token值后,将其保存在我们的用户表中,并对应于我们应用程序中的账户。我们调用新浪微博的各个api接口后,不需要每次都进行认证。
  上面的代码很简单,就是将 WeiboClient 对象实例化,然后直接调用接口函数 public_timeline 来获取返回的信息。如果没有报错,新浪微博api接口返回的数据格式一般是Json格式或者xml格式,我们这里使用php。对于开发来说,使用 Json 格式的数据具有先天的优势。如果返回Json格式数据,可以直接使用php函数json_decode()将其转换为php常用的数组格式。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇)的相关内容吗)
  想了解新浪微博API开发的用户授权(PHP基础)?、API开发一起学习
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。开发者平台的网站是: 收录新浪微博开发的综合信息,包括开发者的使用和各种语言的API功能介绍、文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天就简单整理一下在开发学习过程中使用PHP开发新浪微博API的内容。和描述
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上非常清晰完整。我们可以去检查一下。这里我将从示例开发的角度来介绍和解释。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o->getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号或者直接使用我们的新浪微博账号登录我的app,按照提示创建自己的第三方app。创建完成后,我们可以得到两个授权的App Keys和App Secret值这两个值是我们应用开发的关键
  获取到授权值后,我们可以使用上面的代码获取未授权的Request Token值,该值会存储在$key数组变量中
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。获取到$aurl后,我们可以使用header()直接跳转到授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后会自动跳转回你在最后一个参数中设置的回调页面:可以将此链接设置为上一页,这样授权完成后会自动跳转回来。
  需要注意的是,需要设置会话密钥的值。需要获取下方授权的Access Token。很多朋友可能会参考开放平台上的说明进行授权,发现总是出错。都是关于这个问题的。您尚未设置会话密钥值。当然,你不能得到下面的Access Token的值。你必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上面的代码最终得到了用户授权的Access Token的两个值。它们存储在 $last_key 数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。这基本完成了。这是新浪微博用户授权的完整流程
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。在这里,我将获得最新的微博记录。这个界面会给出一个简单的解释。其他类似。
  获取新浪微博最新信息的API接口函数为: public_timeline() 示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c->public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) && isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常,我们在获取到用户授权的Access Token值后,将其保存在我们的用户表中,并对应于我们应用程序中的账户。我们调用新浪微博的各个api接口后,不需要每次都进行认证。
  上面的代码很简单,就是将 WeiboClient 对象实例化,然后直接调用接口函数 public_timeline 来获取返回的信息。如果没有报错,新浪微博api接口返回的数据格式一般是Json格式或者xml格式,我们这里使用php。对于开发来说,使用 Json 格式的数据具有先天的优势。如果返回Json格式数据,可以直接使用php函数json_decode()将其转换为php常用的数组格式。

使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)

网站优化优采云 发表了文章 • 0 个评论 • 70 次浏览 • 2022-03-01 18:27 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。

使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)

网站优化优采云 发表了文章 • 0 个评论 • 73 次浏览 • 2022-03-01 18:27 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。

使用新浪微博开放平台api同步微博内容至自己网站(比较简单的操作,老鸟可飞过,只为新手指路!)

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

  使用新浪微博开放平台api同步微博内容至自己网站(比较简单的操作,老鸟可飞过,只为新手指路!)
  换句话说,我一年前就想写这个,我从来没有想过。最近发现很多人都在做这方面的申请(虽然RR伤心,陌陌准备出发),但还是总结一下自己的经验,分享给有需要的朋友!其实也是比较简单的操作,老鸟会飞,只适合新手。
  QQ同时登录
  将上述地址放在前端页面点击链接调用TX第三方对应的登录界面(有PAD、手机、PC类型),输入TX账号登录并授权(前提是您的站点已通过认证),否则只能使用测试账号登录(申请注册的账号)。
  授权完成后,可以进入回调页面进行操作或获取用户信息等。获取登录用户信息的接口为get_user_info,调用如下:
  1
  https://graph.qq.com/user/get_ ... PENID
  将access_token替换为登录后返回地址栏的access_token,oauth_consumer_key为申请的appid,openid在授权过程中生成,可直接获取。调用 $->get_openid() 来获取它。这是一个简单的TX登录授权和获取用户信息。
  同步登录新浪
  将获取的登录地址放在前端,点击跳转微博第三方登录界面。这里还可以设置各种终端的来电显示效果。比较完美的一点是提供了各种调用结果错误码的解释,可以帮助新手更快更有效的使用。授权完成后,可以调用回调页面获取用户信息等操作。由于微博的接口功能比较多,就不一一举例了(附在SDK文末)。
  RR 同步登录
  和上面两个例子一样,操作完成后,对应的回调页面就可以处理结果了!(附在SDK文章末尾)
  SDK下载:QQSDK、WBSDK、RRSDK
  (结束) 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(比较简单的操作,老鸟可飞过,只为新手指路!)
  换句话说,我一年前就想写这个,我从来没有想过。最近发现很多人都在做这方面的申请(虽然RR伤心,陌陌准备出发),但还是总结一下自己的经验,分享给有需要的朋友!其实也是比较简单的操作,老鸟会飞,只适合新手。
  QQ同时登录
  将上述地址放在前端页面点击链接调用TX第三方对应的登录界面(有PAD、手机、PC类型),输入TX账号登录并授权(前提是您的站点已通过认证),否则只能使用测试账号登录(申请注册的账号)。
  授权完成后,可以进入回调页面进行操作或获取用户信息等。获取登录用户信息的接口为get_user_info,调用如下:
  1
  https://graph.qq.com/user/get_ ... PENID
  将access_token替换为登录后返回地址栏的access_token,oauth_consumer_key为申请的appid,openid在授权过程中生成,可直接获取。调用 $->get_openid() 来获取它。这是一个简单的TX登录授权和获取用户信息。
  同步登录新浪
  将获取的登录地址放在前端,点击跳转微博第三方登录界面。这里还可以设置各种终端的来电显示效果。比较完美的一点是提供了各种调用结果错误码的解释,可以帮助新手更快更有效的使用。授权完成后,可以调用回调页面获取用户信息等操作。由于微博的接口功能比较多,就不一一举例了(附在SDK文末)。
  RR 同步登录
  和上面两个例子一样,操作完成后,对应的回调页面就可以处理结果了!(附在SDK文章末尾)
  SDK下载:QQSDK、WBSDK、RRSDK
  (结束)

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博ID获取用户发布过的历史微博内容研究了)

网站优化优采云 发表了文章 • 0 个评论 • 73 次浏览 • 2022-02-28 05:07 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博ID获取用户发布过的历史微博内容研究了)
  上面调用的是通过微博ID获取用户发布的历史微博内容,所以研究了一下新浪微博提供的API。
  1 首先,在微博开放中心下的“创建应用”下创建一个应用。根据需要填写申请信息。填写完成后,无需提交审核。您只需要应用程序密钥和应用程序秘密
  2 在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧“应用信息”一栏,会看到“应用密钥”和“应用程序秘密”。稍后将在程序中使用这些东西。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  3 去下载新浪微博SDK,python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  4 实例验证码,通过微博提供的API抓取授权用户及其关注者的微博:这里需要注意的是,当浏览器弹出页面时,必须先点击“授权”(OAuth 2认证在这里执行,我了解到,用户访问我的应用程序后,页面被定向到新浪服务器,然后用户向新浪服务器输入信息,授权我的应用程序访问用户数据,网址类似:复制代码后代码到控制端,程序需要读取数据2024222384d5dc88316d21675259d73a
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser#python内置的包
import pymongo
from pymongo import MongoClient
APP_KEY = '刚才那个App Key'#注意替换这里为自己申请的App信息
APP_SECRET = '刚才那个App Secret'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html'#回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print '输入url中code后面的内容后按回车键:'
code = raw_input()
#code = your.web.framework.request.get('code')
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
'''
#可以打印下看看里面都有什么东西
#print client.statuses__public_timeline()
statuses = client.statuses__public_timeline()['statuses']
length = len(statuses)
#输出了部分信息
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']
'''
#获取授权用户及其关注好友的微博信息并写入mongo数据库
pagenum=1#微博API返回的微博数据是分页形式的,在API中通过设置页码来读取数据
write_location=MongoClient('localhost',27017)['data']['weiboapi_test']#这里是我自己的mongo数据库,不用mongo存储可以注释掉
while(True):
data=client.statuses.friends_timeline.get(page=pagenum)['statuses']
if data:
pagenum+=1#不断获取新的页面
for i in range(len(data)):
write_location.insert(data[i])#不用mongo存储可以注释掉,直接改为print data[i]打印微博数据
else:#如果读取完数据则结束
break
  在命令行执行:
  python weibo_api.py #假设上述程序文件名为weibo_api.py
  将出现以下文本:
  输入url中code后面的内容,按回车键:
  在现有浏览器会话中创建了一个新窗口。
  2024222384d5dc88316d21675259d73a #注意这里要在上面授权浏览器的URL中输入code后面的东西
  最后,mongo 中的数据如下所示:
  in_reply_to_screen_name”:“”,“user”:{“bi_followers_count”:99,“domain”:“rebo​​l”,“avatar_large”:“”,“verified_source”:“”,“ptype”:3,“statuses_count”:5902 ,“allow_all_comment”:true,“id”:1614282004,“verified_reason_url”:“”,“city”:“1”,“province”:“71”,“block_app”:0,“follow_me”:false,“verified_reason 》:《银联移动支付首席产品架构师;《Programming》和《Java Sleepless》的作者,“followers_count”:100833,“location”:“台湾台北市”,“verified_trade”:“”,“mbtype”:2,“
  新浪微博API无法通过指定ID提取用户的微博内容,除非是高级授权用户。像我这样的刁四没有这样的福气。要捕获少量用户,可以关注所有捕获的用户,然后授权用户捕获自己和朋友的微博。不太可行。看来,对于大量用户来说,获取微博数据的唯一方法就是编写爬虫来解析页面。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博ID获取用户发布过的历史微博内容研究了)
  上面调用的是通过微博ID获取用户发布的历史微博内容,所以研究了一下新浪微博提供的API。
  1 首先,在微博开放中心下的“创建应用”下创建一个应用。根据需要填写申请信息。填写完成后,无需提交审核。您只需要应用程序密钥和应用程序秘密
  2 在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧“应用信息”一栏,会看到“应用密钥”和“应用程序秘密”。稍后将在程序中使用这些东西。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  3 去下载新浪微博SDK,python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  4 实例验证码,通过微博提供的API抓取授权用户及其关注者的微博:这里需要注意的是,当浏览器弹出页面时,必须先点击“授权”(OAuth 2认证在这里执行,我了解到,用户访问我的应用程序后,页面被定向到新浪服务器,然后用户向新浪服务器输入信息,授权我的应用程序访问用户数据,网址类似:复制代码后代码到控制端,程序需要读取数据2024222384d5dc88316d21675259d73a
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser#python内置的包
import pymongo
from pymongo import MongoClient
APP_KEY = '刚才那个App Key'#注意替换这里为自己申请的App信息
APP_SECRET = '刚才那个App Secret'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html'#回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print '输入url中code后面的内容后按回车键:'
code = raw_input()
#code = your.web.framework.request.get('code')
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
'''
#可以打印下看看里面都有什么东西
#print client.statuses__public_timeline()
statuses = client.statuses__public_timeline()['statuses']
length = len(statuses)
#输出了部分信息
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']
'''
#获取授权用户及其关注好友的微博信息并写入mongo数据库
pagenum=1#微博API返回的微博数据是分页形式的,在API中通过设置页码来读取数据
write_location=MongoClient('localhost',27017)['data']['weiboapi_test']#这里是我自己的mongo数据库,不用mongo存储可以注释掉
while(True):
data=client.statuses.friends_timeline.get(page=pagenum)['statuses']
if data:
pagenum+=1#不断获取新的页面
for i in range(len(data)):
write_location.insert(data[i])#不用mongo存储可以注释掉,直接改为print data[i]打印微博数据
else:#如果读取完数据则结束
break
  在命令行执行:
  python weibo_api.py #假设上述程序文件名为weibo_api.py
  将出现以下文本:
  输入url中code后面的内容,按回车键:
  在现有浏览器会话中创建了一个新窗口。
  2024222384d5dc88316d21675259d73a #注意这里要在上面授权浏览器的URL中输入code后面的东西
  最后,mongo 中的数据如下所示:
  in_reply_to_screen_name”:“”,“user”:{“bi_followers_count”:99,“domain”:“rebo​​l”,“avatar_large”:“”,“verified_source”:“”,“ptype”:3,“statuses_count”:5902 ,“allow_all_comment”:true,“id”:1614282004,“verified_reason_url”:“”,“city”:“1”,“province”:“71”,“block_app”:0,“follow_me”:false,“verified_reason 》:《银联移动支付首席产品架构师;《Programming》和《Java Sleepless》的作者,“followers_count”:100833,“location”:“台湾台北市”,“verified_trade”:“”,“mbtype”:2,“
  新浪微博API无法通过指定ID提取用户的微博内容,除非是高级授权用户。像我这样的刁四没有这样的福气。要捕获少量用户,可以关注所有捕获的用户,然后授权用户捕获自己和朋友的微博。不太可行。看来,对于大量用户来说,获取微博数据的唯一方法就是编写爬虫来解析页面。

使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))

网站优化优采云 发表了文章 • 0 个评论 • 64 次浏览 • 2022-02-28 05:06 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))
  当采集微博数据时,我们可以使用微博API进行调用。调用微博API有两个任务,第一步是创建应用程序,第二步是安装微博SDK。
  创建应用
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  登录微博开放平台创建应用
  应用名称及后续信息随便填写即可。填写后,无需提交审核。您所需要的只是应用程序密钥和应用程序秘密。应用创建成功后,在“我的应用”中可以看到刚刚创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  然后打开上方“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。至此,第一步已经完成。
  安装微博SDK
  微博SDK链接,微博SDK支持多种语言,本文以php为例说明操作。
  
  新浪微博的授权机制,即OAuth 2
  API 调用需要用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权流程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
  从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。
  获取授权请求url
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $code_url = $o->getAuthorizeURL(WB_CALLBACK_URL);
  在浏览器地址栏输入授权url回车,浏览器会弹出一个页面,必须先点击“Authorize”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面指向新浪服务器然后用户将信息输入新浪服务器并授权我的应用程序访问用户数据后,这里我授权微博给如下程序),授权后浏览器中的URL类似:
  代码是授权授予
  获取访问令牌
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
  $keys = 数组();
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $keys['code'] = '89c143736a55980bd2e82460b1092c88';
  //fe080b632eec18452a9ec8eea3c4b748
  $keys['redirect_uri'] = WB_CALLBACK_URL;
  尝试 {
  $token = $o->getAccessToken('code', $keys);
  }
  捕捉(OAuthException $e){
  echo "getAccessToken fail.reason:".$e->getMessage()."\n";
  }
  var_dump($token);//expire_in表示access_token的有效期
  $accessToken = $token["access_token"];
  3.获取微博数据,编写代码调用微博api
  $accessToken = '2.00S_7idC0psiN42941abc2354ymrJC';
  $c = 新 SaeTClientV2( WB_AKEY , WB_SKEY , $accessToken );
  $ret = $c->show_user_by_name('小二来了一吨白菜');
  2013年7月2日起,微博开放平台将升级用户关系阅读和微博内容阅读界面;为保证您在线申请的正常运行,请在7月2日升级前更新以下界面;本次升级对微博客户端和合规应用没有影响。升级过程中,如果遇到任何问题,请私信@微博开放平台,感谢您的理解与支持!具体调整界面如下:
  获取当前登录用户发布的微博消息列表(2/statuses/user_timeline)
  获取当前登录用户发布的微博消息ID列表(2/statuses/user_timeline/ids)
  获取用户的关注列表(2/friendships/friends)
  获取常见关注者列表(2/friendships/friends/in_common)
  获取双向关注列表(2/好友/好友/双边)
  获取双边关注者的UID列表(2/friendships/friends/bilateral/ids)
  获取用户关注对象的UID列表(2/friendships/friends/ids)
  获取用户的关注者列表(2/friendships/followers)
  获取用户关注者 UID 列表(2/friendships/followers/ids)
  获取用户优质关注者列表(2/好友/关注者/活跃)
  即:接口升级后:uid和screen_name只能是当前授权用户,第三方微博客户端不受影响 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))
  当采集微博数据时,我们可以使用微博API进行调用。调用微博API有两个任务,第一步是创建应用程序,第二步是安装微博SDK。
  创建应用
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  登录微博开放平台创建应用
  应用名称及后续信息随便填写即可。填写后,无需提交审核。您所需要的只是应用程序密钥和应用程序秘密。应用创建成功后,在“我的应用”中可以看到刚刚创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  然后打开上方“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。至此,第一步已经完成。
  安装微博SDK
  微博SDK链接,微博SDK支持多种语言,本文以php为例说明操作。
  
  新浪微博的授权机制,即OAuth 2
  API 调用需要用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权流程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
  从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。
  获取授权请求url
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $code_url = $o->getAuthorizeURL(WB_CALLBACK_URL);
  在浏览器地址栏输入授权url回车,浏览器会弹出一个页面,必须先点击“Authorize”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面指向新浪服务器然后用户将信息输入新浪服务器并授权我的应用程序访问用户数据后,这里我授权微博给如下程序),授权后浏览器中的URL类似:
  代码是授权授予
  获取访问令牌
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
  $keys = 数组();
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $keys['code'] = '89c143736a55980bd2e82460b1092c88';
  //fe080b632eec18452a9ec8eea3c4b748
  $keys['redirect_uri'] = WB_CALLBACK_URL;
  尝试 {
  $token = $o->getAccessToken('code', $keys);
  }
  捕捉(OAuthException $e){
  echo "getAccessToken fail.reason:".$e->getMessage()."\n";
  }
  var_dump($token);//expire_in表示access_token的有效期
  $accessToken = $token["access_token"];
  3.获取微博数据,编写代码调用微博api
  $accessToken = '2.00S_7idC0psiN42941abc2354ymrJC';
  $c = 新 SaeTClientV2( WB_AKEY , WB_SKEY , $accessToken );
  $ret = $c->show_user_by_name('小二来了一吨白菜');
  2013年7月2日起,微博开放平台将升级用户关系阅读和微博内容阅读界面;为保证您在线申请的正常运行,请在7月2日升级前更新以下界面;本次升级对微博客户端和合规应用没有影响。升级过程中,如果遇到任何问题,请私信@微博开放平台,感谢您的理解与支持!具体调整界面如下:
  获取当前登录用户发布的微博消息列表(2/statuses/user_timeline)
  获取当前登录用户发布的微博消息ID列表(2/statuses/user_timeline/ids)
  获取用户的关注列表(2/friendships/friends)
  获取常见关注者列表(2/friendships/friends/in_common)
  获取双向关注列表(2/好友/好友/双边)
  获取双边关注者的UID列表(2/friendships/friends/bilateral/ids)
  获取用户关注对象的UID列表(2/friendships/friends/ids)
  获取用户的关注者列表(2/friendships/followers)
  获取用户关注者 UID 列表(2/friendships/followers/ids)
  获取用户优质关注者列表(2/好友/关注者/活跃)
  即:接口升级后:uid和screen_name只能是当前授权用户,第三方微博客户端不受影响

使用新浪微博开放平台api同步微博内容至自己网站(OAuth2未对微博的access_token导致任意用户登陆这个问题)

网站优化优采云 发表了文章 • 0 个评论 • 92 次浏览 • 2022-02-27 22:05 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(OAuth2未对微博的access_token导致任意用户登陆这个问题)
  显示结果
  鉴于这篇文章写的乱七八糟,我真的怕有些同学因为保护视力而不会继续阅读,所以我先把通过后文描述的两种方法发现的一小部分漏洞作为吸引力放出来。
  
  
  
  OAuth2授权访问的隐式模式
  首先我们来看看OAuth的定义:OAuth(Open Authorization)是一个开放的标准,它允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而不需要向Third提供用户名和密码各方网站或共享其数据的所有内容。
  在大家测试的过程中,常见的快捷方式登录是授权码模式(authorization_code),即应用(QQ/微博)给出授权码code,服务器将code换成access_token,然后进行下一个请求。
  从我们的外部来看,大致流程如下:
  
  访问网站a,选择微博快速登录,跳转到,微博用户点击授权,然后从携带code参数跳转回网站a,我们的应用会在终端获取到code调用第三方提供的api获取uid和access_token,这里参考微博给出的api文档
  下一步可以继续通过access_token请求其他第三方API,看一下account/get_uid
  
  如上图所示,通过access_token请求该接口即可返回uid。
  上面的描述都是关于授权码模式的。其实隐式模式和授权码模式很相似,只是少了一步code="access_token。第三方会直接提供access_token给开发者使用,不再给出code。
  1.微博access_token校验失败,导致任意用户登录
  这个问题在多个应用中都出现过,我测试过的应用中大约有10%的应用存在这个问题,如果出现后果可能很严重。此使用方式针对微博快速登录的应用。
  应用中的微博快速登录是通过调用微博应用请求,然后获取请求的返回access_token和uid,所以应用中没有微博快速登录的代码,这是我们的第一段。提到的隐式模式。获取access_token的请求如下:
  
  大部分应用会获取返回的access_token,使用微博的api进行操作,但应用只获取uid,没有验证access_token,然后代入数据库查询,存在任意登录的问题。
  一个案例:
  在这个应用中,点击微博快速登录,然后调出微博应用,注意上面截图中的请求,修改请求返回的uid,释放所有后续请求。
  
  至此,微博绑定的账号已经无权限登录,所有功能都可以使用。
  原因如下,注意在应用中的请求中有一个:,
  
  这是最关键的set-cookie请求,其中请求参数open_id是刚刚返回的微博账号的用户uid,也就是我们刚才修改的返回包的值。
  微信快速登录也是这种隐式模式,但是这种攻击方式并不适合微信快速登录。首先,微信公众号的open_id不是公开内容。当然,如果你想自己搭建一个第三方登录平台,也可以获取微信用户的信息。open_id 也是不行的,因为同一个微信账号为不同的app生成的open_id是不同的,所以不能使用。我喜欢这里的微信。
  这里补充一下如何获取指定微博账号的uid,查看用户页面源码搜索:$CONFIG['oid']
  
  修复方法:
  如果一定要使用uid,使用这个接口来验证access_token:
  
  要求获取返回的 uid,不要相信用户输入给您的 uid。
  
  2.微博access_token验证不严格,导致交互后账号被劫持
  99%的应用都存在这种问题,这种利用方式只针对微博的快速登录。这种问题的危害没有第一种那么明显。这是一种需要互动的漏洞。我随机提交了几家公司来观察厂商的反应。其中大部分为中风险,少数为高风险。一些制造商的家中有大量应用程序。有了这个问题,打包提交也可以给出高风险的奖励。更多厂商评分,看你的投稿结果~
  当应用程序没有第二个问题时,它不一定是完全没有风险的。可以看到每个微博api请求只需要一个access_token凭证,不需要一些appid或者uid信息。
  其中有一些非常简单的请求,例如:
  
  如果客户端获取到微博账号的uid和access_token,进行检查。但是,如果我们只是通过这样一个类似的接口通过access_token请求获取uid,然后认为uid就是我们的用户,这是不正确的。
  下面我们来看看如何使用它:
  我像这样在微博开发者上构建了一个应用程序
  
  
  Oauth2.0 授权回调页面是攻击者的站点。
  这里的快速登录链接是:
  %3A%2F%2F%2f&状态=30
  登录后会带代码进入百度(其实就是进入攻击者的站点):
  
  从官方手册来看,代码是这样使用的:
  
  此时攻击者获取到用户的access_token和uid
  回到第一个exploit方法:
  
  这次如果同时更换access_token和uid,就可以登录别人绑定的账号了。
  原因是这次不用同时更换access_token和uid就可以登录别人绑定的账号了。
  原因是没通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  1.访问攻击者微博快速登录
  2.攻击者获取代码->获取access_token和uid
  3.其他应用账号被劫持
  修复方法:
  通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  
  最后
  如今,国内外几乎每个站点都有第三方快速登录。中国的主流可能是QQ/微博/微信。当然,还有其他的快速登录方式。多种快捷登录漏洞。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(OAuth2未对微博的access_token导致任意用户登陆这个问题)
  显示结果
  鉴于这篇文章写的乱七八糟,我真的怕有些同学因为保护视力而不会继续阅读,所以我先把通过后文描述的两种方法发现的一小部分漏洞作为吸引力放出来。
  
  
  
  OAuth2授权访问的隐式模式
  首先我们来看看OAuth的定义:OAuth(Open Authorization)是一个开放的标准,它允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而不需要向Third提供用户名和密码各方网站或共享其数据的所有内容。
  在大家测试的过程中,常见的快捷方式登录是授权码模式(authorization_code),即应用(QQ/微博)给出授权码code,服务器将code换成access_token,然后进行下一个请求。
  从我们的外部来看,大致流程如下:
  
  访问网站a,选择微博快速登录,跳转到,微博用户点击授权,然后从携带code参数跳转回网站a,我们的应用会在终端获取到code调用第三方提供的api获取uid和access_token,这里参考微博给出的api文档
  下一步可以继续通过access_token请求其他第三方API,看一下account/get_uid
  
  如上图所示,通过access_token请求该接口即可返回uid。
  上面的描述都是关于授权码模式的。其实隐式模式和授权码模式很相似,只是少了一步code="access_token。第三方会直接提供access_token给开发者使用,不再给出code。
  1.微博access_token校验失败,导致任意用户登录
  这个问题在多个应用中都出现过,我测试过的应用中大约有10%的应用存在这个问题,如果出现后果可能很严重。此使用方式针对微博快速登录的应用。
  应用中的微博快速登录是通过调用微博应用请求,然后获取请求的返回access_token和uid,所以应用中没有微博快速登录的代码,这是我们的第一段。提到的隐式模式。获取access_token的请求如下:
  
  大部分应用会获取返回的access_token,使用微博的api进行操作,但应用只获取uid,没有验证access_token,然后代入数据库查询,存在任意登录的问题。
  一个案例:
  在这个应用中,点击微博快速登录,然后调出微博应用,注意上面截图中的请求,修改请求返回的uid,释放所有后续请求。
  
  至此,微博绑定的账号已经无权限登录,所有功能都可以使用。
  原因如下,注意在应用中的请求中有一个:,
  
  这是最关键的set-cookie请求,其中请求参数open_id是刚刚返回的微博账号的用户uid,也就是我们刚才修改的返回包的值。
  微信快速登录也是这种隐式模式,但是这种攻击方式并不适合微信快速登录。首先,微信公众号的open_id不是公开内容。当然,如果你想自己搭建一个第三方登录平台,也可以获取微信用户的信息。open_id 也是不行的,因为同一个微信账号为不同的app生成的open_id是不同的,所以不能使用。我喜欢这里的微信。
  这里补充一下如何获取指定微博账号的uid,查看用户页面源码搜索:$CONFIG['oid']
  
  修复方法:
  如果一定要使用uid,使用这个接口来验证access_token:
  
  要求获取返回的 uid,不要相信用户输入给您的 uid。
  
  2.微博access_token验证不严格,导致交互后账号被劫持
  99%的应用都存在这种问题,这种利用方式只针对微博的快速登录。这种问题的危害没有第一种那么明显。这是一种需要互动的漏洞。我随机提交了几家公司来观察厂商的反应。其中大部分为中风险,少数为高风险。一些制造商的家中有大量应用程序。有了这个问题,打包提交也可以给出高风险的奖励。更多厂商评分,看你的投稿结果~
  当应用程序没有第二个问题时,它不一定是完全没有风险的。可以看到每个微博api请求只需要一个access_token凭证,不需要一些appid或者uid信息。
  其中有一些非常简单的请求,例如:
  
  如果客户端获取到微博账号的uid和access_token,进行检查。但是,如果我们只是通过这样一个类似的接口通过access_token请求获取uid,然后认为uid就是我们的用户,这是不正确的。
  下面我们来看看如何使用它:
  我像这样在微博开发者上构建了一个应用程序
  
  
  Oauth2.0 授权回调页面是攻击者的站点。
  这里的快速登录链接是:
  %3A%2F%2F%2f&状态=30
  登录后会带代码进入百度(其实就是进入攻击者的站点):
  
  从官方手册来看,代码是这样使用的:
  
  此时攻击者获取到用户的access_token和uid
  回到第一个exploit方法:
  
  这次如果同时更换access_token和uid,就可以登录别人绑定的账号了。
  原因是这次不用同时更换access_token和uid就可以登录别人绑定的账号了。
  原因是没通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  1.访问攻击者微博快速登录
  2.攻击者获取代码->获取access_token和uid
  3.其他应用账号被劫持
  修复方法:
  通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  
  最后
  如今,国内外几乎每个站点都有第三方快速登录。中国的主流可能是QQ/微博/微信。当然,还有其他的快速登录方式。多种快捷登录漏洞。

使用新浪微博开放平台api同步微博内容至自己网站(如何把这种方法应用在组织学习中成为越来越的网络应用)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-02-25 23:38 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(如何把这种方法应用在组织学习中成为越来越的网络应用)
  毫无疑问,微博已经成为越来越流行的网络应用。如何将这种方法应用到组织学习中,使其成为一种非正式的学习方式,是很多培训管理者思考的问题。
  以新浪微博为例,大致可以分为两种方式促进企业学习:一是直接应用模式,即直接利用新浪微博辅助培训业务,是初级应用阶段;二是内部实施模式,即通过在企业内部部署一套专属的企业微博,并以此为基础,开始组织内部的社交学习。这个模型比较复杂,但意义深远。是微博推动企业学习的进阶阶段。本文将详细介绍这两种模式的应用方法、内容和要点。
  
  
  直接申请模式
  直接应用模式的目标是通过微博辅助传统培训业务。培训部门可以通过建立培训部门微博账号、协助培训项目、推动企业e-Learning学习等方式,达到直接应用模式的效果。
  创建微博账号 培训部门是组织内的服务部门。一般公司的培训部门没有自己的网站,缺乏与员工的沟通。因此,创建培训部门自己的微博可以起到在线服务窗口的作用。银联培训中心、用友大学、吉利大学等企业培训中心或企业大学均开设了自己的微博账号。
  建立一个微博账号非常简单,只需在新浪微博上申请。需要注意的是,最好申请新浪代理认证。通过认证后,将有更多微博功能可供使用,包括:展示培训中心的视频或图片,专门设置咨询、留言、表扬和意见窗口,展示培训团队成员的风采等。
  多功能辅助培训项目拥有专属微博账号后,培训中心可深度应用各种微博功能,辅助传统面授培训项目。新浪微博聚合了数千个功能应用,其中很多可以辅助面对面培训。我们列出了几个可以帮助培训的最常见的微博功能。
  微博大屏“微博大屏”更适合参加人数众多的培训项目,其价值在于能够激活培训现场的互动氛围。培训期间,可通过独立投影将微博大屏的内容投射到培训现场。讲师可以通过大屏幕采集学员的意见,学员可以通过手机微博参与培训和互动过程。有关示例,请参见图 1。
  微活动“微活动”是一款不错的培训营销工具,适合培训项目前期招生。如果培训对象的微博使用渗透率高,可以通过发起“微事件”的形式发布培训节目。在“微活动”中,可以设置有奖、有针对性的选择粉丝等功能,并结合粉丝转发,起到培养营销的作用(见图表2).
  微群 微群可以设置并邀请固定成员加入,类似QQ群的功能(见图表3),适合辅助周期较长的培训项目。讲师或培训经理可以通过微信群发布通知微群、3)@文章、上传附件等,也可以请学生在微群中讨论问题或提交作业。培训项目结束后,微群可以解散或保留成为积累培训资源的平台。
  促进企业e-Learning学习 通常,企业在线学习以自主学习为主,学习者之间缺乏互动。虽然有些公司在学习平台上开设了BBS讨论区,但大多数情况下都不是很受欢迎。培训管理者可以考虑将微博与在线学习相结合,通过嵌入微博代码等功能增强在线学习的互动性。具体可以通过以下方式实现。
  加强网络课程互动活动。在微博上发布与在线课程主题相关的微博,引发学习者讨论内容,并将讨论地址链接到课程介绍等明显的地方。本质是为每个在线课程建立一个微博讨论论坛。建立方式有两种:一是培训管理员可以在发布课程时创建微博并同步设置课程链接;您可以随时进入微博参与互动。
  聚合在线学习和网络资源 通过微博关键词聚合功能,可以将课件内容与微博平台内容进行关联。在海量的微博内容中,所有与网络课程相关的微博内容都可以提取出来,按时间顺序显示在网络课件的指定位置(见图表4)。内容聚合可以让互动更加深入——深度,将学习交流不仅延伸到在线课程的学习者,也延伸到所有微博成员。
  网络课程的推广和评价微博也可以用于网络课程的营销推广和评价,实施方式比较简单。比如在课程开始或结束时,可以添加“微博转发”功能,将课程的介绍、链接、简要评价转发到学习者的微博,学习者的粉丝第一时间看到课程. 介绍和链接。为了扩大影响力,管理者还可以在新浪微博以外的其他社交网络上添加分享链接。
  内部执行模式 所谓内部执行模式,就是在企业内部建立一个独立完整的微博系统,企业可以在内部微博系统中建立自己的规则,比如加入V认证、风格设计、企业自己的规则。学习系统或其他信息系统有更深入的整合等。
  建立微博内部实施的目的,不仅可以辅助传统培训业务,还可以利用微博的实施和应用在企业内部进行社会学习,使微博成为员工分享和学习的新平台。
  新浪微博提供免费的企业微博下载版——微博,企业内部可以安装使用。企业版微博(Xweibo)虽然不如新浪微博全面,但具备微博发布、浏览、转发、评论、采集、话题等基本功能,微博的功能也在不断升级完善。本文以微博系统为例,介绍如何在企业内部实现、部署和应用。
  下载安装Xweibo的下载地址为,下载安装页面如图5所示。安装时需要配合技术部门,做好前期的沟通和准备工作。技术人员按照下载包中的说明在企业内网完成安装后,需要进行初始化工作,主要包括以下几个方面。
  ·设置企业微博名称·设置企业微博与新浪微博的关系·微博页面布局设计·内容规则建立等与其他系统集成、安装、初始化完成后,企业微博可以直接应用。但是,为了更好地发挥作用,通常需要与企业的其他业务系统进行集成。特别是与学习管理系统和公司现有的BBS论坛系统深度融合,更方便员工使用。微博提供了一些内置的系统集成工具,企业可以使用这些工具进行简单的集成。
  1.定义主页链接功能:通过该功能可以在微博主页上集成相关学习系统的链接。
  2.外部论坛插件功能:通过该功能,微博可以与企业内部BBS论坛同步登录更新。
  3.外部调用工具功能:可以将“转发码”和“异地调用码”嵌入到学习管理系统、博客、邮箱、OA等其他系统中,让微博的内容可以在其他系统中以各种形式显示。
  如果企业需要更深入的集成和增加个性化功能,开发者需要对微博进行高级二次开发。
  推广应用 只有大规模应用,才能发挥社会学习的力量。培训经理可根据业务需要制定推广应用策略和计划。通过企业微博推行社会学习,要调动员工的参与和积极性。根据微博的特点,企业可以建立以下三种机制,开启快速应用的局面。
  互联机制将微博与新浪微博链接,所有拥有新浪微博账号的员工都可以与微博同步数据。除了微博内容,“粉丝”也可以统一。互联机制可以降低微博的使用难度,简化申请流程。但需要注意的是,有些企业不希望员工发布的某些内容同步到互联网上,企业可以通过技术和制度对其进行约束。
  认证机制在企业内部开展“微博+V认证”,培训管理者可以通过这种方式提高员工参与度。微博的认证可以分类,比如可以分为技术专家、内部讲师、工作专家等不同类别(见图表6)。同时也可以与“名人”合作管理”功能,监控各类内部组织,有效管理先进专业群体。Xweibo认证机制也是发现和梳理内部专家的最佳途径之一,将为企业的实施提供有效的支持和帮助。知识管理。
  活动机制 在企业内部微博上开展各种活动,提升微博知名度,活跃气氛。微博内置两个活动功能模块:一个是“线上直播”,主要辅助企业大型活动,活动状态在微博平台直播。同时,活动现场可以与微博参与者进行互动;在线采访”,与新浪微博的“微采访”功能基本相同。管理者可以通过该功能设计和安排在线面试节目,员工可以通过微博实时观看和参与互动。
  此外,培训管理者可以考虑将日常工作和各种活动与企业微博结合起来。例如,在培训项目的设计、实施、管理和评估方面,企业微博都有发挥的作用。内部微博在辅助培训和员工学习中的应用仅仅是个开始。作为企业内部的社交软件,它将成为员工之间沟通协作的重要工具。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(如何把这种方法应用在组织学习中成为越来越的网络应用)
  毫无疑问,微博已经成为越来越流行的网络应用。如何将这种方法应用到组织学习中,使其成为一种非正式的学习方式,是很多培训管理者思考的问题。
  以新浪微博为例,大致可以分为两种方式促进企业学习:一是直接应用模式,即直接利用新浪微博辅助培训业务,是初级应用阶段;二是内部实施模式,即通过在企业内部部署一套专属的企业微博,并以此为基础,开始组织内部的社交学习。这个模型比较复杂,但意义深远。是微博推动企业学习的进阶阶段。本文将详细介绍这两种模式的应用方法、内容和要点。
  
  
  直接申请模式
  直接应用模式的目标是通过微博辅助传统培训业务。培训部门可以通过建立培训部门微博账号、协助培训项目、推动企业e-Learning学习等方式,达到直接应用模式的效果。
  创建微博账号 培训部门是组织内的服务部门。一般公司的培训部门没有自己的网站,缺乏与员工的沟通。因此,创建培训部门自己的微博可以起到在线服务窗口的作用。银联培训中心、用友大学、吉利大学等企业培训中心或企业大学均开设了自己的微博账号。
  建立一个微博账号非常简单,只需在新浪微博上申请。需要注意的是,最好申请新浪代理认证。通过认证后,将有更多微博功能可供使用,包括:展示培训中心的视频或图片,专门设置咨询、留言、表扬和意见窗口,展示培训团队成员的风采等。
  多功能辅助培训项目拥有专属微博账号后,培训中心可深度应用各种微博功能,辅助传统面授培训项目。新浪微博聚合了数千个功能应用,其中很多可以辅助面对面培训。我们列出了几个可以帮助培训的最常见的微博功能。
  微博大屏“微博大屏”更适合参加人数众多的培训项目,其价值在于能够激活培训现场的互动氛围。培训期间,可通过独立投影将微博大屏的内容投射到培训现场。讲师可以通过大屏幕采集学员的意见,学员可以通过手机微博参与培训和互动过程。有关示例,请参见图 1。
  微活动“微活动”是一款不错的培训营销工具,适合培训项目前期招生。如果培训对象的微博使用渗透率高,可以通过发起“微事件”的形式发布培训节目。在“微活动”中,可以设置有奖、有针对性的选择粉丝等功能,并结合粉丝转发,起到培养营销的作用(见图表2).
  微群 微群可以设置并邀请固定成员加入,类似QQ群的功能(见图表3),适合辅助周期较长的培训项目。讲师或培训经理可以通过微信群发布通知微群、3)@文章、上传附件等,也可以请学生在微群中讨论问题或提交作业。培训项目结束后,微群可以解散或保留成为积累培训资源的平台。
  促进企业e-Learning学习 通常,企业在线学习以自主学习为主,学习者之间缺乏互动。虽然有些公司在学习平台上开设了BBS讨论区,但大多数情况下都不是很受欢迎。培训管理者可以考虑将微博与在线学习相结合,通过嵌入微博代码等功能增强在线学习的互动性。具体可以通过以下方式实现。
  加强网络课程互动活动。在微博上发布与在线课程主题相关的微博,引发学习者讨论内容,并将讨论地址链接到课程介绍等明显的地方。本质是为每个在线课程建立一个微博讨论论坛。建立方式有两种:一是培训管理员可以在发布课程时创建微博并同步设置课程链接;您可以随时进入微博参与互动。
  聚合在线学习和网络资源 通过微博关键词聚合功能,可以将课件内容与微博平台内容进行关联。在海量的微博内容中,所有与网络课程相关的微博内容都可以提取出来,按时间顺序显示在网络课件的指定位置(见图表4)。内容聚合可以让互动更加深入——深度,将学习交流不仅延伸到在线课程的学习者,也延伸到所有微博成员。
  网络课程的推广和评价微博也可以用于网络课程的营销推广和评价,实施方式比较简单。比如在课程开始或结束时,可以添加“微博转发”功能,将课程的介绍、链接、简要评价转发到学习者的微博,学习者的粉丝第一时间看到课程. 介绍和链接。为了扩大影响力,管理者还可以在新浪微博以外的其他社交网络上添加分享链接。
  内部执行模式 所谓内部执行模式,就是在企业内部建立一个独立完整的微博系统,企业可以在内部微博系统中建立自己的规则,比如加入V认证、风格设计、企业自己的规则。学习系统或其他信息系统有更深入的整合等。
  建立微博内部实施的目的,不仅可以辅助传统培训业务,还可以利用微博的实施和应用在企业内部进行社会学习,使微博成为员工分享和学习的新平台。
  新浪微博提供免费的企业微博下载版——微博,企业内部可以安装使用。企业版微博(Xweibo)虽然不如新浪微博全面,但具备微博发布、浏览、转发、评论、采集、话题等基本功能,微博的功能也在不断升级完善。本文以微博系统为例,介绍如何在企业内部实现、部署和应用。
  下载安装Xweibo的下载地址为,下载安装页面如图5所示。安装时需要配合技术部门,做好前期的沟通和准备工作。技术人员按照下载包中的说明在企业内网完成安装后,需要进行初始化工作,主要包括以下几个方面。
  ·设置企业微博名称·设置企业微博与新浪微博的关系·微博页面布局设计·内容规则建立等与其他系统集成、安装、初始化完成后,企业微博可以直接应用。但是,为了更好地发挥作用,通常需要与企业的其他业务系统进行集成。特别是与学习管理系统和公司现有的BBS论坛系统深度融合,更方便员工使用。微博提供了一些内置的系统集成工具,企业可以使用这些工具进行简单的集成。
  1.定义主页链接功能:通过该功能可以在微博主页上集成相关学习系统的链接。
  2.外部论坛插件功能:通过该功能,微博可以与企业内部BBS论坛同步登录更新。
  3.外部调用工具功能:可以将“转发码”和“异地调用码”嵌入到学习管理系统、博客、邮箱、OA等其他系统中,让微博的内容可以在其他系统中以各种形式显示。
  如果企业需要更深入的集成和增加个性化功能,开发者需要对微博进行高级二次开发。
  推广应用 只有大规模应用,才能发挥社会学习的力量。培训经理可根据业务需要制定推广应用策略和计划。通过企业微博推行社会学习,要调动员工的参与和积极性。根据微博的特点,企业可以建立以下三种机制,开启快速应用的局面。
  互联机制将微博与新浪微博链接,所有拥有新浪微博账号的员工都可以与微博同步数据。除了微博内容,“粉丝”也可以统一。互联机制可以降低微博的使用难度,简化申请流程。但需要注意的是,有些企业不希望员工发布的某些内容同步到互联网上,企业可以通过技术和制度对其进行约束。
  认证机制在企业内部开展“微博+V认证”,培训管理者可以通过这种方式提高员工参与度。微博的认证可以分类,比如可以分为技术专家、内部讲师、工作专家等不同类别(见图表6)。同时也可以与“名人”合作管理”功能,监控各类内部组织,有效管理先进专业群体。Xweibo认证机制也是发现和梳理内部专家的最佳途径之一,将为企业的实施提供有效的支持和帮助。知识管理。
  活动机制 在企业内部微博上开展各种活动,提升微博知名度,活跃气氛。微博内置两个活动功能模块:一个是“线上直播”,主要辅助企业大型活动,活动状态在微博平台直播。同时,活动现场可以与微博参与者进行互动;在线采访”,与新浪微博的“微采访”功能基本相同。管理者可以通过该功能设计和安排在线面试节目,员工可以通过微博实时观看和参与互动。
  此外,培训管理者可以考虑将日常工作和各种活动与企业微博结合起来。例如,在培训项目的设计、实施、管理和评估方面,企业微博都有发挥的作用。内部微博在辅助培训和员工学习中的应用仅仅是个开始。作为企业内部的社交软件,它将成为员工之间沟通协作的重要工具。

使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站,有什么方式?)

网站优化优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2022-02-25 12:01 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站,有什么方式?)
  使用新浪微博开放平台api同步微博内容至自己网站,实现网站微博同步;或者可以尝试一下,将微博标签作为一个指向网站站点的节点,访问站点的自有网站就能同步。
  你在新浪上发布的微博内容,
  两个社交平台各有社交圈,本身已经通过有他人需要的内容,当发布微博时,即在两个平台上构建一个同步的链接。但假如你的目的是希望两个平台的内容同步,其实用第三方微博的新浪客户端可能是一个更好的选择,多个微博客户端之间可以随意切换即可。
  发布微博到一个网站/博客/门户/blog等,和发布新浪/腾讯的微博到任何一个网站/博客/门户/blog/微博号一样。
  私聊我
  这个理解是有问题的微博在网站上传递需要两个地方
  1)网站
  2)微博两个地方同步有什么方式?
  1)转发这个是网站做的事情这个是腾讯做的事情
  2)分享两个地方同步都有叫做微转+微博
  微博平台最早就是把所有微博的博客放在一个服务器上出了blog(国内最早的网站“微博会议室”),后来woocommerce为了获得用户数量,结果他们的收费排名第一的notify无法排名第一,一开始他们想的是可以从中间找出各个平台给分担,后来他们想着怎么样把这些平台运营好(bmw、网易、qq空间等等),然后总结发现两个平台还是不方便两个平台的。
  这样最终就有了ugc的理念,最终都放在一个服务器上,通过postbin实现,ugc几乎无限。所以个人觉得ugc时代,会在不久的将来将会到来。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站,有什么方式?)
  使用新浪微博开放平台api同步微博内容至自己网站,实现网站微博同步;或者可以尝试一下,将微博标签作为一个指向网站站点的节点,访问站点的自有网站就能同步。
  你在新浪上发布的微博内容,
  两个社交平台各有社交圈,本身已经通过有他人需要的内容,当发布微博时,即在两个平台上构建一个同步的链接。但假如你的目的是希望两个平台的内容同步,其实用第三方微博的新浪客户端可能是一个更好的选择,多个微博客户端之间可以随意切换即可。
  发布微博到一个网站/博客/门户/blog等,和发布新浪/腾讯的微博到任何一个网站/博客/门户/blog/微博号一样。
  私聊我
  这个理解是有问题的微博在网站上传递需要两个地方
  1)网站
  2)微博两个地方同步有什么方式?
  1)转发这个是网站做的事情这个是腾讯做的事情
  2)分享两个地方同步都有叫做微转+微博
  微博平台最早就是把所有微博的博客放在一个服务器上出了blog(国内最早的网站“微博会议室”),后来woocommerce为了获得用户数量,结果他们的收费排名第一的notify无法排名第一,一开始他们想的是可以从中间找出各个平台给分担,后来他们想着怎么样把这些平台运营好(bmw、网易、qq空间等等),然后总结发现两个平台还是不方便两个平台的。
  这样最终就有了ugc的理念,最终都放在一个服务器上,通过postbin实现,ugc几乎无限。所以个人觉得ugc时代,会在不久的将来将会到来。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API关闭,想用微博RSS转化RSS方法数据导出 )

网站优化优采云 发表了文章 • 0 个评论 • 98 次浏览 • 2022-02-25 04:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API关闭,想用微博RSS转化RSS方法数据导出
)
  我之前一直在使用新浪微博的API进行数据同步。今年年初,1月8日左右,微博API不知为何突然不可用,接口调用不断出现403错误。私信联系“微博”“开发平台”一直是机器回复。
  
  因此,我猜新浪微博关闭了它的API。我猜可能是因为微博太难赚钱了,所以向腾讯学习,封闭数据赚大钱。
  不过我在微博上发布了很多数据,但是微博到现在连数据备份都没有,所以我还是需要另寻出路来进行数据同步和备份操作,所以想用微博来转换RSS。数据输出。
  11年前做过一个PHP微博转RSS的项目,但是时间太长了,里面的数据结构已经彻底改了,不能用了,于是上网搜了一下,有没有没有现成的项目,结果发现github上有一个weibo-rss项目可以使用,但是它的部署使用的是Node.js,这个我之前没用过。
  我在国外购买的云服务器使用的是LNMP(Linux-Nginx-MySQL-PHP)环境,web服务器是Nginx,小巧稳定,占用资源极少。低配置服务器可以执行动态 网站@ >。我只是尝试将此 Node.js 项目部署到此服务器。
  服务器没有安装Node.js,所以需要先安装环境。面板中有一个“PM2管理器”,它是一个node.js管理器。内置node.js + npm + nvm + pm2,一键安装。
  安装环境后,按照项目说明开始手动部署。安装前部署php的思路是把它部署到wwwroot下的一个目录下。从网页访问后,页面可以出来,但是RSS提示“获取数据失败”。
  咨询项目作者后发现,项目部署到了​​3000端口,而不是Nginx的80和443端口,我用3000端口的地址访问,可以正常获取数据。
  
  当然,最后还是希望在 Nginx 下使用,在 Nginx 中设置反向代理,映射一个目录到 3000 端口,然后在 80 和 443 端口访问这个 Node.js 项目。
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API关闭,想用微博RSS转化RSS方法数据导出
)
  我之前一直在使用新浪微博的API进行数据同步。今年年初,1月8日左右,微博API不知为何突然不可用,接口调用不断出现403错误。私信联系“微博”“开发平台”一直是机器回复。
  
  因此,我猜新浪微博关闭了它的API。我猜可能是因为微博太难赚钱了,所以向腾讯学习,封闭数据赚大钱。
  不过我在微博上发布了很多数据,但是微博到现在连数据备份都没有,所以我还是需要另寻出路来进行数据同步和备份操作,所以想用微博来转换RSS。数据输出。
  11年前做过一个PHP微博转RSS的项目,但是时间太长了,里面的数据结构已经彻底改了,不能用了,于是上网搜了一下,有没有没有现成的项目,结果发现github上有一个weibo-rss项目可以使用,但是它的部署使用的是Node.js,这个我之前没用过。
  我在国外购买的云服务器使用的是LNMP(Linux-Nginx-MySQL-PHP)环境,web服务器是Nginx,小巧稳定,占用资源极少。低配置服务器可以执行动态 网站@ >。我只是尝试将此 Node.js 项目部署到此服务器。
  服务器没有安装Node.js,所以需要先安装环境。面板中有一个“PM2管理器”,它是一个node.js管理器。内置node.js + npm + nvm + pm2,一键安装。
  安装环境后,按照项目说明开始手动部署。安装前部署php的思路是把它部署到wwwroot下的一个目录下。从网页访问后,页面可以出来,但是RSS提示“获取数据失败”。
  咨询项目作者后发现,项目部署到了​​3000端口,而不是Nginx的80和443端口,我用3000端口的地址访问,可以正常获取数据。
  
  当然,最后还是希望在 Nginx 下使用,在 Nginx 中设置反向代理,映射一个目录到 3000 端口,然后在 80 和 443 端口访问这个 Node.js 项目。
  

使用新浪微博开放平台api同步微博内容至自己网站(2020年Python+IFTTTWebhooks+Crontab定时抓取微博到DayOne)

网站优化优采云 发表了文章 • 0 个评论 • 85 次浏览 • 2022-02-25 00:07 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(2020年Python+IFTTTWebhooks+Crontab定时抓取微博到DayOne)
  本来我一直在用IFTTT自动同步微博到Day One,这样我就可以很方便的把我的日常笔记记录在日记里了。不过从2020年开始,微博不会开放这个API接口。
  自从失败以来,它一直被忽略。最近一时兴起,在网上搜了一下,找到了一种方法——Python + IFTTT Webhooks + Crontab 定期抓取微博到Day One。
  分三步:
  1、下载你的微博内容
  您无需编写代码即可抓取微博。Github 上有现成的脚本,非常强大。将代码下载到本地,然后步骤如下:
  1、打开powershell,切换到weibo-crawler的路径。
  2、安装依赖。前提是安装了python和pip。
  pip install -r requirements.txt
  3、修改配置文件config.json,将user_id_list改成自己的微博id。since_date 设置为 1,表示只取过去 1 天的微博。
  4、运行爬虫,如果微博数据可以下载到本地CSV文件,则表示成功。
  python weibo.py
  2、使用 IFTTT 发送 Day OneIFTTT 网站设置
  在 IFTTT 网站 上设置操作:如果收到 Web 请求,则创建日志。
  
  
  
  本地 Python 脚本
  然后在本地weibo-crawler文件夹中创建一个ifttt.py文件,将以下内容复制进去,注意根据自己的情况修改path、event_name、key。
  import weibo
import csv
import requests
import json
import os
class Ifttt(object):

def __init__(self, path, event_name, key):
self.path = path
self.event_name = event_name
self.key = key
self.text = []
self.image = []
self.num = 0

# 解析本地 CSV 文件
def parse_post_info(self, path):
with open(path, 'r', encoding='UTF-8') as f:
csv_reader = csv.reader(f, delimiter=',')
line_count = 0
for row in csv_reader:
if line_count == 0:
print("Header")
else:
self.text.append(row[2])
self.image.append(row[4].split(",",1))
line_count += 1
self.num = line_count - 1
print(self.text)
print(self.image)
print("Total posts: ", self.num)
# 发送给 IFTTT
def send_notice(self):
url = f"https://maker.ifttt.com/trigger/{self.event_name}/with/key/{self.key}"
for num in range(0, self.num):
payload = {"value1": self.text[num], "value2": self.image[num]}
headers = {"Content-Type": "application/json"}
response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
print(payload)
def main():
config = weibo.get_config()
wb = weibo.Weibo(config)
wb.start()
path = 'weibo/微博名/1234567.csv' # 爬虫爬下来的csv路径
event_name = 'DayOne' # Webhooks 触发器名字
key = 'IF17vD4nqU6wO' # Webhooks 的 key,每个人不同
ifttt = Ifttt(path, event_name, key)
ifttt.parse_post_info(path)
ifttt.send_notice()
os.remove(path)

if __name__ == '__main__':
main()
  3、Win10每日定时任务创建
  前两步完成后,功能已经实现了,然后每次手动触发显然太麻烦了,所以我决定用Win10定时任务每天自动运行一次,下载微博到本地CSV 进行保护,将其发送到 Day One,然后清除本地 CSV 文件。
  设置定时任务的方法如下:
  在计算机-管理-系统工具-任务计划程序库-微软下右键,创建基本任务,设置计划任务名称、触发时间、触发频率、触发程序、触发程序代码和触发程序代码所在路径位于。注意触发代码所在的路径一定不能写,否则运行时无法自动删除最后生成的CSV。
  
  参考Win10定时任务自动运行python程序
  注:本文同时发表于个人博客。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(2020年Python+IFTTTWebhooks+Crontab定时抓取微博到DayOne)
  本来我一直在用IFTTT自动同步微博到Day One,这样我就可以很方便的把我的日常笔记记录在日记里了。不过从2020年开始,微博不会开放这个API接口。
  自从失败以来,它一直被忽略。最近一时兴起,在网上搜了一下,找到了一种方法——Python + IFTTT Webhooks + Crontab 定期抓取微博到Day One。
  分三步:
  1、下载你的微博内容
  您无需编写代码即可抓取微博。Github 上有现成的脚本,非常强大。将代码下载到本地,然后步骤如下:
  1、打开powershell,切换到weibo-crawler的路径。
  2、安装依赖。前提是安装了python和pip。
  pip install -r requirements.txt
  3、修改配置文件config.json,将user_id_list改成自己的微博id。since_date 设置为 1,表示只取过去 1 天的微博。
  4、运行爬虫,如果微博数据可以下载到本地CSV文件,则表示成功。
  python weibo.py
  2、使用 IFTTT 发送 Day OneIFTTT 网站设置
  在 IFTTT 网站 上设置操作:如果收到 Web 请求,则创建日志。
  
  
  
  本地 Python 脚本
  然后在本地weibo-crawler文件夹中创建一个ifttt.py文件,将以下内容复制进去,注意根据自己的情况修改path、event_name、key。
  import weibo
import csv
import requests
import json
import os
class Ifttt(object):

def __init__(self, path, event_name, key):
self.path = path
self.event_name = event_name
self.key = key
self.text = []
self.image = []
self.num = 0

# 解析本地 CSV 文件
def parse_post_info(self, path):
with open(path, 'r', encoding='UTF-8') as f:
csv_reader = csv.reader(f, delimiter=',')
line_count = 0
for row in csv_reader:
if line_count == 0:
print("Header")
else:
self.text.append(row[2])
self.image.append(row[4].split(",",1))
line_count += 1
self.num = line_count - 1
print(self.text)
print(self.image)
print("Total posts: ", self.num)
# 发送给 IFTTT
def send_notice(self):
url = f"https://maker.ifttt.com/trigger/{self.event_name}/with/key/{self.key}"
for num in range(0, self.num):
payload = {"value1": self.text[num], "value2": self.image[num]}
headers = {"Content-Type": "application/json"}
response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
print(payload)
def main():
config = weibo.get_config()
wb = weibo.Weibo(config)
wb.start()
path = 'weibo/微博名/1234567.csv' # 爬虫爬下来的csv路径
event_name = 'DayOne' # Webhooks 触发器名字
key = 'IF17vD4nqU6wO' # Webhooks 的 key,每个人不同
ifttt = Ifttt(path, event_name, key)
ifttt.parse_post_info(path)
ifttt.send_notice()
os.remove(path)

if __name__ == '__main__':
main()
  3、Win10每日定时任务创建
  前两步完成后,功能已经实现了,然后每次手动触发显然太麻烦了,所以我决定用Win10定时任务每天自动运行一次,下载微博到本地CSV 进行保护,将其发送到 Day One,然后清除本地 CSV 文件。
  设置定时任务的方法如下:
  在计算机-管理-系统工具-任务计划程序库-微软下右键,创建基本任务,设置计划任务名称、触发时间、触发频率、触发程序、触发程序代码和触发程序代码所在路径位于。注意触发代码所在的路径一定不能写,否则运行时无法自动删除最后生成的CSV。
  
  参考Win10定时任务自动运行python程序
  注:本文同时发表于个人博客。

使用新浪微博开放平台api同步微博内容至自己网站(api发新微博网上现有教程中的发送微博接口(updateStatus),)

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

  使用新浪微博开放平台api同步微博内容至自己网站(api发新微博网上现有教程中的发送微博接口(updateStatus),)
  最近有个项目需要调用微博api发送一条新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就已经调整了相关接口,取消了现有在线教程中发送微博的接口(updateStatus)。结果再次调用该接口会提示权限不足。,折腾了很久。特此发一个新的文章,希望大家不要入坑。
  1.登录开放平台创建应用
  首先,需要到微博开放平台申请开发者账号,创建新应用。你可以直接用你的微博账号登录。登录后,点击微链接选择其他选项,根据自己的需要新建应用程序(客户端、Web应用程序和浏览器插件)。
  2.应用相关设置
  首先,在应用信息中编辑应用的基本信息,包括应用介绍和用途,一定要填写安全域名。您可以填写域名进行自己的测试。企业申请,填写企业相关域名。
  还需要在应用高级信息中设置OAuth2.0的授权回调页面。这个测试也可以随便填。应用发起用户授权时,重定向的页面地址成功或取消。
  三、下载微博java sdk
  点击sdk下载地址后会跳转回github页面。页面也有例子提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用程序信息中。
  四、运行实例获取授权码
  配置文件修改后,首先打开examples包下的oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后,浏览器地址中会多出一个code=******。复制代码并粘贴到编辑器的控制台中,然后回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****]有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要OAuth2.0授权。调用每个方法都需要一个授权码。未经审核的应用授权码仅在一天内有效。通过后有30天,如果得到应用开发者的授权则有5年。因此,开发者在调用时需要判断授权码的有效期,到期后引导用户重新授权。
  5.api应用微博
  示例包中全是微博官方api实例,之前发送微博的接口在weibo4j.examples.timeline下。UpdateStatus.java 和 Upload.java 一个是发送微博文本,另一个是发送带图片的微博实例。打开后发现调用了 Weibo4j.Timeline.java 类发送微博。
  不过微博官方已经取消了updateStatus等相关的发送微博接口,这些接口不能再调用了,但是由于java sdk是2014版本,所以里面还是有这些方法的。然后替换之前的updateStatus界面为statuss/share(第三方分享链接微博)
  我们使用这个接口发送一条微博。由于java sdk是2014版本的,这个版本没有这个接口方法,所以我们需要根据他的调用方法写一个新的接口。由于这个接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制修改方法名,替换json。至此,无图发微博的方法就完成了。
  1 
2
  公共状态 updateStatus(String status) 抛出 WeiboException {
  return new Status(client.post(WeiboConfig.getValue("baseURL")
  新 PostParameter[] { new PostParameter("status", status) },
  访问令牌));
  }
  /** 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(api发新微博网上现有教程中的发送微博接口(updateStatus),)
  最近有个项目需要调用微博api发送一条新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就已经调整了相关接口,取消了现有在线教程中发送微博的接口(updateStatus)。结果再次调用该接口会提示权限不足。,折腾了很久。特此发一个新的文章,希望大家不要入坑。
  1.登录开放平台创建应用
  首先,需要到微博开放平台申请开发者账号,创建新应用。你可以直接用你的微博账号登录。登录后,点击微链接选择其他选项,根据自己的需要新建应用程序(客户端、Web应用程序和浏览器插件)。
  2.应用相关设置
  首先,在应用信息中编辑应用的基本信息,包括应用介绍和用途,一定要填写安全域名。您可以填写域名进行自己的测试。企业申请,填写企业相关域名。
  还需要在应用高级信息中设置OAuth2.0的授权回调页面。这个测试也可以随便填。应用发起用户授权时,重定向的页面地址成功或取消。
  三、下载微博java sdk
  点击sdk下载地址后会跳转回github页面。页面也有例子提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用程序信息中。
  四、运行实例获取授权码
  配置文件修改后,首先打开examples包下的oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后,浏览器地址中会多出一个code=******。复制代码并粘贴到编辑器的控制台中,然后回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****]有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要OAuth2.0授权。调用每个方法都需要一个授权码。未经审核的应用授权码仅在一天内有效。通过后有30天,如果得到应用开发者的授权则有5年。因此,开发者在调用时需要判断授权码的有效期,到期后引导用户重新授权。
  5.api应用微博
  示例包中全是微博官方api实例,之前发送微博的接口在weibo4j.examples.timeline下。UpdateStatus.java 和 Upload.java 一个是发送微博文本,另一个是发送带图片的微博实例。打开后发现调用了 Weibo4j.Timeline.java 类发送微博。
  不过微博官方已经取消了updateStatus等相关的发送微博接口,这些接口不能再调用了,但是由于java sdk是2014版本,所以里面还是有这些方法的。然后替换之前的updateStatus界面为statuss/share(第三方分享链接微博)
  我们使用这个接口发送一条微博。由于java sdk是2014版本的,这个版本没有这个接口方法,所以我们需要根据他的调用方法写一个新的接口。由于这个接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制修改方法名,替换json。至此,无图发微博的方法就完成了。
  1 
2
  公共状态 updateStatus(String status) 抛出 WeiboException {
  return new Status(client.post(WeiboConfig.getValue("baseURL")
  新 PostParameter[] { new PostParameter("status", status) },
  访问令牌));
  }
  /**

使用新浪微博开放平台api同步微博内容至自己网站(裴东辉-如何使用新浪微博API开放平台进行(组图))

网站优化优采云 发表了文章 • 0 个评论 • 68 次浏览 • 2022-02-23 16:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(裴东辉-如何使用新浪微博API开放平台进行(组图))
  裴东辉-如何使用新浪微博API开放平台进行程序开发
  前段时间抓取微博的数据,想着用htmlunit模拟登录新浪微博抓取数据。这两天看了新浪微博的官方API,发现可以通过新浪微博的官方API获取。新浪微博信息,更全面更简单。以下是从注册新浪微博,到完善新浪微博开放平台开发者信息,再创建应用获取Access Token,最后开发自己的应用。
  1注册126个邮箱
  
  02注册新浪微博
  
  03 登录新浪微博
  
  04登陆新浪开放平台
  
  05查看微博接口
  
  06 可以看到获得用户关注的用户信息列表
  
  07 打开api测试工具
  
  08 创建应用获取AccessToken
  
  09 创建应用程序
  
  10选择应用类型
  
  11填写开发者信息(如果之前已经填写过开发者信息,则跳过此步骤)
  
  12完整的开发者信息
  
  13 完成电子邮件确认
  
  14 创建应用程序
  
  15 成功创建应用(这里的Appkey暂时不可用)
  
  16 回到这个地方进行用户关系的API测试
  
  17 找到我的uid(在个人主页,后面最后一个数字是个人uid)
  
  18 看到这个用户就关注它
  
  19的最终结果,调用新浪微博的api查看获取到的json格式数据
  
  以上完成后,在网页上成功调用新浪微博提供的api接口。接下来,您需要编写一个程序来实现这一点。程序是模拟这个网页发送请求,返回的数据是json格式的数据。字段已定义。
  比如模拟这个请求,然后解析数据:
  
  完成后,开始正式开发微博数据分析程序。
  发表于 2016-02-23 14:251130136248read(409)comments(0)edit 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(裴东辉-如何使用新浪微博API开放平台进行(组图))
  裴东辉-如何使用新浪微博API开放平台进行程序开发
  前段时间抓取微博的数据,想着用htmlunit模拟登录新浪微博抓取数据。这两天看了新浪微博的官方API,发现可以通过新浪微博的官方API获取。新浪微博信息,更全面更简单。以下是从注册新浪微博,到完善新浪微博开放平台开发者信息,再创建应用获取Access Token,最后开发自己的应用。
  1注册126个邮箱
  
  02注册新浪微博
  
  03 登录新浪微博
  
  04登陆新浪开放平台
  
  05查看微博接口
  
  06 可以看到获得用户关注的用户信息列表
  
  07 打开api测试工具
  
  08 创建应用获取AccessToken
  
  09 创建应用程序
  
  10选择应用类型
  
  11填写开发者信息(如果之前已经填写过开发者信息,则跳过此步骤)
  
  12完整的开发者信息
  
  13 完成电子邮件确认
  
  14 创建应用程序
  
  15 成功创建应用(这里的Appkey暂时不可用)
  
  16 回到这个地方进行用户关系的API测试
  
  17 找到我的uid(在个人主页,后面最后一个数字是个人uid)
  
  18 看到这个用户就关注它
  
  19的最终结果,调用新浪微博的api查看获取到的json格式数据
  
  以上完成后,在网页上成功调用新浪微博提供的api接口。接下来,您需要编写一个程序来实现这一点。程序是模拟这个网页发送请求,返回的数据是json格式的数据。字段已定义。
  比如模拟这个请求,然后解析数据:
  
  完成后,开始正式开发微博数据分析程序。
  发表于 2016-02-23 14:251130136248read(409)comments(0)edit

使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案 )

网站优化优采云 发表了文章 • 0 个评论 • 77 次浏览 • 2022-02-22 18:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案
)
  一:获取app-key和app-secret
  使用自己的微博账号登录微博开放平台(),在微博开放中心的“创建应用”下创建应用。根据需要填写申请信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥。和应用程序秘密
  二:设置授权回调页面
  
  在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧的“应用信息”栏,会看到“App key”和“App Secret”,这两个东西是后面程序中用到的。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  三:安装微博python SDK
  有两种安装方法:
  1:下载新浪微博SDK
  2:python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  四:实例验证,获取当前登录用户和他关注的用户的最新微博(授权)
  这里需要注意的是,当浏览器中弹出一个页面时,必须先点击“授权”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面定向到新浪服务器,然后用户将信息输入新浪服务器并授权给我的应用访问用户数据,这里我授权微博给下面的程序),授权后浏览器中的URL类似:将代码后面的代码复制到控件中侧面,程序需要读取数据2024222384d5dc88316d21675259d73a
  注意:如果要获取其他信息,只需修改
  statuses = client.statuses__friends_timeline()['statuses']
  中的 statuss__friends_timeline
  # -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser #python内置的包
APP_KEY = 'xxxxxxxx'#注意替换这里为自己申请的App信息
APP_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 3B%23回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print '输入url中code后面的内容后按回车键:'
code = raw_input()
#code = your.web.framework.request.get('code')
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()['statuses'] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
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']
  结果如下(截取部分数据):
  
  以下是我的关注者的微博:
  
  
  
  
  以上面的代码为例,我们这里得到的信息是:
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案
)
  一:获取app-key和app-secret
  使用自己的微博账号登录微博开放平台(),在微博开放中心的“创建应用”下创建应用。根据需要填写申请信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥。和应用程序秘密
  二:设置授权回调页面
  
  在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧的“应用信息”栏,会看到“App key”和“App Secret”,这两个东西是后面程序中用到的。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  三:安装微博python SDK
  有两种安装方法:
  1:下载新浪微博SDK
  2:python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  四:实例验证,获取当前登录用户和他关注的用户的最新微博(授权)
  这里需要注意的是,当浏览器中弹出一个页面时,必须先点击“授权”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面定向到新浪服务器,然后用户将信息输入新浪服务器并授权给我的应用访问用户数据,这里我授权微博给下面的程序),授权后浏览器中的URL类似:将代码后面的代码复制到控件中侧面,程序需要读取数据2024222384d5dc88316d21675259d73a
  注意:如果要获取其他信息,只需修改
  statuses = client.statuses__friends_timeline()['statuses']
  中的 statuss__friends_timeline
  # -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser #python内置的包
APP_KEY = 'xxxxxxxx'#注意替换这里为自己申请的App信息
APP_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 3B%23回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print '输入url中code后面的内容后按回车键:'
code = raw_input()
#code = your.web.framework.request.get('code')
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()['statuses'] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
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']
  结果如下(截取部分数据):
  
  以下是我的关注者的微博:
  
  
  
  
  以上面的代码为例,我们这里得到的信息是:
  

使用新浪微博开放平台api同步微博内容至自己网站(微博登录访问第三方网站的高级进阶干货需要注意哪些? )

网站优化优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2022-02-22 18:00 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博登录访问第三方网站的高级进阶干货需要注意哪些?
)
  在平时的项目开发过程中,除了注册这个网站账号登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户登录微博访问第三方网站、分享内容、同步信息。
  1、首先需要将需要授权的用户引导到以下地址:
  https://api.weibo.com/oauth2/a ... T_URI
  如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
  2、接下来需要根据上面得到的代码兑换Access Token:
  https://api.weibo.com/oauth2/a ... DCODE
  返回值:
  JSON
  {
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
  3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
  为了方便,我们先将get和post封装到application下的common.php中:
  应用通用文件common.php:
  function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
  模板代码 login.html:
  DOCTYPE html>

微博登录
点击这里进行微博登录
  渲染:
  
  
  
  希望以上内容对您有所帮助。很多PHPer进阶的时候总会遇到一些问题和瓶颈。编写业务代码时没有方向感。我不知道从哪里开始改进。我整理了其中一些。材料,包括但不限于:分布式架构、高扩展性、高性能、高并发、服务器性能调优、TP6、laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx和其他进阶干货知识点可以免费分享给大家,需要的可以点这里链接或者关注下方我们的专栏
  转载:
  转载:
  ----------------------------------- ---------- ------------自有项目-------------- --------- ----------------------------------------- ----------------
  //新浪授权登录
public function weibo_login()
{
$key = "3700xxx";
$redirect_uri = "http://xxxx.xxxxx.com/wpapi/re ... 3B%3B
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return $this->fetch('weibo_register');
}
//新浪授权登录--回到地址
public function web_login_back(){
$key = "370xxx";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "7124de4bdaa82ca2ccc52xxxxx";
$redirect_uri = "http://xxx.xxxxx.com/wpapi/reg ... 3B%3B
$url_post = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $url_post);
$response->getStatusCode(); // 200
$response->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$data = json_decode($response->getBody(), true);
// dump($data);die;
// $token = json_decode($data, true);
$token = $data;
//获取用户信息 : get方法,替换参数: access_token, uid
$url_get = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$response_get = $client->request('get', $url_get);
$response_get->getStatusCode(); // 200
$response_get->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$info_info = json_decode($response_get->getBody(), true);
$info = $info_info;
dump($info);
if($info){
echo "登录成功";
}
}
  DOCTYPE html>

Title
微博授权登录
点击登录
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博登录访问第三方网站的高级进阶干货需要注意哪些?
)
  在平时的项目开发过程中,除了注册这个网站账号登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户登录微博访问第三方网站、分享内容、同步信息。
  1、首先需要将需要授权的用户引导到以下地址:
  https://api.weibo.com/oauth2/a ... T_URI
  如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
  2、接下来需要根据上面得到的代码兑换Access Token:
  https://api.weibo.com/oauth2/a ... DCODE
  返回值:
  JSON
  {
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
  3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
  为了方便,我们先将get和post封装到application下的common.php中:
  应用通用文件common.php:
  function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
  模板代码 login.html:
  DOCTYPE html>

微博登录
点击这里进行微博登录
  渲染:
  
  
  
  希望以上内容对您有所帮助。很多PHPer进阶的时候总会遇到一些问题和瓶颈。编写业务代码时没有方向感。我不知道从哪里开始改进。我整理了其中一些。材料,包括但不限于:分布式架构、高扩展性、高性能、高并发、服务器性能调优、TP6、laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx和其他进阶干货知识点可以免费分享给大家,需要的可以点这里链接或者关注下方我们的专栏
  转载:
  转载:
  ----------------------------------- ---------- ------------自有项目-------------- --------- ----------------------------------------- ----------------
  //新浪授权登录
public function weibo_login()
{
$key = "3700xxx";
$redirect_uri = "http://xxxx.xxxxx.com/wpapi/re ... 3B%3B
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return $this->fetch('weibo_register');
}
//新浪授权登录--回到地址
public function web_login_back(){
$key = "370xxx";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "7124de4bdaa82ca2ccc52xxxxx";
$redirect_uri = "http://xxx.xxxxx.com/wpapi/reg ... 3B%3B
$url_post = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $url_post);
$response->getStatusCode(); // 200
$response->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$data = json_decode($response->getBody(), true);
// dump($data);die;
// $token = json_decode($data, true);
$token = $data;
//获取用户信息 : get方法,替换参数: access_token, uid
$url_get = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$response_get = $client->request('get', $url_get);
$response_get->getStatusCode(); // 200
$response_get->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$info_info = json_decode($response_get->getBody(), true);
$info = $info_info;
dump($info);
if($info){
echo "登录成功";
}
}
  DOCTYPE html>

Title
微博授权登录
点击登录
  

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开发的api,1.第三方)

网站优化优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-02-22 17:20 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开发的api,1.第三方)
  首先我们要拿到新浪微博开发的API,然后仔细阅读一些文档规范,这样就可以知道如果第三方应用想要分享内容到新浪微博平台,
  1.第三方申请需在新浪微博开放平台审核通过
  client_ID=*****
client_SERCRET=*****
  配置到config.properties,信息如下:
  client_ID=*****
client_SERCRET=*****
redirect_URI=http://apps.weibo.com/ceshidemo
baseURL=https://api.weibo.com/2/
accessTokenURL=https://api.weibo.com/oauth2/access_token
authorizeURL=https://api.weibo.com/oauth2/authorize
rmURL=https://rm.api.weibo.com/2/
response_type=code
  2.用从新浪微博开放平台获取的client_ID和client_SERCRET获取AccessToken,
  3.然后带着获取的AccessToken访问新浪微博、发送体验微博或者获取当前用户信息等
  代码如下:
  public class WeiBoUtil2 extends WeiBoUtil {
public static final String POST_WEIBO_URL_WITH_CONTENT = "https://api.weibo.com/2/status ... 3B%3B
private static final Logger logger = Logger.getLogger(WeiBoUtil2.class);
public static Map header = new HashMap();
static {
header.put("Accept-Language", "zh-CN,zh;q=0.8");
header.put("User-Agent", "test sina api");
header.put("Accept-Charset", "utf-8;q=0.7,*;q=0.3");
}
/**
* 获取当前用户信息
*
* @param uid
*
*/
public static void showUser(String uid) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();// 通过code回去通行令类
Users um = new Users();
um.client.setToken(accessToken.getAccessToken());// 设置通行令然后发布微博
try {
User user = um.showUserById(uid);// 获取用户
Log.logInfo(user.toString());
} catch (WeiboException e) {
e.printStackTrace();
}
}
/**
* 获取用户的粉丝列表
*
* @param name
* @throws WeiboException
* when Weibo service or network is unavailable
*/
public static void findFriendsByScreenName(String name) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();
Friendships fm = new Friendships();
fm.client.setToken(accessToken.getAccessToken());
try {
UserWapper users = fm.getFollowersByName(name);
for (User u : users.getUsers()) {
Log.logInfo(u.toString());
}
} catch (WeiboException e) {
Log.logErr(null+ ":" + e.getMessage());
}
}
/**
* 获取通行令方法
*
* @param userid
* 用户名
* @param password
* 密码
* @return AccessToken 通行令
* @throws WeiboException
* when userId or password is not OAuth HttpException when Weibo
* service or network is unavailable
* @author
*/
public static AccessToken refreshToken(String userid, String password) {
try {
String url = WeiboConfig.getValue("authorizeURL");// 微博认证授权地址
PostMethod postMethod = new PostMethod(url);
postMethod.addParameter("client_id", WeiboConfig
.getValue("client_ID"));// your client id
postMethod.addParameter("redirect_uri", WeiboConfig
.getValue("redirect_URI"));// your url
postMethod.addParameter("userId", userid);// 获取微薄的useid
postMethod.addParameter("passwd", password);
postMethod.addParameter("isLoginSina", "0");
postMethod.addParameter("action", "submit");
postMethod.addParameter("response_type", WeiboConfig
.getValue("response_type"));// code
// 获取post方法的参数
HttpMethodParams param = postMethod.getParams();
param.setContentCharset("UTF-8");// 进行编码转换
List headers = new ArrayList();
// 伪造请求头信头
headers.add(new Header(
"Referer",
"https://api.weibo.com/oauth2/a ... 6quot;));
headers.add(new Header("Host", "api.weibo.com"));
// headers
// .add(new Header("User-Agent",
// "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0"));
headers.add(new Header("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)"));
ProtocolSocketFactory fcty = new MySecureProtocolSocketFactory();
Protocol.registerProtocol("https", new Protocol("https", fcty, 443));
//HttpClient客户端apache下面的api
HttpClient client = new HttpClient();
client.getHostConfiguration().getParams().setParameter("http.default-headers", headers);
client.executeMethod(postMethod);
//获得响应的状态码
int status = postMethod.getStatusCode();
if (status != 200 && status != 302) {
Log.logErr("请求Token返回的状态码:" + status);
}
// 获取响应的头信息中的 地址信息
Header location = postMethod.getResponseHeader("Location");
// 下面的方法是取出code
if (location != null) {
String retUrl = location.getValue();
int begin = retUrl.indexOf("code=");
if (begin != -1) {
int end = retUrl.indexOf("&", begin);
if (end == -1)
end = retUrl.length();
String code = retUrl.substring(begin + 5, end);
if (code != null) {
// 通过getAccessTokenByCode方法返回accessToken
Log.logInfo("location&#39;s code is :" + code);
return new Oauth().getAccessTokenByCode(code);
}
}
} else {
Log.logErr("location&#39;s code is :"+location);
}
} catch (WeiboException e) {
Log.logErr(e.getMessage());
} catch (HttpException e) {
Log.logErr(null);
} catch (IOException e) {
Log.logErr(e.getMessage());
}
Log.logErr("refresh token failed");
return null;
}
/**
* 发布一篇微博方法
*
* @param str
* 发送的微博正文
* @param userid
* 用户ID
* @param password
* 用户密码
* @return String post请求返回的response内容
*/
public static String sendWeibo(String str, String userid, String password,
String accessToken) throws WeiboException {
Map params = new HashMap();
params.put("access_token", accessToken);
params.put("status", str);
params.put("lat", "39.920063467669495");
params.put("long", "116.46009815979004");
String respStr = postMethodRequestWithOutFile(POST_WEIBO_URL_WITH_CONTENT, params, header);
Log.logInfo("postMethodRequestWithOutFile responce-->" + respStr);
return respStr;
}
/**
* post请求发送方法
*
* @param url
* 发布微博的地址
* @param params
* 请求消息头中的参数值
* @param header
* 请求头信息
* @return 服务器端的响应信息
* @throws WeiboException
* when userId or password is not OAuth HttpException
* Exception when Weibo service or network is unavailable
*/
public static String postMethodRequestWithOutFile(String url,
Map params, Map header) {
Log.logInfo("post request is begin! url =" + url);
HttpClient hc = new HttpClient();
try {
PostMethod pm = new PostMethod(url);
if (header != null) {
for (String head_key : header.keySet()) {
if (head_key == null || header.get(head_key) == null)
continue;
pm.addRequestHeader(head_key, header.get(head_key));
}
}
if (params != null) {
for (String param_key : params.keySet()) {
if (param_key == null || params.get(param_key) == null)
continue;
pm.addParameter(param_key, params.get(param_key));
}
}
// 获取params,然后进行编码,编成utf8格式
pm.getParams().setContentCharset("utf8");
hc.executeMethod(pm);
String ret = pm.getResponseBodyAsString();// 获取响应体的字符串
Log.logInfo("post请求发出后返回的信息:" + ret);
return ret;
} catch (HttpException e) {
Log.logErr(null);
} catch (Exception e) {
Log.logErr(null);
} finally {
Log.logInfo("post request is end! url =" + url);
}
return null;
}
  如果您有兴趣获取更多信息:添加以下请求:378437335 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开发的api,1.第三方)
  首先我们要拿到新浪微博开发的API,然后仔细阅读一些文档规范,这样就可以知道如果第三方应用想要分享内容到新浪微博平台,
  1.第三方申请需在新浪微博开放平台审核通过
  client_ID=*****
client_SERCRET=*****
  配置到config.properties,信息如下:
  client_ID=*****
client_SERCRET=*****
redirect_URI=http://apps.weibo.com/ceshidemo
baseURL=https://api.weibo.com/2/
accessTokenURL=https://api.weibo.com/oauth2/access_token
authorizeURL=https://api.weibo.com/oauth2/authorize
rmURL=https://rm.api.weibo.com/2/
response_type=code
  2.用从新浪微博开放平台获取的client_ID和client_SERCRET获取AccessToken,
  3.然后带着获取的AccessToken访问新浪微博、发送体验微博或者获取当前用户信息等
  代码如下:
  public class WeiBoUtil2 extends WeiBoUtil {
public static final String POST_WEIBO_URL_WITH_CONTENT = "https://api.weibo.com/2/status ... 3B%3B
private static final Logger logger = Logger.getLogger(WeiBoUtil2.class);
public static Map header = new HashMap();
static {
header.put("Accept-Language", "zh-CN,zh;q=0.8");
header.put("User-Agent", "test sina api");
header.put("Accept-Charset", "utf-8;q=0.7,*;q=0.3");
}
/**
* 获取当前用户信息
*
* @param uid
*
*/
public static void showUser(String uid) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();// 通过code回去通行令类
Users um = new Users();
um.client.setToken(accessToken.getAccessToken());// 设置通行令然后发布微博
try {
User user = um.showUserById(uid);// 获取用户
Log.logInfo(user.toString());
} catch (WeiboException e) {
e.printStackTrace();
}
}
/**
* 获取用户的粉丝列表
*
* @param name
* @throws WeiboException
* when Weibo service or network is unavailable
*/
public static void findFriendsByScreenName(String name) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();
Friendships fm = new Friendships();
fm.client.setToken(accessToken.getAccessToken());
try {
UserWapper users = fm.getFollowersByName(name);
for (User u : users.getUsers()) {
Log.logInfo(u.toString());
}
} catch (WeiboException e) {
Log.logErr(null+ ":" + e.getMessage());
}
}
/**
* 获取通行令方法
*
* @param userid
* 用户名
* @param password
* 密码
* @return AccessToken 通行令
* @throws WeiboException
* when userId or password is not OAuth HttpException when Weibo
* service or network is unavailable
* @author
*/
public static AccessToken refreshToken(String userid, String password) {
try {
String url = WeiboConfig.getValue("authorizeURL");// 微博认证授权地址
PostMethod postMethod = new PostMethod(url);
postMethod.addParameter("client_id", WeiboConfig
.getValue("client_ID"));// your client id
postMethod.addParameter("redirect_uri", WeiboConfig
.getValue("redirect_URI"));// your url
postMethod.addParameter("userId", userid);// 获取微薄的useid
postMethod.addParameter("passwd", password);
postMethod.addParameter("isLoginSina", "0");
postMethod.addParameter("action", "submit");
postMethod.addParameter("response_type", WeiboConfig
.getValue("response_type"));// code
// 获取post方法的参数
HttpMethodParams param = postMethod.getParams();
param.setContentCharset("UTF-8");// 进行编码转换
List headers = new ArrayList();
// 伪造请求头信头
headers.add(new Header(
"Referer",
"https://api.weibo.com/oauth2/a ... 6quot;));
headers.add(new Header("Host", "api.weibo.com"));
// headers
// .add(new Header("User-Agent",
// "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0"));
headers.add(new Header("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)"));
ProtocolSocketFactory fcty = new MySecureProtocolSocketFactory();
Protocol.registerProtocol("https", new Protocol("https", fcty, 443));
//HttpClient客户端apache下面的api
HttpClient client = new HttpClient();
client.getHostConfiguration().getParams().setParameter("http.default-headers", headers);
client.executeMethod(postMethod);
//获得响应的状态码
int status = postMethod.getStatusCode();
if (status != 200 && status != 302) {
Log.logErr("请求Token返回的状态码:" + status);
}
// 获取响应的头信息中的 地址信息
Header location = postMethod.getResponseHeader("Location");
// 下面的方法是取出code
if (location != null) {
String retUrl = location.getValue();
int begin = retUrl.indexOf("code=");
if (begin != -1) {
int end = retUrl.indexOf("&", begin);
if (end == -1)
end = retUrl.length();
String code = retUrl.substring(begin + 5, end);
if (code != null) {
// 通过getAccessTokenByCode方法返回accessToken
Log.logInfo("location&#39;s code is :" + code);
return new Oauth().getAccessTokenByCode(code);
}
}
} else {
Log.logErr("location&#39;s code is :"+location);
}
} catch (WeiboException e) {
Log.logErr(e.getMessage());
} catch (HttpException e) {
Log.logErr(null);
} catch (IOException e) {
Log.logErr(e.getMessage());
}
Log.logErr("refresh token failed");
return null;
}
/**
* 发布一篇微博方法
*
* @param str
* 发送的微博正文
* @param userid
* 用户ID
* @param password
* 用户密码
* @return String post请求返回的response内容
*/
public static String sendWeibo(String str, String userid, String password,
String accessToken) throws WeiboException {
Map params = new HashMap();
params.put("access_token", accessToken);
params.put("status", str);
params.put("lat", "39.920063467669495");
params.put("long", "116.46009815979004");
String respStr = postMethodRequestWithOutFile(POST_WEIBO_URL_WITH_CONTENT, params, header);
Log.logInfo("postMethodRequestWithOutFile responce-->" + respStr);
return respStr;
}
/**
* post请求发送方法
*
* @param url
* 发布微博的地址
* @param params
* 请求消息头中的参数值
* @param header
* 请求头信息
* @return 服务器端的响应信息
* @throws WeiboException
* when userId or password is not OAuth HttpException
* Exception when Weibo service or network is unavailable
*/
public static String postMethodRequestWithOutFile(String url,
Map params, Map header) {
Log.logInfo("post request is begin! url =" + url);
HttpClient hc = new HttpClient();
try {
PostMethod pm = new PostMethod(url);
if (header != null) {
for (String head_key : header.keySet()) {
if (head_key == null || header.get(head_key) == null)
continue;
pm.addRequestHeader(head_key, header.get(head_key));
}
}
if (params != null) {
for (String param_key : params.keySet()) {
if (param_key == null || params.get(param_key) == null)
continue;
pm.addParameter(param_key, params.get(param_key));
}
}
// 获取params,然后进行编码,编成utf8格式
pm.getParams().setContentCharset("utf8");
hc.executeMethod(pm);
String ret = pm.getResponseBodyAsString();// 获取响应体的字符串
Log.logInfo("post请求发出后返回的信息:" + ret);
return ret;
} catch (HttpException e) {
Log.logErr(null);
} catch (Exception e) {
Log.logErr(null);
} finally {
Log.logInfo("post request is end! url =" + url);
}
return null;
}
  如果您有兴趣获取更多信息:添加以下请求:378437335

使用新浪微博开放平台api同步微博内容至自己网站(中国的微博客正在酝酿一场新的大战(图))

网站优化优采云 发表了文章 • 0 个评论 • 87 次浏览 • 2022-02-20 05:17 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(中国的微博客正在酝酿一场新的大战(图))
  中国的微博似乎正在酝酿一场新的战争。
  刚刚在推特上看到了 Moonlight Blog 的所有者 williamlong 的消息:
  尊敬的开发者您好:您的应用程序“@”使用的接口已关闭。原因是向其他社交平台同步内容的功能违反了相关法律法规和政策。请根据我们的建议和《微博开放平台应用审核规范》对您的应用进行调整,并提交重新开放界面的申请。感谢您的支持与合作。
  同时,知名的新浪微博第三方同步客户端fawave和微博通也确认使用的新浪微博API服务已被冻结。
  那么这些第三方客户违反了哪些法律法规呢?
  fawave 的作者认为可能有以下原因导致被封:
  五、竞争限制 b) 新浪开放平台插件应用产生的数据,禁止以任何形式查看或与开放平台外的任何数据进行交互;…
  2. 插件应用程序提供商的权利和义务。以任何方式开发机器人外挂应用,包括但不限于绑定多平台微博账号、将新浪微博信息同步到其他微博平台等。
  微博说:
  新浪微博欺负人,玩过河拆桥大游戏:据开发者介绍,很多基于新浪微博开放平台接口开发的应用已经从数据接口禁用,新浪微博准备过河河,拆桥!期待更多的开发者关注这件事,说不定你的应用就是下一个被停止的应用。
  微博是一个生态系统,平台是一方面,而那些基于微博平台开发应用的第三方开发者对于平台的成功至关重要。36氪将密切关注此事并进行更新。善待开发者就是善待自己。
  更新 1:fawave 现在功能齐全。
  更新 2:(在微博上更新)fawave 的作者之一(@Python 爱好者)说 fawave 又回来了,但是,在某些时候,你可能会发现缺少一些东西。另外,我了解新浪微博开放平台。
  相关新闻:新浪微博被迫撤出大量特殊微博账号
  以下为新浪微博应用开发者协议:
  新浪微博应用开发者协议
  一、定义
  1.新浪开放平台
  a) 新浪开放平台是指新浪拥有和提供的一些软件、文档和技术服务,插件应用提供商基于这些软件、文档和技术服务向新浪提供插件应用;
  b) 新浪开放平台收录的技术服务包括但不限于:为插件应用提供数据接口服务、为插件应用提供数据统计服务、提供支付渠道和计费系统、提供营销解决方案和营销服务。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(中国的微博客正在酝酿一场新的大战(图))
  中国的微博似乎正在酝酿一场新的战争。
  刚刚在推特上看到了 Moonlight Blog 的所有者 williamlong 的消息:
  尊敬的开发者您好:您的应用程序“@”使用的接口已关闭。原因是向其他社交平台同步内容的功能违反了相关法律法规和政策。请根据我们的建议和《微博开放平台应用审核规范》对您的应用进行调整,并提交重新开放界面的申请。感谢您的支持与合作。
  同时,知名的新浪微博第三方同步客户端fawave和微博通也确认使用的新浪微博API服务已被冻结。
  那么这些第三方客户违反了哪些法律法规呢?
  fawave 的作者认为可能有以下原因导致被封:
  五、竞争限制 b) 新浪开放平台插件应用产生的数据,禁止以任何形式查看或与开放平台外的任何数据进行交互;…
  2. 插件应用程序提供商的权利和义务。以任何方式开发机器人外挂应用,包括但不限于绑定多平台微博账号、将新浪微博信息同步到其他微博平台等。
  微博说:
  新浪微博欺负人,玩过河拆桥大游戏:据开发者介绍,很多基于新浪微博开放平台接口开发的应用已经从数据接口禁用,新浪微博准备过河河,拆桥!期待更多的开发者关注这件事,说不定你的应用就是下一个被停止的应用。
  微博是一个生态系统,平台是一方面,而那些基于微博平台开发应用的第三方开发者对于平台的成功至关重要。36氪将密切关注此事并进行更新。善待开发者就是善待自己。
  更新 1:fawave 现在功能齐全。
  更新 2:(在微博上更新)fawave 的作者之一(@Python 爱好者)说 fawave 又回来了,但是,在某些时候,你可能会发现缺少一些东西。另外,我了解新浪微博开放平台。
  相关新闻:新浪微博被迫撤出大量特殊微博账号
  以下为新浪微博应用开发者协议:
  新浪微博应用开发者协议
  一、定义
  1.新浪开放平台
  a) 新浪开放平台是指新浪拥有和提供的一些软件、文档和技术服务,插件应用提供商基于这些软件、文档和技术服务向新浪提供插件应用;
  b) 新浪开放平台收录的技术服务包括但不限于:为插件应用提供数据接口服务、为插件应用提供数据统计服务、提供支付渠道和计费系统、提供营销解决方案和营销服务。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇))

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-02-19 14:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇))
  想了解新浪微博API开发入门中的用户授权(PHP基础)吗?在本文中,我将讲解新浪微博API开发的相关知识和一些代码示例。欢迎阅读和指正。我们先来关注一下:新浪微博,API开发,一起来学习。
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上有非常清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o-&gt;getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
  获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o-&gt;getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。在我们得到 $aurl 之后,我们可以使用 header() 直接跳转到它。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
  需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o-&gt;getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
  获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c-&gt;public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) &amp;&amp; isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
  上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用的是php进行开发,所以使用Json格式数据有先天优势,如果返回Json格式数据,直接使用php函数json_decode () 可以转换成php常用的数组格式。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇))
  想了解新浪微博API开发入门中的用户授权(PHP基础)吗?在本文中,我将讲解新浪微博API开发的相关知识和一些代码示例。欢迎阅读和指正。我们先来关注一下:新浪微博,API开发,一起来学习。
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上有非常清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o-&gt;getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
  获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o-&gt;getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。在我们得到 $aurl 之后,我们可以使用 header() 直接跳转到它。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
  需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o-&gt;getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
  获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c-&gt;public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) &amp;&amp; isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
  上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用的是php进行开发,所以使用Json格式数据有先天优势,如果返回Json格式数据,直接使用php函数json_decode () 可以转换成php常用的数组格式。

使用新浪微博开放平台api同步微博内容至自己网站(Google+Hangout新功能曝光:屏幕共享、谷歌文档)

网站优化优采云 发表了文章 • 0 个评论 • 82 次浏览 • 2022-03-05 03:15 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(Google+Hangout新功能曝光:屏幕共享、谷歌文档)
  9月21日消息,据外媒报道,随着Google+正式向公众开放,谷歌今天在其官方博客中宣布了一系列新的Hangout功能,同时也为开发者开放了Hangouts API接口。
  
  大约一周前,媒体预测 Google+ 的 API 至少需要几个月的时间。然而,预测后的第二天,谷歌就招募了“值得信赖的”开发人员对 Google+ API 进行内部测试。谷歌当时不喜欢这个消息,并试图寻找告密者。然而,今天,这些 API 已被确认正式开放。
  据了解,Hangouts API 目前仅处于“开发者预览”阶段,产品尚未成熟,仅开放用于测试目的。这些新的 API 允许开发人员在环聊或 Google 的 YouTube 播放器等实时应用程序中创建自己的体验。Youtube 播放器使 Google+ 用户可以通过环聊功能同时观看视频节目。
  Google 今天还宣布了 Google+ Hangout 的新功能,例如屏幕共享、Google Docs 编辑和绘图,激励开发人员充分利用 Hangouts API 来开发更具创意的应用程序。
  API开放的消息已经在Google+官方博客上看到了。目前,API 开发的重点是共享公共信息,而不是访问用户的社交圈。API 的权限是“只读的”,但这对于喜欢 Google+ 的开发者来说已经足够了。
  Google+的核心是圈子,所以只有能够访问朋友圈的API才是开发者真正期待的。但是,这样的 API 可能需要等待很长时间,因为它过于复杂并且涉及棘手的隐私问题。
  要使用这些 API,开发人员需要创建一个 Web 应用程序并在 Google 注册。开发者还需要指定允许加载应用程序的开发者,然后程序就可以像普通的 Web 应用程序一样运行,并且可以同步使用 API。通过为应用创建“共享状态”,用户可以即时获取参与共享者的状态信息。这包括多媒体播放 API 的状态信息,Hangout 参与者可以即时更新其他人的“静音”、“影评”等信息。
  至于 Hangouts,媒体对 Google+ Hangouts 的高度关注源于 Facebook 提供了许多类似的功能,这迫使 Google+ 的受欢迎程度下降。不难想象,谷歌肯定会推广新的环聊功能,并认为这是 Facebook 所没有的服务。虽然 Facebook 已经通过与 Skype 的集成来提供视频聊天,但它仅限于两个人,而不是一个群组。
  环聊对开发者来说很有趣,开发者可以创建在线会议、网络播客、在线教程、在线游戏等应用程序,这些应用程序可能会成为那些付费应用程序的潜在替代品。
  谷歌工程师克里斯·查博特 (Chris Chabot) 在 Google+ 官方博客上写道,“这些 API 接口允许用户获取发布在 Google+ 上的公共信息,这对我们来说是一个开始。世界上没有好的东西。它建立在一个真空,现在我们有了这个基础,我们可以讨论如何让 Google+ 变得更好。” 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(Google+Hangout新功能曝光:屏幕共享、谷歌文档)
  9月21日消息,据外媒报道,随着Google+正式向公众开放,谷歌今天在其官方博客中宣布了一系列新的Hangout功能,同时也为开发者开放了Hangouts API接口。
  
  大约一周前,媒体预测 Google+ 的 API 至少需要几个月的时间。然而,预测后的第二天,谷歌就招募了“值得信赖的”开发人员对 Google+ API 进行内部测试。谷歌当时不喜欢这个消息,并试图寻找告密者。然而,今天,这些 API 已被确认正式开放。
  据了解,Hangouts API 目前仅处于“开发者预览”阶段,产品尚未成熟,仅开放用于测试目的。这些新的 API 允许开发人员在环聊或 Google 的 YouTube 播放器等实时应用程序中创建自己的体验。Youtube 播放器使 Google+ 用户可以通过环聊功能同时观看视频节目。
  Google 今天还宣布了 Google+ Hangout 的新功能,例如屏幕共享、Google Docs 编辑和绘图,激励开发人员充分利用 Hangouts API 来开发更具创意的应用程序。
  API开放的消息已经在Google+官方博客上看到了。目前,API 开发的重点是共享公共信息,而不是访问用户的社交圈。API 的权限是“只读的”,但这对于喜欢 Google+ 的开发者来说已经足够了。
  Google+的核心是圈子,所以只有能够访问朋友圈的API才是开发者真正期待的。但是,这样的 API 可能需要等待很长时间,因为它过于复杂并且涉及棘手的隐私问题。
  要使用这些 API,开发人员需要创建一个 Web 应用程序并在 Google 注册。开发者还需要指定允许加载应用程序的开发者,然后程序就可以像普通的 Web 应用程序一样运行,并且可以同步使用 API。通过为应用创建“共享状态”,用户可以即时获取参与共享者的状态信息。这包括多媒体播放 API 的状态信息,Hangout 参与者可以即时更新其他人的“静音”、“影评”等信息。
  至于 Hangouts,媒体对 Google+ Hangouts 的高度关注源于 Facebook 提供了许多类似的功能,这迫使 Google+ 的受欢迎程度下降。不难想象,谷歌肯定会推广新的环聊功能,并认为这是 Facebook 所没有的服务。虽然 Facebook 已经通过与 Skype 的集成来提供视频聊天,但它仅限于两个人,而不是一个群组。
  环聊对开发者来说很有趣,开发者可以创建在线会议、网络播客、在线教程、在线游戏等应用程序,这些应用程序可能会成为那些付费应用程序的潜在替代品。
  谷歌工程师克里斯·查博特 (Chris Chabot) 在 Google+ 官方博客上写道,“这些 API 接口允许用户获取发布在 Google+ 上的公共信息,这对我们来说是一个开始。世界上没有好的东西。它建立在一个真空,现在我们有了这个基础,我们可以讨论如何让 Google+ 变得更好。”

使用新浪微博开放平台api同步微博内容至自己网站(APPKEY和APPSECRET写进去.php访问)

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

  使用新浪微博开放平台api同步微博内容至自己网站(APPKEY和APPSECRET写进去.php访问)
  1.访问,选择我是开发者,选择创建应用,填写开发者信息,成功后获取你的APP KEY和APP SECRET,复制,保存。
  2.到接口文档下载SDK文档,选择PHP语言,看到“authentication through OAuth”,我用的是这个,点击下面链接下载解压到本地应用网站 的根目录。
  3.配置文件config.php,将你的APP KEY和APP SECRET写入其中。在浏览器中打开这一层目录,自动运行index.php文件
  此时你会发现出错了: 注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php 第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返回本地,我们可以在这个回调页面上写微博,最后点击发布,从新浪官方微博登录,就可以看到刚才的消息发布文章消息,下面要标注“from xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。例如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那么我将$_SERVER['SCRIPT_URI']改成,连接到下面的/callback.php 就可以了。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
  我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
  另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(APPKEY和APPSECRET写进去.php访问)
  1.访问,选择我是开发者,选择创建应用,填写开发者信息,成功后获取你的APP KEY和APP SECRET,复制,保存。
  2.到接口文档下载SDK文档,选择PHP语言,看到“authentication through OAuth”,我用的是这个,点击下面链接下载解压到本地应用网站 的根目录。
  3.配置文件config.php,将你的APP KEY和APP SECRET写入其中。在浏览器中打开这一层目录,自动运行index.php文件
  此时你会发现出错了: 注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php 第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返回本地,我们可以在这个回调页面上写微博,最后点击发布,从新浪官方微博登录,就可以看到刚才的消息发布文章消息,下面要标注“from xxx”
  这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。例如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那么我将$_SERVER['SCRIPT_URI']改成,连接到下面的/callback.php 就可以了。
  这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
  我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
  另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇)的相关内容吗)

网站优化优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-03-02 09:23 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇)的相关内容吗)
  想了解新浪微博API开发的用户授权(PHP基础)?、API开发一起学习
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。开发者平台的网站是: 收录新浪微博开发的综合信息,包括开发者的使用和各种语言的API功能介绍、文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天就简单整理一下在开发学习过程中使用PHP开发新浪微博API的内容。和描述
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上非常清晰完整。我们可以去检查一下。这里我将从示例开发的角度来介绍和解释。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o-&gt;getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号或者直接使用我们的新浪微博账号登录我的app,按照提示创建自己的第三方app。创建完成后,我们可以得到两个授权的App Keys和App Secret值这两个值是我们应用开发的关键
  获取到授权值后,我们可以使用上面的代码获取未授权的Request Token值,该值会存储在$key数组变量中
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o-&gt;getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。获取到$aurl后,我们可以使用header()直接跳转到授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后会自动跳转回你在最后一个参数中设置的回调页面:可以将此链接设置为上一页,这样授权完成后会自动跳转回来。
  需要注意的是,需要设置会话密钥的值。需要获取下方授权的Access Token。很多朋友可能会参考开放平台上的说明进行授权,发现总是出错。都是关于这个问题的。您尚未设置会话密钥值。当然,你不能得到下面的Access Token的值。你必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o-&gt;getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上面的代码最终得到了用户授权的Access Token的两个值。它们存储在 $last_key 数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。这基本完成了。这是新浪微博用户授权的完整流程
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。在这里,我将获得最新的微博记录。这个界面会给出一个简单的解释。其他类似。
  获取新浪微博最新信息的API接口函数为: public_timeline() 示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c-&gt;public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) &amp;&amp; isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常,我们在获取到用户授权的Access Token值后,将其保存在我们的用户表中,并对应于我们应用程序中的账户。我们调用新浪微博的各个api接口后,不需要每次都进行认证。
  上面的代码很简单,就是将 WeiboClient 对象实例化,然后直接调用接口函数 public_timeline 来获取返回的信息。如果没有报错,新浪微博api接口返回的数据格式一般是Json格式或者xml格式,我们这里使用php。对于开发来说,使用 Json 格式的数据具有先天的优势。如果返回Json格式数据,可以直接使用php函数json_decode()将其转换为php常用的数组格式。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇)的相关内容吗)
  想了解新浪微博API开发的用户授权(PHP基础)?、API开发一起学习
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。开发者平台的网站是: 收录新浪微博开发的综合信息,包括开发者的使用和各种语言的API功能介绍、文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天就简单整理一下在开发学习过程中使用PHP开发新浪微博API的内容。和描述
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上非常清晰完整。我们可以去检查一下。这里我将从示例开发的角度来介绍和解释。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o-&gt;getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号或者直接使用我们的新浪微博账号登录我的app,按照提示创建自己的第三方app。创建完成后,我们可以得到两个授权的App Keys和App Secret值这两个值是我们应用开发的关键
  获取到授权值后,我们可以使用上面的代码获取未授权的Request Token值,该值会存储在$key数组变量中
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o-&gt;getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。获取到$aurl后,我们可以使用header()直接跳转到授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后会自动跳转回你在最后一个参数中设置的回调页面:可以将此链接设置为上一页,这样授权完成后会自动跳转回来。
  需要注意的是,需要设置会话密钥的值。需要获取下方授权的Access Token。很多朋友可能会参考开放平台上的说明进行授权,发现总是出错。都是关于这个问题的。您尚未设置会话密钥值。当然,你不能得到下面的Access Token的值。你必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o-&gt;getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上面的代码最终得到了用户授权的Access Token的两个值。它们存储在 $last_key 数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。这基本完成了。这是新浪微博用户授权的完整流程
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。在这里,我将获得最新的微博记录。这个界面会给出一个简单的解释。其他类似。
  获取新浪微博最新信息的API接口函数为: public_timeline() 示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c-&gt;public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) &amp;&amp; isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常,我们在获取到用户授权的Access Token值后,将其保存在我们的用户表中,并对应于我们应用程序中的账户。我们调用新浪微博的各个api接口后,不需要每次都进行认证。
  上面的代码很简单,就是将 WeiboClient 对象实例化,然后直接调用接口函数 public_timeline 来获取返回的信息。如果没有报错,新浪微博api接口返回的数据格式一般是Json格式或者xml格式,我们这里使用php。对于开发来说,使用 Json 格式的数据具有先天的优势。如果返回Json格式数据,可以直接使用php函数json_decode()将其转换为php常用的数组格式。

使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)

网站优化优采云 发表了文章 • 0 个评论 • 70 次浏览 • 2022-03-01 18:27 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。

使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)

网站优化优采云 发表了文章 • 0 个评论 • 73 次浏览 • 2022-03-01 18:27 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(这时候微博同步工具介绍、FaWave、微博通、玛撒)
  随着微博成为各种门户和大小的标准网站,微博正在成为常态,2010年成为国内微博爆发之年。随着微博的使用越来越多,问题就出现了。比如我用推特、新浪微博、腾讯微博、凡夫、仙果联博等很多微博,当然没精力在每个博客上说相同或相似的话,那我需要一个多微博同步工具可用。本文将介绍follow5、FaWave、微博通、马萨和恒派微博通等多微博同步工具。
  一、微博同步工具
  有很多专门的微博同步工具,这里有四个如FaWave。
  1.Chrome 扩展 FaWave
  如果你使用 Chrome 浏览器,那么你有福了,你可以轻松使用这个 FaWave 扩展在网页内轻松发送和接收微博。FaWave扩展由女学生李华宇开发,支持腾讯微博、新浪微博、推特等多个平台。
  FaWave不是一个简单的微博同步工具,而是一个微博管理平台,可以让你在Chorme浏览器中查看每条微博的更新条目,同时回复、更新和同步,非常方便,但它是同步推特非常方便。当你需要使用自己的api时,在窗口中弹出最新的微博提示也有点烦人。
  2.微博
  微博通是集风网开发的多微博同步工具。功能齐全,支持多达22个微博平台同步。也可以绑定Gtalk、QQ、MSN机器人,及时同步。
  微博通还提供了Chrome浏览器扩展,以及android和webOS客户端,还有分享插件,功能比较齐全。然而,也许我们想要的只是及时、安全和完美的同步。
  3.马萨内特
   是一个微博聚合平台。虽然它支持的平台不如微博通多(目前支持15个),支持的平台和应用也不如微博通那么完善,但提供了相对独特的服务。那就是数据展示业务,可以看到自己微博的各种统计数据,还提供评论、分享、回复等功能,值得一试。
  4.微博分享
  也叫微博通,域名有些相似,但是向派微博通更注重各个平台的应用。除了网页版微博,我们还提供跨平台应用微博空中版,支持在Windows、Mac和Linux上运行。同时在手机客户端也表现不错,提供S60V3、S60、iPHone、Android和iPad版本的微博,几乎所有平台都能找到合适的应用。
  二、支持微博与微博同步
  有些微博本身并不知名,但原生支持与其他知名微博同步,可以作为多微博同步的工具。
  1.关注5
  follow5是我目前使用的微博同步应用。follow5的5步大同,可以绑定26条微博。授权后可以自动同步到各个微博。支持Gtalk和QQ机器人发布,follow5最大的优点是可以自动同步到twitter,不需要api之类的翻墙。
  2. 喃喃自语,怎么办
  这个相信不用多介绍了,包括凡夫、耳语、怎么办等。作为国内较早模仿推特的独立微博网站,还有很大的发展空间,但它已经经历了很长时间。被维护后,虽然回来了,但所有的门户网站都陆续进入微博,占据了很大的市场。于是,回来的粉丝也逐渐被遗忘了,耳语和做事被当作与微博同步的微博。偶尔会提到博。
  三、其他多微博同步应用
  1.一堆微博同步工具
  一堆微博是iSouth开发的微博同步小程序。界面和使用都非常简单。最大的好处是可以自由选择同步到那些微博。
  2.Wordpress 博客文章同步到多微博
  郑勇的博客介绍了一种利用微博通和wp-tsina插件同步wordpress文章到各种微博的方法,非常实用。原文在这里,这里不再赘述。
  3.使用Ubiquity同步多条微博
  让我介绍另一种从黑白天空中衍生出来的方法。Ubiquity用于同步腾讯微博网站等18条微博。我看起来有点负责,喜欢折腾的朋友可以试试。
  四、使用多微博同步的几点建议
  1.尽量只使用一种微博同步方式。不管你用的是哪一种多微博同步工具,最好都选一个,一直用,防止多次同步和无限同步循环。
  2.谨慎使用同步工具来发推文。既然要同步到每条微博,当然需要一些有价值的东西。比如你原本在新浪微博上回复了别人的内容,但是却同步到每条微博,当然会让人一头雾水。其次,每条微博的用户群不同,除了同步,还需要重点关注。
  3.就个人而言,我目前使用 FaWave。

使用新浪微博开放平台api同步微博内容至自己网站(比较简单的操作,老鸟可飞过,只为新手指路!)

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

  使用新浪微博开放平台api同步微博内容至自己网站(比较简单的操作,老鸟可飞过,只为新手指路!)
  换句话说,我一年前就想写这个,我从来没有想过。最近发现很多人都在做这方面的申请(虽然RR伤心,陌陌准备出发),但还是总结一下自己的经验,分享给有需要的朋友!其实也是比较简单的操作,老鸟会飞,只适合新手。
  QQ同时登录
  将上述地址放在前端页面点击链接调用TX第三方对应的登录界面(有PAD、手机、PC类型),输入TX账号登录并授权(前提是您的站点已通过认证),否则只能使用测试账号登录(申请注册的账号)。
  授权完成后,可以进入回调页面进行操作或获取用户信息等。获取登录用户信息的接口为get_user_info,调用如下:
  1
  https://graph.qq.com/user/get_ ... PENID
  将access_token替换为登录后返回地址栏的access_token,oauth_consumer_key为申请的appid,openid在授权过程中生成,可直接获取。调用 $-&gt;get_openid() 来获取它。这是一个简单的TX登录授权和获取用户信息。
  同步登录新浪
  将获取的登录地址放在前端,点击跳转微博第三方登录界面。这里还可以设置各种终端的来电显示效果。比较完美的一点是提供了各种调用结果错误码的解释,可以帮助新手更快更有效的使用。授权完成后,可以调用回调页面获取用户信息等操作。由于微博的接口功能比较多,就不一一举例了(附在SDK文末)。
  RR 同步登录
  和上面两个例子一样,操作完成后,对应的回调页面就可以处理结果了!(附在SDK文章末尾)
  SDK下载:QQSDK、WBSDK、RRSDK
  (结束) 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(比较简单的操作,老鸟可飞过,只为新手指路!)
  换句话说,我一年前就想写这个,我从来没有想过。最近发现很多人都在做这方面的申请(虽然RR伤心,陌陌准备出发),但还是总结一下自己的经验,分享给有需要的朋友!其实也是比较简单的操作,老鸟会飞,只适合新手。
  QQ同时登录
  将上述地址放在前端页面点击链接调用TX第三方对应的登录界面(有PAD、手机、PC类型),输入TX账号登录并授权(前提是您的站点已通过认证),否则只能使用测试账号登录(申请注册的账号)。
  授权完成后,可以进入回调页面进行操作或获取用户信息等。获取登录用户信息的接口为get_user_info,调用如下:
  1
  https://graph.qq.com/user/get_ ... PENID
  将access_token替换为登录后返回地址栏的access_token,oauth_consumer_key为申请的appid,openid在授权过程中生成,可直接获取。调用 $-&gt;get_openid() 来获取它。这是一个简单的TX登录授权和获取用户信息。
  同步登录新浪
  将获取的登录地址放在前端,点击跳转微博第三方登录界面。这里还可以设置各种终端的来电显示效果。比较完美的一点是提供了各种调用结果错误码的解释,可以帮助新手更快更有效的使用。授权完成后,可以调用回调页面获取用户信息等操作。由于微博的接口功能比较多,就不一一举例了(附在SDK文末)。
  RR 同步登录
  和上面两个例子一样,操作完成后,对应的回调页面就可以处理结果了!(附在SDK文章末尾)
  SDK下载:QQSDK、WBSDK、RRSDK
  (结束)

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博ID获取用户发布过的历史微博内容研究了)

网站优化优采云 发表了文章 • 0 个评论 • 73 次浏览 • 2022-02-28 05:07 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博ID获取用户发布过的历史微博内容研究了)
  上面调用的是通过微博ID获取用户发布的历史微博内容,所以研究了一下新浪微博提供的API。
  1 首先,在微博开放中心下的“创建应用”下创建一个应用。根据需要填写申请信息。填写完成后,无需提交审核。您只需要应用程序密钥和应用程序秘密
  2 在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧“应用信息”一栏,会看到“应用密钥”和“应用程序秘密”。稍后将在程序中使用这些东西。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  3 去下载新浪微博SDK,python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  4 实例验证码,通过微博提供的API抓取授权用户及其关注者的微博:这里需要注意的是,当浏览器弹出页面时,必须先点击“授权”(OAuth 2认证在这里执行,我了解到,用户访问我的应用程序后,页面被定向到新浪服务器,然后用户向新浪服务器输入信息,授权我的应用程序访问用户数据,网址类似:复制代码后代码到控制端,程序需要读取数据2024222384d5dc88316d21675259d73a
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser#python内置的包
import pymongo
from pymongo import MongoClient
APP_KEY = '刚才那个App Key'#注意替换这里为自己申请的App信息
APP_SECRET = '刚才那个App Secret'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html'#回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print '输入url中code后面的内容后按回车键:'
code = raw_input()
#code = your.web.framework.request.get('code')
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
'''
#可以打印下看看里面都有什么东西
#print client.statuses__public_timeline()
statuses = client.statuses__public_timeline()['statuses']
length = len(statuses)
#输出了部分信息
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']
'''
#获取授权用户及其关注好友的微博信息并写入mongo数据库
pagenum=1#微博API返回的微博数据是分页形式的,在API中通过设置页码来读取数据
write_location=MongoClient('localhost',27017)['data']['weiboapi_test']#这里是我自己的mongo数据库,不用mongo存储可以注释掉
while(True):
data=client.statuses.friends_timeline.get(page=pagenum)['statuses']
if data:
pagenum+=1#不断获取新的页面
for i in range(len(data)):
write_location.insert(data[i])#不用mongo存储可以注释掉,直接改为print data[i]打印微博数据
else:#如果读取完数据则结束
break
  在命令行执行:
  python weibo_api.py #假设上述程序文件名为weibo_api.py
  将出现以下文本:
  输入url中code后面的内容,按回车键:
  在现有浏览器会话中创建了一个新窗口。
  2024222384d5dc88316d21675259d73a #注意这里要在上面授权浏览器的URL中输入code后面的东西
  最后,mongo 中的数据如下所示:
  in_reply_to_screen_name”:“”,“user”:{“bi_followers_count”:99,“domain”:“rebo​​l”,“avatar_large”:“”,“verified_source”:“”,“ptype”:3,“statuses_count”:5902 ,“allow_all_comment”:true,“id”:1614282004,“verified_reason_url”:“”,“city”:“1”,“province”:“71”,“block_app”:0,“follow_me”:false,“verified_reason 》:《银联移动支付首席产品架构师;《Programming》和《Java Sleepless》的作者,“followers_count”:100833,“location”:“台湾台北市”,“verified_trade”:“”,“mbtype”:2,“
  新浪微博API无法通过指定ID提取用户的微博内容,除非是高级授权用户。像我这样的刁四没有这样的福气。要捕获少量用户,可以关注所有捕获的用户,然后授权用户捕获自己和朋友的微博。不太可行。看来,对于大量用户来说,获取微博数据的唯一方法就是编写爬虫来解析页面。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博ID获取用户发布过的历史微博内容研究了)
  上面调用的是通过微博ID获取用户发布的历史微博内容,所以研究了一下新浪微博提供的API。
  1 首先,在微博开放中心下的“创建应用”下创建一个应用。根据需要填写申请信息。填写完成后,无需提交审核。您只需要应用程序密钥和应用程序秘密
  2 在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧“应用信息”一栏,会看到“应用密钥”和“应用程序秘密”。稍后将在程序中使用这些东西。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  3 去下载新浪微博SDK,python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  4 实例验证码,通过微博提供的API抓取授权用户及其关注者的微博:这里需要注意的是,当浏览器弹出页面时,必须先点击“授权”(OAuth 2认证在这里执行,我了解到,用户访问我的应用程序后,页面被定向到新浪服务器,然后用户向新浪服务器输入信息,授权我的应用程序访问用户数据,网址类似:复制代码后代码到控制端,程序需要读取数据2024222384d5dc88316d21675259d73a
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser#python内置的包
import pymongo
from pymongo import MongoClient
APP_KEY = '刚才那个App Key'#注意替换这里为自己申请的App信息
APP_SECRET = '刚才那个App Secret'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html'#回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print '输入url中code后面的内容后按回车键:'
code = raw_input()
#code = your.web.framework.request.get('code')
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
'''
#可以打印下看看里面都有什么东西
#print client.statuses__public_timeline()
statuses = client.statuses__public_timeline()['statuses']
length = len(statuses)
#输出了部分信息
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']
'''
#获取授权用户及其关注好友的微博信息并写入mongo数据库
pagenum=1#微博API返回的微博数据是分页形式的,在API中通过设置页码来读取数据
write_location=MongoClient('localhost',27017)['data']['weiboapi_test']#这里是我自己的mongo数据库,不用mongo存储可以注释掉
while(True):
data=client.statuses.friends_timeline.get(page=pagenum)['statuses']
if data:
pagenum+=1#不断获取新的页面
for i in range(len(data)):
write_location.insert(data[i])#不用mongo存储可以注释掉,直接改为print data[i]打印微博数据
else:#如果读取完数据则结束
break
  在命令行执行:
  python weibo_api.py #假设上述程序文件名为weibo_api.py
  将出现以下文本:
  输入url中code后面的内容,按回车键:
  在现有浏览器会话中创建了一个新窗口。
  2024222384d5dc88316d21675259d73a #注意这里要在上面授权浏览器的URL中输入code后面的东西
  最后,mongo 中的数据如下所示:
  in_reply_to_screen_name”:“”,“user”:{“bi_followers_count”:99,“domain”:“rebo​​l”,“avatar_large”:“”,“verified_source”:“”,“ptype”:3,“statuses_count”:5902 ,“allow_all_comment”:true,“id”:1614282004,“verified_reason_url”:“”,“city”:“1”,“province”:“71”,“block_app”:0,“follow_me”:false,“verified_reason 》:《银联移动支付首席产品架构师;《Programming》和《Java Sleepless》的作者,“followers_count”:100833,“location”:“台湾台北市”,“verified_trade”:“”,“mbtype”:2,“
  新浪微博API无法通过指定ID提取用户的微博内容,除非是高级授权用户。像我这样的刁四没有这样的福气。要捕获少量用户,可以关注所有捕获的用户,然后授权用户捕获自己和朋友的微博。不太可行。看来,对于大量用户来说,获取微博数据的唯一方法就是编写爬虫来解析页面。

使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))

网站优化优采云 发表了文章 • 0 个评论 • 64 次浏览 • 2022-02-28 05:06 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))
  当采集微博数据时,我们可以使用微博API进行调用。调用微博API有两个任务,第一步是创建应用程序,第二步是安装微博SDK。
  创建应用
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  登录微博开放平台创建应用
  应用名称及后续信息随便填写即可。填写后,无需提交审核。您所需要的只是应用程序密钥和应用程序秘密。应用创建成功后,在“我的应用”中可以看到刚刚创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  然后打开上方“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。至此,第一步已经完成。
  安装微博SDK
  微博SDK链接,微博SDK支持多种语言,本文以php为例说明操作。
  
  新浪微博的授权机制,即OAuth 2
  API 调用需要用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权流程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
  从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。
  获取授权请求url
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $code_url = $o-&gt;getAuthorizeURL(WB_CALLBACK_URL);
  在浏览器地址栏输入授权url回车,浏览器会弹出一个页面,必须先点击“Authorize”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面指向新浪服务器然后用户将信息输入新浪服务器并授权我的应用程序访问用户数据后,这里我授权微博给如下程序),授权后浏览器中的URL类似:
  代码是授权授予
  获取访问令牌
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
  $keys = 数组();
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $keys['code'] = '89c143736a55980bd2e82460b1092c88';
  //fe080b632eec18452a9ec8eea3c4b748
  $keys['redirect_uri'] = WB_CALLBACK_URL;
  尝试 {
  $token = $o-&gt;getAccessToken('code', $keys);
  }
  捕捉(OAuthException $e){
  echo "getAccessToken fail.reason:".$e-&gt;getMessage()."\n";
  }
  var_dump($token);//expire_in表示access_token的有效期
  $accessToken = $token["access_token"];
  3.获取微博数据,编写代码调用微博api
  $accessToken = '2.00S_7idC0psiN42941abc2354ymrJC';
  $c = 新 SaeTClientV2( WB_AKEY , WB_SKEY , $accessToken );
  $ret = $c-&gt;show_user_by_name('小二来了一吨白菜');
  2013年7月2日起,微博开放平台将升级用户关系阅读和微博内容阅读界面;为保证您在线申请的正常运行,请在7月2日升级前更新以下界面;本次升级对微博客户端和合规应用没有影响。升级过程中,如果遇到任何问题,请私信@微博开放平台,感谢您的理解与支持!具体调整界面如下:
  获取当前登录用户发布的微博消息列表(2/statuses/user_timeline)
  获取当前登录用户发布的微博消息ID列表(2/statuses/user_timeline/ids)
  获取用户的关注列表(2/friendships/friends)
  获取常见关注者列表(2/friendships/friends/in_common)
  获取双向关注列表(2/好友/好友/双边)
  获取双边关注者的UID列表(2/friendships/friends/bilateral/ids)
  获取用户关注对象的UID列表(2/friendships/friends/ids)
  获取用户的关注者列表(2/friendships/followers)
  获取用户关注者 UID 列表(2/friendships/followers/ids)
  获取用户优质关注者列表(2/好友/关注者/活跃)
  即:接口升级后:uid和screen_name只能是当前授权用户,第三方微博客户端不受影响 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))
  当采集微博数据时,我们可以使用微博API进行调用。调用微博API有两个任务,第一步是创建应用程序,第二步是安装微博SDK。
  创建应用
  创建应用的目的是获取app-key和app-secret,设置授权回调页面。
  登录微博开放平台创建应用
  应用名称及后续信息随便填写即可。填写后,无需提交审核。您所需要的只是应用程序密钥和应用程序秘密。应用创建成功后,在“我的应用”中可以看到刚刚创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。
  
  然后打开上方“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。至此,第一步已经完成。
  安装微博SDK
  微博SDK链接,微博SDK支持多种语言,本文以php为例说明操作。
  
  新浪微博的授权机制,即OAuth 2
  API 调用需要用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。
  OAuth2.0协议的授权流程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
  从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。
  获取授权请求url
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $code_url = $o-&gt;getAuthorizeURL(WB_CALLBACK_URL);
  在浏览器地址栏输入授权url回车,浏览器会弹出一个页面,必须先点击“Authorize”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面指向新浪服务器然后用户将信息输入新浪服务器并授权我的应用程序访问用户数据后,这里我授权微博给如下程序),授权后浏览器中的URL类似:
  代码是授权授予
  获取访问令牌
  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
  $keys = 数组();
  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);
  $keys['code'] = '89c143736a55980bd2e82460b1092c88';
  //fe080b632eec18452a9ec8eea3c4b748
  $keys['redirect_uri'] = WB_CALLBACK_URL;
  尝试 {
  $token = $o-&gt;getAccessToken('code', $keys);
  }
  捕捉(OAuthException $e){
  echo "getAccessToken fail.reason:".$e-&gt;getMessage()."\n";
  }
  var_dump($token);//expire_in表示access_token的有效期
  $accessToken = $token["access_token"];
  3.获取微博数据,编写代码调用微博api
  $accessToken = '2.00S_7idC0psiN42941abc2354ymrJC';
  $c = 新 SaeTClientV2( WB_AKEY , WB_SKEY , $accessToken );
  $ret = $c-&gt;show_user_by_name('小二来了一吨白菜');
  2013年7月2日起,微博开放平台将升级用户关系阅读和微博内容阅读界面;为保证您在线申请的正常运行,请在7月2日升级前更新以下界面;本次升级对微博客户端和合规应用没有影响。升级过程中,如果遇到任何问题,请私信@微博开放平台,感谢您的理解与支持!具体调整界面如下:
  获取当前登录用户发布的微博消息列表(2/statuses/user_timeline)
  获取当前登录用户发布的微博消息ID列表(2/statuses/user_timeline/ids)
  获取用户的关注列表(2/friendships/friends)
  获取常见关注者列表(2/friendships/friends/in_common)
  获取双向关注列表(2/好友/好友/双边)
  获取双边关注者的UID列表(2/friendships/friends/bilateral/ids)
  获取用户关注对象的UID列表(2/friendships/friends/ids)
  获取用户的关注者列表(2/friendships/followers)
  获取用户关注者 UID 列表(2/friendships/followers/ids)
  获取用户优质关注者列表(2/好友/关注者/活跃)
  即:接口升级后:uid和screen_name只能是当前授权用户,第三方微博客户端不受影响

使用新浪微博开放平台api同步微博内容至自己网站(OAuth2未对微博的access_token导致任意用户登陆这个问题)

网站优化优采云 发表了文章 • 0 个评论 • 92 次浏览 • 2022-02-27 22:05 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(OAuth2未对微博的access_token导致任意用户登陆这个问题)
  显示结果
  鉴于这篇文章写的乱七八糟,我真的怕有些同学因为保护视力而不会继续阅读,所以我先把通过后文描述的两种方法发现的一小部分漏洞作为吸引力放出来。
  
  
  
  OAuth2授权访问的隐式模式
  首先我们来看看OAuth的定义:OAuth(Open Authorization)是一个开放的标准,它允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而不需要向Third提供用户名和密码各方网站或共享其数据的所有内容。
  在大家测试的过程中,常见的快捷方式登录是授权码模式(authorization_code),即应用(QQ/微博)给出授权码code,服务器将code换成access_token,然后进行下一个请求。
  从我们的外部来看,大致流程如下:
  
  访问网站a,选择微博快速登录,跳转到,微博用户点击授权,然后从携带code参数跳转回网站a,我们的应用会在终端获取到code调用第三方提供的api获取uid和access_token,这里参考微博给出的api文档
  下一步可以继续通过access_token请求其他第三方API,看一下account/get_uid
  
  如上图所示,通过access_token请求该接口即可返回uid。
  上面的描述都是关于授权码模式的。其实隐式模式和授权码模式很相似,只是少了一步code="access_token。第三方会直接提供access_token给开发者使用,不再给出code。
  1.微博access_token校验失败,导致任意用户登录
  这个问题在多个应用中都出现过,我测试过的应用中大约有10%的应用存在这个问题,如果出现后果可能很严重。此使用方式针对微博快速登录的应用。
  应用中的微博快速登录是通过调用微博应用请求,然后获取请求的返回access_token和uid,所以应用中没有微博快速登录的代码,这是我们的第一段。提到的隐式模式。获取access_token的请求如下:
  
  大部分应用会获取返回的access_token,使用微博的api进行操作,但应用只获取uid,没有验证access_token,然后代入数据库查询,存在任意登录的问题。
  一个案例:
  在这个应用中,点击微博快速登录,然后调出微博应用,注意上面截图中的请求,修改请求返回的uid,释放所有后续请求。
  
  至此,微博绑定的账号已经无权限登录,所有功能都可以使用。
  原因如下,注意在应用中的请求中有一个:,
  
  这是最关键的set-cookie请求,其中请求参数open_id是刚刚返回的微博账号的用户uid,也就是我们刚才修改的返回包的值。
  微信快速登录也是这种隐式模式,但是这种攻击方式并不适合微信快速登录。首先,微信公众号的open_id不是公开内容。当然,如果你想自己搭建一个第三方登录平台,也可以获取微信用户的信息。open_id 也是不行的,因为同一个微信账号为不同的app生成的open_id是不同的,所以不能使用。我喜欢这里的微信。
  这里补充一下如何获取指定微博账号的uid,查看用户页面源码搜索:$CONFIG['oid']
  
  修复方法:
  如果一定要使用uid,使用这个接口来验证access_token:
  
  要求获取返回的 uid,不要相信用户输入给您的 uid。
  
  2.微博access_token验证不严格,导致交互后账号被劫持
  99%的应用都存在这种问题,这种利用方式只针对微博的快速登录。这种问题的危害没有第一种那么明显。这是一种需要互动的漏洞。我随机提交了几家公司来观察厂商的反应。其中大部分为中风险,少数为高风险。一些制造商的家中有大量应用程序。有了这个问题,打包提交也可以给出高风险的奖励。更多厂商评分,看你的投稿结果~
  当应用程序没有第二个问题时,它不一定是完全没有风险的。可以看到每个微博api请求只需要一个access_token凭证,不需要一些appid或者uid信息。
  其中有一些非常简单的请求,例如:
  
  如果客户端获取到微博账号的uid和access_token,进行检查。但是,如果我们只是通过这样一个类似的接口通过access_token请求获取uid,然后认为uid就是我们的用户,这是不正确的。
  下面我们来看看如何使用它:
  我像这样在微博开发者上构建了一个应用程序
  
  
  Oauth2.0 授权回调页面是攻击者的站点。
  这里的快速登录链接是:
  %3A%2F%2F%2f&amp;状态=30
  登录后会带代码进入百度(其实就是进入攻击者的站点):
  
  从官方手册来看,代码是这样使用的:
  
  此时攻击者获取到用户的access_token和uid
  回到第一个exploit方法:
  
  这次如果同时更换access_token和uid,就可以登录别人绑定的账号了。
  原因是这次不用同时更换access_token和uid就可以登录别人绑定的账号了。
  原因是没通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  1.访问攻击者微博快速登录
  2.攻击者获取代码-&gt;获取access_token和uid
  3.其他应用账号被劫持
  修复方法:
  通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  
  最后
  如今,国内外几乎每个站点都有第三方快速登录。中国的主流可能是QQ/微博/微信。当然,还有其他的快速登录方式。多种快捷登录漏洞。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(OAuth2未对微博的access_token导致任意用户登陆这个问题)
  显示结果
  鉴于这篇文章写的乱七八糟,我真的怕有些同学因为保护视力而不会继续阅读,所以我先把通过后文描述的两种方法发现的一小部分漏洞作为吸引力放出来。
  
  
  
  OAuth2授权访问的隐式模式
  首先我们来看看OAuth的定义:OAuth(Open Authorization)是一个开放的标准,它允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而不需要向Third提供用户名和密码各方网站或共享其数据的所有内容。
  在大家测试的过程中,常见的快捷方式登录是授权码模式(authorization_code),即应用(QQ/微博)给出授权码code,服务器将code换成access_token,然后进行下一个请求。
  从我们的外部来看,大致流程如下:
  
  访问网站a,选择微博快速登录,跳转到,微博用户点击授权,然后从携带code参数跳转回网站a,我们的应用会在终端获取到code调用第三方提供的api获取uid和access_token,这里参考微博给出的api文档
  下一步可以继续通过access_token请求其他第三方API,看一下account/get_uid
  
  如上图所示,通过access_token请求该接口即可返回uid。
  上面的描述都是关于授权码模式的。其实隐式模式和授权码模式很相似,只是少了一步code="access_token。第三方会直接提供access_token给开发者使用,不再给出code。
  1.微博access_token校验失败,导致任意用户登录
  这个问题在多个应用中都出现过,我测试过的应用中大约有10%的应用存在这个问题,如果出现后果可能很严重。此使用方式针对微博快速登录的应用。
  应用中的微博快速登录是通过调用微博应用请求,然后获取请求的返回access_token和uid,所以应用中没有微博快速登录的代码,这是我们的第一段。提到的隐式模式。获取access_token的请求如下:
  
  大部分应用会获取返回的access_token,使用微博的api进行操作,但应用只获取uid,没有验证access_token,然后代入数据库查询,存在任意登录的问题。
  一个案例:
  在这个应用中,点击微博快速登录,然后调出微博应用,注意上面截图中的请求,修改请求返回的uid,释放所有后续请求。
  
  至此,微博绑定的账号已经无权限登录,所有功能都可以使用。
  原因如下,注意在应用中的请求中有一个:,
  
  这是最关键的set-cookie请求,其中请求参数open_id是刚刚返回的微博账号的用户uid,也就是我们刚才修改的返回包的值。
  微信快速登录也是这种隐式模式,但是这种攻击方式并不适合微信快速登录。首先,微信公众号的open_id不是公开内容。当然,如果你想自己搭建一个第三方登录平台,也可以获取微信用户的信息。open_id 也是不行的,因为同一个微信账号为不同的app生成的open_id是不同的,所以不能使用。我喜欢这里的微信。
  这里补充一下如何获取指定微博账号的uid,查看用户页面源码搜索:$CONFIG['oid']
  
  修复方法:
  如果一定要使用uid,使用这个接口来验证access_token:
  
  要求获取返回的 uid,不要相信用户输入给您的 uid。
  
  2.微博access_token验证不严格,导致交互后账号被劫持
  99%的应用都存在这种问题,这种利用方式只针对微博的快速登录。这种问题的危害没有第一种那么明显。这是一种需要互动的漏洞。我随机提交了几家公司来观察厂商的反应。其中大部分为中风险,少数为高风险。一些制造商的家中有大量应用程序。有了这个问题,打包提交也可以给出高风险的奖励。更多厂商评分,看你的投稿结果~
  当应用程序没有第二个问题时,它不一定是完全没有风险的。可以看到每个微博api请求只需要一个access_token凭证,不需要一些appid或者uid信息。
  其中有一些非常简单的请求,例如:
  
  如果客户端获取到微博账号的uid和access_token,进行检查。但是,如果我们只是通过这样一个类似的接口通过access_token请求获取uid,然后认为uid就是我们的用户,这是不正确的。
  下面我们来看看如何使用它:
  我像这样在微博开发者上构建了一个应用程序
  
  
  Oauth2.0 授权回调页面是攻击者的站点。
  这里的快速登录链接是:
  %3A%2F%2F%2f&amp;状态=30
  登录后会带代码进入百度(其实就是进入攻击者的站点):
  
  从官方手册来看,代码是这样使用的:
  
  此时攻击者获取到用户的access_token和uid
  回到第一个exploit方法:
  
  这次如果同时更换access_token和uid,就可以登录别人绑定的账号了。
  原因是这次不用同时更换access_token和uid就可以登录别人绑定的账号了。
  原因是没通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  1.访问攻击者微博快速登录
  2.攻击者获取代码-&gt;获取access_token和uid
  3.其他应用账号被劫持
  修复方法:
  通过
  获取 appkey 以验证 access_token 是否真的由您的应用程序生成。
  
  最后
  如今,国内外几乎每个站点都有第三方快速登录。中国的主流可能是QQ/微博/微信。当然,还有其他的快速登录方式。多种快捷登录漏洞。

使用新浪微博开放平台api同步微博内容至自己网站(如何把这种方法应用在组织学习中成为越来越的网络应用)

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-02-25 23:38 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(如何把这种方法应用在组织学习中成为越来越的网络应用)
  毫无疑问,微博已经成为越来越流行的网络应用。如何将这种方法应用到组织学习中,使其成为一种非正式的学习方式,是很多培训管理者思考的问题。
  以新浪微博为例,大致可以分为两种方式促进企业学习:一是直接应用模式,即直接利用新浪微博辅助培训业务,是初级应用阶段;二是内部实施模式,即通过在企业内部部署一套专属的企业微博,并以此为基础,开始组织内部的社交学习。这个模型比较复杂,但意义深远。是微博推动企业学习的进阶阶段。本文将详细介绍这两种模式的应用方法、内容和要点。
  
  
  直接申请模式
  直接应用模式的目标是通过微博辅助传统培训业务。培训部门可以通过建立培训部门微博账号、协助培训项目、推动企业e-Learning学习等方式,达到直接应用模式的效果。
  创建微博账号 培训部门是组织内的服务部门。一般公司的培训部门没有自己的网站,缺乏与员工的沟通。因此,创建培训部门自己的微博可以起到在线服务窗口的作用。银联培训中心、用友大学、吉利大学等企业培训中心或企业大学均开设了自己的微博账号。
  建立一个微博账号非常简单,只需在新浪微博上申请。需要注意的是,最好申请新浪代理认证。通过认证后,将有更多微博功能可供使用,包括:展示培训中心的视频或图片,专门设置咨询、留言、表扬和意见窗口,展示培训团队成员的风采等。
  多功能辅助培训项目拥有专属微博账号后,培训中心可深度应用各种微博功能,辅助传统面授培训项目。新浪微博聚合了数千个功能应用,其中很多可以辅助面对面培训。我们列出了几个可以帮助培训的最常见的微博功能。
  微博大屏“微博大屏”更适合参加人数众多的培训项目,其价值在于能够激活培训现场的互动氛围。培训期间,可通过独立投影将微博大屏的内容投射到培训现场。讲师可以通过大屏幕采集学员的意见,学员可以通过手机微博参与培训和互动过程。有关示例,请参见图 1。
  微活动“微活动”是一款不错的培训营销工具,适合培训项目前期招生。如果培训对象的微博使用渗透率高,可以通过发起“微事件”的形式发布培训节目。在“微活动”中,可以设置有奖、有针对性的选择粉丝等功能,并结合粉丝转发,起到培养营销的作用(见图表2).
  微群 微群可以设置并邀请固定成员加入,类似QQ群的功能(见图表3),适合辅助周期较长的培训项目。讲师或培训经理可以通过微信群发布通知微群、3)@文章、上传附件等,也可以请学生在微群中讨论问题或提交作业。培训项目结束后,微群可以解散或保留成为积累培训资源的平台。
  促进企业e-Learning学习 通常,企业在线学习以自主学习为主,学习者之间缺乏互动。虽然有些公司在学习平台上开设了BBS讨论区,但大多数情况下都不是很受欢迎。培训管理者可以考虑将微博与在线学习相结合,通过嵌入微博代码等功能增强在线学习的互动性。具体可以通过以下方式实现。
  加强网络课程互动活动。在微博上发布与在线课程主题相关的微博,引发学习者讨论内容,并将讨论地址链接到课程介绍等明显的地方。本质是为每个在线课程建立一个微博讨论论坛。建立方式有两种:一是培训管理员可以在发布课程时创建微博并同步设置课程链接;您可以随时进入微博参与互动。
  聚合在线学习和网络资源 通过微博关键词聚合功能,可以将课件内容与微博平台内容进行关联。在海量的微博内容中,所有与网络课程相关的微博内容都可以提取出来,按时间顺序显示在网络课件的指定位置(见图表4)。内容聚合可以让互动更加深入——深度,将学习交流不仅延伸到在线课程的学习者,也延伸到所有微博成员。
  网络课程的推广和评价微博也可以用于网络课程的营销推广和评价,实施方式比较简单。比如在课程开始或结束时,可以添加“微博转发”功能,将课程的介绍、链接、简要评价转发到学习者的微博,学习者的粉丝第一时间看到课程. 介绍和链接。为了扩大影响力,管理者还可以在新浪微博以外的其他社交网络上添加分享链接。
  内部执行模式 所谓内部执行模式,就是在企业内部建立一个独立完整的微博系统,企业可以在内部微博系统中建立自己的规则,比如加入V认证、风格设计、企业自己的规则。学习系统或其他信息系统有更深入的整合等。
  建立微博内部实施的目的,不仅可以辅助传统培训业务,还可以利用微博的实施和应用在企业内部进行社会学习,使微博成为员工分享和学习的新平台。
  新浪微博提供免费的企业微博下载版——微博,企业内部可以安装使用。企业版微博(Xweibo)虽然不如新浪微博全面,但具备微博发布、浏览、转发、评论、采集、话题等基本功能,微博的功能也在不断升级完善。本文以微博系统为例,介绍如何在企业内部实现、部署和应用。
  下载安装Xweibo的下载地址为,下载安装页面如图5所示。安装时需要配合技术部门,做好前期的沟通和准备工作。技术人员按照下载包中的说明在企业内网完成安装后,需要进行初始化工作,主要包括以下几个方面。
  ·设置企业微博名称·设置企业微博与新浪微博的关系·微博页面布局设计·内容规则建立等与其他系统集成、安装、初始化完成后,企业微博可以直接应用。但是,为了更好地发挥作用,通常需要与企业的其他业务系统进行集成。特别是与学习管理系统和公司现有的BBS论坛系统深度融合,更方便员工使用。微博提供了一些内置的系统集成工具,企业可以使用这些工具进行简单的集成。
  1.定义主页链接功能:通过该功能可以在微博主页上集成相关学习系统的链接。
  2.外部论坛插件功能:通过该功能,微博可以与企业内部BBS论坛同步登录更新。
  3.外部调用工具功能:可以将“转发码”和“异地调用码”嵌入到学习管理系统、博客、邮箱、OA等其他系统中,让微博的内容可以在其他系统中以各种形式显示。
  如果企业需要更深入的集成和增加个性化功能,开发者需要对微博进行高级二次开发。
  推广应用 只有大规模应用,才能发挥社会学习的力量。培训经理可根据业务需要制定推广应用策略和计划。通过企业微博推行社会学习,要调动员工的参与和积极性。根据微博的特点,企业可以建立以下三种机制,开启快速应用的局面。
  互联机制将微博与新浪微博链接,所有拥有新浪微博账号的员工都可以与微博同步数据。除了微博内容,“粉丝”也可以统一。互联机制可以降低微博的使用难度,简化申请流程。但需要注意的是,有些企业不希望员工发布的某些内容同步到互联网上,企业可以通过技术和制度对其进行约束。
  认证机制在企业内部开展“微博+V认证”,培训管理者可以通过这种方式提高员工参与度。微博的认证可以分类,比如可以分为技术专家、内部讲师、工作专家等不同类别(见图表6)。同时也可以与“名人”合作管理”功能,监控各类内部组织,有效管理先进专业群体。Xweibo认证机制也是发现和梳理内部专家的最佳途径之一,将为企业的实施提供有效的支持和帮助。知识管理。
  活动机制 在企业内部微博上开展各种活动,提升微博知名度,活跃气氛。微博内置两个活动功能模块:一个是“线上直播”,主要辅助企业大型活动,活动状态在微博平台直播。同时,活动现场可以与微博参与者进行互动;在线采访”,与新浪微博的“微采访”功能基本相同。管理者可以通过该功能设计和安排在线面试节目,员工可以通过微博实时观看和参与互动。
  此外,培训管理者可以考虑将日常工作和各种活动与企业微博结合起来。例如,在培训项目的设计、实施、管理和评估方面,企业微博都有发挥的作用。内部微博在辅助培训和员工学习中的应用仅仅是个开始。作为企业内部的社交软件,它将成为员工之间沟通协作的重要工具。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(如何把这种方法应用在组织学习中成为越来越的网络应用)
  毫无疑问,微博已经成为越来越流行的网络应用。如何将这种方法应用到组织学习中,使其成为一种非正式的学习方式,是很多培训管理者思考的问题。
  以新浪微博为例,大致可以分为两种方式促进企业学习:一是直接应用模式,即直接利用新浪微博辅助培训业务,是初级应用阶段;二是内部实施模式,即通过在企业内部部署一套专属的企业微博,并以此为基础,开始组织内部的社交学习。这个模型比较复杂,但意义深远。是微博推动企业学习的进阶阶段。本文将详细介绍这两种模式的应用方法、内容和要点。
  
  
  直接申请模式
  直接应用模式的目标是通过微博辅助传统培训业务。培训部门可以通过建立培训部门微博账号、协助培训项目、推动企业e-Learning学习等方式,达到直接应用模式的效果。
  创建微博账号 培训部门是组织内的服务部门。一般公司的培训部门没有自己的网站,缺乏与员工的沟通。因此,创建培训部门自己的微博可以起到在线服务窗口的作用。银联培训中心、用友大学、吉利大学等企业培训中心或企业大学均开设了自己的微博账号。
  建立一个微博账号非常简单,只需在新浪微博上申请。需要注意的是,最好申请新浪代理认证。通过认证后,将有更多微博功能可供使用,包括:展示培训中心的视频或图片,专门设置咨询、留言、表扬和意见窗口,展示培训团队成员的风采等。
  多功能辅助培训项目拥有专属微博账号后,培训中心可深度应用各种微博功能,辅助传统面授培训项目。新浪微博聚合了数千个功能应用,其中很多可以辅助面对面培训。我们列出了几个可以帮助培训的最常见的微博功能。
  微博大屏“微博大屏”更适合参加人数众多的培训项目,其价值在于能够激活培训现场的互动氛围。培训期间,可通过独立投影将微博大屏的内容投射到培训现场。讲师可以通过大屏幕采集学员的意见,学员可以通过手机微博参与培训和互动过程。有关示例,请参见图 1。
  微活动“微活动”是一款不错的培训营销工具,适合培训项目前期招生。如果培训对象的微博使用渗透率高,可以通过发起“微事件”的形式发布培训节目。在“微活动”中,可以设置有奖、有针对性的选择粉丝等功能,并结合粉丝转发,起到培养营销的作用(见图表2).
  微群 微群可以设置并邀请固定成员加入,类似QQ群的功能(见图表3),适合辅助周期较长的培训项目。讲师或培训经理可以通过微信群发布通知微群、3)@文章、上传附件等,也可以请学生在微群中讨论问题或提交作业。培训项目结束后,微群可以解散或保留成为积累培训资源的平台。
  促进企业e-Learning学习 通常,企业在线学习以自主学习为主,学习者之间缺乏互动。虽然有些公司在学习平台上开设了BBS讨论区,但大多数情况下都不是很受欢迎。培训管理者可以考虑将微博与在线学习相结合,通过嵌入微博代码等功能增强在线学习的互动性。具体可以通过以下方式实现。
  加强网络课程互动活动。在微博上发布与在线课程主题相关的微博,引发学习者讨论内容,并将讨论地址链接到课程介绍等明显的地方。本质是为每个在线课程建立一个微博讨论论坛。建立方式有两种:一是培训管理员可以在发布课程时创建微博并同步设置课程链接;您可以随时进入微博参与互动。
  聚合在线学习和网络资源 通过微博关键词聚合功能,可以将课件内容与微博平台内容进行关联。在海量的微博内容中,所有与网络课程相关的微博内容都可以提取出来,按时间顺序显示在网络课件的指定位置(见图表4)。内容聚合可以让互动更加深入——深度,将学习交流不仅延伸到在线课程的学习者,也延伸到所有微博成员。
  网络课程的推广和评价微博也可以用于网络课程的营销推广和评价,实施方式比较简单。比如在课程开始或结束时,可以添加“微博转发”功能,将课程的介绍、链接、简要评价转发到学习者的微博,学习者的粉丝第一时间看到课程. 介绍和链接。为了扩大影响力,管理者还可以在新浪微博以外的其他社交网络上添加分享链接。
  内部执行模式 所谓内部执行模式,就是在企业内部建立一个独立完整的微博系统,企业可以在内部微博系统中建立自己的规则,比如加入V认证、风格设计、企业自己的规则。学习系统或其他信息系统有更深入的整合等。
  建立微博内部实施的目的,不仅可以辅助传统培训业务,还可以利用微博的实施和应用在企业内部进行社会学习,使微博成为员工分享和学习的新平台。
  新浪微博提供免费的企业微博下载版——微博,企业内部可以安装使用。企业版微博(Xweibo)虽然不如新浪微博全面,但具备微博发布、浏览、转发、评论、采集、话题等基本功能,微博的功能也在不断升级完善。本文以微博系统为例,介绍如何在企业内部实现、部署和应用。
  下载安装Xweibo的下载地址为,下载安装页面如图5所示。安装时需要配合技术部门,做好前期的沟通和准备工作。技术人员按照下载包中的说明在企业内网完成安装后,需要进行初始化工作,主要包括以下几个方面。
  ·设置企业微博名称·设置企业微博与新浪微博的关系·微博页面布局设计·内容规则建立等与其他系统集成、安装、初始化完成后,企业微博可以直接应用。但是,为了更好地发挥作用,通常需要与企业的其他业务系统进行集成。特别是与学习管理系统和公司现有的BBS论坛系统深度融合,更方便员工使用。微博提供了一些内置的系统集成工具,企业可以使用这些工具进行简单的集成。
  1.定义主页链接功能:通过该功能可以在微博主页上集成相关学习系统的链接。
  2.外部论坛插件功能:通过该功能,微博可以与企业内部BBS论坛同步登录更新。
  3.外部调用工具功能:可以将“转发码”和“异地调用码”嵌入到学习管理系统、博客、邮箱、OA等其他系统中,让微博的内容可以在其他系统中以各种形式显示。
  如果企业需要更深入的集成和增加个性化功能,开发者需要对微博进行高级二次开发。
  推广应用 只有大规模应用,才能发挥社会学习的力量。培训经理可根据业务需要制定推广应用策略和计划。通过企业微博推行社会学习,要调动员工的参与和积极性。根据微博的特点,企业可以建立以下三种机制,开启快速应用的局面。
  互联机制将微博与新浪微博链接,所有拥有新浪微博账号的员工都可以与微博同步数据。除了微博内容,“粉丝”也可以统一。互联机制可以降低微博的使用难度,简化申请流程。但需要注意的是,有些企业不希望员工发布的某些内容同步到互联网上,企业可以通过技术和制度对其进行约束。
  认证机制在企业内部开展“微博+V认证”,培训管理者可以通过这种方式提高员工参与度。微博的认证可以分类,比如可以分为技术专家、内部讲师、工作专家等不同类别(见图表6)。同时也可以与“名人”合作管理”功能,监控各类内部组织,有效管理先进专业群体。Xweibo认证机制也是发现和梳理内部专家的最佳途径之一,将为企业的实施提供有效的支持和帮助。知识管理。
  活动机制 在企业内部微博上开展各种活动,提升微博知名度,活跃气氛。微博内置两个活动功能模块:一个是“线上直播”,主要辅助企业大型活动,活动状态在微博平台直播。同时,活动现场可以与微博参与者进行互动;在线采访”,与新浪微博的“微采访”功能基本相同。管理者可以通过该功能设计和安排在线面试节目,员工可以通过微博实时观看和参与互动。
  此外,培训管理者可以考虑将日常工作和各种活动与企业微博结合起来。例如,在培训项目的设计、实施、管理和评估方面,企业微博都有发挥的作用。内部微博在辅助培训和员工学习中的应用仅仅是个开始。作为企业内部的社交软件,它将成为员工之间沟通协作的重要工具。

使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站,有什么方式?)

网站优化优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2022-02-25 12:01 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站,有什么方式?)
  使用新浪微博开放平台api同步微博内容至自己网站,实现网站微博同步;或者可以尝试一下,将微博标签作为一个指向网站站点的节点,访问站点的自有网站就能同步。
  你在新浪上发布的微博内容,
  两个社交平台各有社交圈,本身已经通过有他人需要的内容,当发布微博时,即在两个平台上构建一个同步的链接。但假如你的目的是希望两个平台的内容同步,其实用第三方微博的新浪客户端可能是一个更好的选择,多个微博客户端之间可以随意切换即可。
  发布微博到一个网站/博客/门户/blog等,和发布新浪/腾讯的微博到任何一个网站/博客/门户/blog/微博号一样。
  私聊我
  这个理解是有问题的微博在网站上传递需要两个地方
  1)网站
  2)微博两个地方同步有什么方式?
  1)转发这个是网站做的事情这个是腾讯做的事情
  2)分享两个地方同步都有叫做微转+微博
  微博平台最早就是把所有微博的博客放在一个服务器上出了blog(国内最早的网站“微博会议室”),后来woocommerce为了获得用户数量,结果他们的收费排名第一的notify无法排名第一,一开始他们想的是可以从中间找出各个平台给分担,后来他们想着怎么样把这些平台运营好(bmw、网易、qq空间等等),然后总结发现两个平台还是不方便两个平台的。
  这样最终就有了ugc的理念,最终都放在一个服务器上,通过postbin实现,ugc几乎无限。所以个人觉得ugc时代,会在不久的将来将会到来。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站,有什么方式?)
  使用新浪微博开放平台api同步微博内容至自己网站,实现网站微博同步;或者可以尝试一下,将微博标签作为一个指向网站站点的节点,访问站点的自有网站就能同步。
  你在新浪上发布的微博内容,
  两个社交平台各有社交圈,本身已经通过有他人需要的内容,当发布微博时,即在两个平台上构建一个同步的链接。但假如你的目的是希望两个平台的内容同步,其实用第三方微博的新浪客户端可能是一个更好的选择,多个微博客户端之间可以随意切换即可。
  发布微博到一个网站/博客/门户/blog等,和发布新浪/腾讯的微博到任何一个网站/博客/门户/blog/微博号一样。
  私聊我
  这个理解是有问题的微博在网站上传递需要两个地方
  1)网站
  2)微博两个地方同步有什么方式?
  1)转发这个是网站做的事情这个是腾讯做的事情
  2)分享两个地方同步都有叫做微转+微博
  微博平台最早就是把所有微博的博客放在一个服务器上出了blog(国内最早的网站“微博会议室”),后来woocommerce为了获得用户数量,结果他们的收费排名第一的notify无法排名第一,一开始他们想的是可以从中间找出各个平台给分担,后来他们想着怎么样把这些平台运营好(bmw、网易、qq空间等等),然后总结发现两个平台还是不方便两个平台的。
  这样最终就有了ugc的理念,最终都放在一个服务器上,通过postbin实现,ugc几乎无限。所以个人觉得ugc时代,会在不久的将来将会到来。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API关闭,想用微博RSS转化RSS方法数据导出 )

网站优化优采云 发表了文章 • 0 个评论 • 98 次浏览 • 2022-02-25 04:02 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API关闭,想用微博RSS转化RSS方法数据导出
)
  我之前一直在使用新浪微博的API进行数据同步。今年年初,1月8日左右,微博API不知为何突然不可用,接口调用不断出现403错误。私信联系“微博”“开发平台”一直是机器回复。
  
  因此,我猜新浪微博关闭了它的API。我猜可能是因为微博太难赚钱了,所以向腾讯学习,封闭数据赚大钱。
  不过我在微博上发布了很多数据,但是微博到现在连数据备份都没有,所以我还是需要另寻出路来进行数据同步和备份操作,所以想用微博来转换RSS。数据输出。
  11年前做过一个PHP微博转RSS的项目,但是时间太长了,里面的数据结构已经彻底改了,不能用了,于是上网搜了一下,有没有没有现成的项目,结果发现github上有一个weibo-rss项目可以使用,但是它的部署使用的是Node.js,这个我之前没用过。
  我在国外购买的云服务器使用的是LNMP(Linux-Nginx-MySQL-PHP)环境,web服务器是Nginx,小巧稳定,占用资源极少。低配置服务器可以执行动态 网站@ &gt;。我只是尝试将此 Node.js 项目部署到此服务器。
  服务器没有安装Node.js,所以需要先安装环境。面板中有一个“PM2管理器”,它是一个node.js管理器。内置node.js + npm + nvm + pm2,一键安装。
  安装环境后,按照项目说明开始手动部署。安装前部署php的思路是把它部署到wwwroot下的一个目录下。从网页访问后,页面可以出来,但是RSS提示“获取数据失败”。
  咨询项目作者后发现,项目部署到了​​3000端口,而不是Nginx的80和443端口,我用3000端口的地址访问,可以正常获取数据。
  
  当然,最后还是希望在 Nginx 下使用,在 Nginx 中设置反向代理,映射一个目录到 3000 端口,然后在 80 和 443 端口访问这个 Node.js 项目。
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API关闭,想用微博RSS转化RSS方法数据导出
)
  我之前一直在使用新浪微博的API进行数据同步。今年年初,1月8日左右,微博API不知为何突然不可用,接口调用不断出现403错误。私信联系“微博”“开发平台”一直是机器回复。
  
  因此,我猜新浪微博关闭了它的API。我猜可能是因为微博太难赚钱了,所以向腾讯学习,封闭数据赚大钱。
  不过我在微博上发布了很多数据,但是微博到现在连数据备份都没有,所以我还是需要另寻出路来进行数据同步和备份操作,所以想用微博来转换RSS。数据输出。
  11年前做过一个PHP微博转RSS的项目,但是时间太长了,里面的数据结构已经彻底改了,不能用了,于是上网搜了一下,有没有没有现成的项目,结果发现github上有一个weibo-rss项目可以使用,但是它的部署使用的是Node.js,这个我之前没用过。
  我在国外购买的云服务器使用的是LNMP(Linux-Nginx-MySQL-PHP)环境,web服务器是Nginx,小巧稳定,占用资源极少。低配置服务器可以执行动态 网站@ &gt;。我只是尝试将此 Node.js 项目部署到此服务器。
  服务器没有安装Node.js,所以需要先安装环境。面板中有一个“PM2管理器”,它是一个node.js管理器。内置node.js + npm + nvm + pm2,一键安装。
  安装环境后,按照项目说明开始手动部署。安装前部署php的思路是把它部署到wwwroot下的一个目录下。从网页访问后,页面可以出来,但是RSS提示“获取数据失败”。
  咨询项目作者后发现,项目部署到了​​3000端口,而不是Nginx的80和443端口,我用3000端口的地址访问,可以正常获取数据。
  
  当然,最后还是希望在 Nginx 下使用,在 Nginx 中设置反向代理,映射一个目录到 3000 端口,然后在 80 和 443 端口访问这个 Node.js 项目。
  

使用新浪微博开放平台api同步微博内容至自己网站(2020年Python+IFTTTWebhooks+Crontab定时抓取微博到DayOne)

网站优化优采云 发表了文章 • 0 个评论 • 85 次浏览 • 2022-02-25 00:07 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(2020年Python+IFTTTWebhooks+Crontab定时抓取微博到DayOne)
  本来我一直在用IFTTT自动同步微博到Day One,这样我就可以很方便的把我的日常笔记记录在日记里了。不过从2020年开始,微博不会开放这个API接口。
  自从失败以来,它一直被忽略。最近一时兴起,在网上搜了一下,找到了一种方法——Python + IFTTT Webhooks + Crontab 定期抓取微博到Day One。
  分三步:
  1、下载你的微博内容
  您无需编写代码即可抓取微博。Github 上有现成的脚本,非常强大。将代码下载到本地,然后步骤如下:
  1、打开powershell,切换到weibo-crawler的路径。
  2、安装依赖。前提是安装了python和pip。
  pip install -r requirements.txt
  3、修改配置文件config.json,将user_id_list改成自己的微博id。since_date 设置为 1,表示只取过去 1 天的微博。
  4、运行爬虫,如果微博数据可以下载到本地CSV文件,则表示成功。
  python weibo.py
  2、使用 IFTTT 发送 Day OneIFTTT 网站设置
  在 IFTTT 网站 上设置操作:如果收到 Web 请求,则创建日志。
  
  
  
  本地 Python 脚本
  然后在本地weibo-crawler文件夹中创建一个ifttt.py文件,将以下内容复制进去,注意根据自己的情况修改path、event_name、key。
  import weibo
import csv
import requests
import json
import os
class Ifttt(object):

def __init__(self, path, event_name, key):
self.path = path
self.event_name = event_name
self.key = key
self.text = []
self.image = []
self.num = 0

# 解析本地 CSV 文件
def parse_post_info(self, path):
with open(path, &#39;r&#39;, encoding=&#39;UTF-8&#39;) as f:
csv_reader = csv.reader(f, delimiter=&#39;,&#39;)
line_count = 0
for row in csv_reader:
if line_count == 0:
print("Header")
else:
self.text.append(row[2])
self.image.append(row[4].split(",",1))
line_count += 1
self.num = line_count - 1
print(self.text)
print(self.image)
print("Total posts: ", self.num)
# 发送给 IFTTT
def send_notice(self):
url = f"https://maker.ifttt.com/trigger/{self.event_name}/with/key/{self.key}"
for num in range(0, self.num):
payload = {"value1": self.text[num], "value2": self.image[num]}
headers = {"Content-Type": "application/json"}
response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
print(payload)
def main():
config = weibo.get_config()
wb = weibo.Weibo(config)
wb.start()
path = &#39;weibo/微博名/1234567.csv&#39; # 爬虫爬下来的csv路径
event_name = &#39;DayOne&#39; # Webhooks 触发器名字
key = &#39;IF17vD4nqU6wO&#39; # Webhooks 的 key,每个人不同
ifttt = Ifttt(path, event_name, key)
ifttt.parse_post_info(path)
ifttt.send_notice()
os.remove(path)

if __name__ == &#39;__main__&#39;:
main()
  3、Win10每日定时任务创建
  前两步完成后,功能已经实现了,然后每次手动触发显然太麻烦了,所以我决定用Win10定时任务每天自动运行一次,下载微博到本地CSV 进行保护,将其发送到 Day One,然后清除本地 CSV 文件。
  设置定时任务的方法如下:
  在计算机-管理-系统工具-任务计划程序库-微软下右键,创建基本任务,设置计划任务名称、触发时间、触发频率、触发程序、触发程序代码和触发程序代码所在路径位于。注意触发代码所在的路径一定不能写,否则运行时无法自动删除最后生成的CSV。
  
  参考Win10定时任务自动运行python程序
  注:本文同时发表于个人博客。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(2020年Python+IFTTTWebhooks+Crontab定时抓取微博到DayOne)
  本来我一直在用IFTTT自动同步微博到Day One,这样我就可以很方便的把我的日常笔记记录在日记里了。不过从2020年开始,微博不会开放这个API接口。
  自从失败以来,它一直被忽略。最近一时兴起,在网上搜了一下,找到了一种方法——Python + IFTTT Webhooks + Crontab 定期抓取微博到Day One。
  分三步:
  1、下载你的微博内容
  您无需编写代码即可抓取微博。Github 上有现成的脚本,非常强大。将代码下载到本地,然后步骤如下:
  1、打开powershell,切换到weibo-crawler的路径。
  2、安装依赖。前提是安装了python和pip。
  pip install -r requirements.txt
  3、修改配置文件config.json,将user_id_list改成自己的微博id。since_date 设置为 1,表示只取过去 1 天的微博。
  4、运行爬虫,如果微博数据可以下载到本地CSV文件,则表示成功。
  python weibo.py
  2、使用 IFTTT 发送 Day OneIFTTT 网站设置
  在 IFTTT 网站 上设置操作:如果收到 Web 请求,则创建日志。
  
  
  
  本地 Python 脚本
  然后在本地weibo-crawler文件夹中创建一个ifttt.py文件,将以下内容复制进去,注意根据自己的情况修改path、event_name、key。
  import weibo
import csv
import requests
import json
import os
class Ifttt(object):

def __init__(self, path, event_name, key):
self.path = path
self.event_name = event_name
self.key = key
self.text = []
self.image = []
self.num = 0

# 解析本地 CSV 文件
def parse_post_info(self, path):
with open(path, &#39;r&#39;, encoding=&#39;UTF-8&#39;) as f:
csv_reader = csv.reader(f, delimiter=&#39;,&#39;)
line_count = 0
for row in csv_reader:
if line_count == 0:
print("Header")
else:
self.text.append(row[2])
self.image.append(row[4].split(",",1))
line_count += 1
self.num = line_count - 1
print(self.text)
print(self.image)
print("Total posts: ", self.num)
# 发送给 IFTTT
def send_notice(self):
url = f"https://maker.ifttt.com/trigger/{self.event_name}/with/key/{self.key}"
for num in range(0, self.num):
payload = {"value1": self.text[num], "value2": self.image[num]}
headers = {"Content-Type": "application/json"}
response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
print(payload)
def main():
config = weibo.get_config()
wb = weibo.Weibo(config)
wb.start()
path = &#39;weibo/微博名/1234567.csv&#39; # 爬虫爬下来的csv路径
event_name = &#39;DayOne&#39; # Webhooks 触发器名字
key = &#39;IF17vD4nqU6wO&#39; # Webhooks 的 key,每个人不同
ifttt = Ifttt(path, event_name, key)
ifttt.parse_post_info(path)
ifttt.send_notice()
os.remove(path)

if __name__ == &#39;__main__&#39;:
main()
  3、Win10每日定时任务创建
  前两步完成后,功能已经实现了,然后每次手动触发显然太麻烦了,所以我决定用Win10定时任务每天自动运行一次,下载微博到本地CSV 进行保护,将其发送到 Day One,然后清除本地 CSV 文件。
  设置定时任务的方法如下:
  在计算机-管理-系统工具-任务计划程序库-微软下右键,创建基本任务,设置计划任务名称、触发时间、触发频率、触发程序、触发程序代码和触发程序代码所在路径位于。注意触发代码所在的路径一定不能写,否则运行时无法自动删除最后生成的CSV。
  
  参考Win10定时任务自动运行python程序
  注:本文同时发表于个人博客。

使用新浪微博开放平台api同步微博内容至自己网站(api发新微博网上现有教程中的发送微博接口(updateStatus),)

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

  使用新浪微博开放平台api同步微博内容至自己网站(api发新微博网上现有教程中的发送微博接口(updateStatus),)
  最近有个项目需要调用微博api发送一条新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就已经调整了相关接口,取消了现有在线教程中发送微博的接口(updateStatus)。结果再次调用该接口会提示权限不足。,折腾了很久。特此发一个新的文章,希望大家不要入坑。
  1.登录开放平台创建应用
  首先,需要到微博开放平台申请开发者账号,创建新应用。你可以直接用你的微博账号登录。登录后,点击微链接选择其他选项,根据自己的需要新建应用程序(客户端、Web应用程序和浏览器插件)。
  2.应用相关设置
  首先,在应用信息中编辑应用的基本信息,包括应用介绍和用途,一定要填写安全域名。您可以填写域名进行自己的测试。企业申请,填写企业相关域名。
  还需要在应用高级信息中设置OAuth2.0的授权回调页面。这个测试也可以随便填。应用发起用户授权时,重定向的页面地址成功或取消。
  三、下载微博java sdk
  点击sdk下载地址后会跳转回github页面。页面也有例子提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用程序信息中。
  四、运行实例获取授权码
  配置文件修改后,首先打开examples包下的oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后,浏览器地址中会多出一个code=******。复制代码并粘贴到编辑器的控制台中,然后回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****]有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要OAuth2.0授权。调用每个方法都需要一个授权码。未经审核的应用授权码仅在一天内有效。通过后有30天,如果得到应用开发者的授权则有5年。因此,开发者在调用时需要判断授权码的有效期,到期后引导用户重新授权。
  5.api应用微博
  示例包中全是微博官方api实例,之前发送微博的接口在weibo4j.examples.timeline下。UpdateStatus.java 和 Upload.java 一个是发送微博文本,另一个是发送带图片的微博实例。打开后发现调用了 Weibo4j.Timeline.java 类发送微博。
  不过微博官方已经取消了updateStatus等相关的发送微博接口,这些接口不能再调用了,但是由于java sdk是2014版本,所以里面还是有这些方法的。然后替换之前的updateStatus界面为statuss/share(第三方分享链接微博)
  我们使用这个接口发送一条微博。由于java sdk是2014版本的,这个版本没有这个接口方法,所以我们需要根据他的调用方法写一个新的接口。由于这个接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制修改方法名,替换json。至此,无图发微博的方法就完成了。
  1 
2
  公共状态 updateStatus(String status) 抛出 WeiboException {
  return new Status(client.post(WeiboConfig.getValue("baseURL")
  新 PostParameter[] { new PostParameter("status", status) },
  访问令牌));
  }
  /** 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(api发新微博网上现有教程中的发送微博接口(updateStatus),)
  最近有个项目需要调用微博api发送一条新的微博。在网上找了很多相关的教程,遇到了很多坑。后来发邮件给官方发现微博官方早在2017年3月就已经调整了相关接口,取消了现有在线教程中发送微博的接口(updateStatus)。结果再次调用该接口会提示权限不足。,折腾了很久。特此发一个新的文章,希望大家不要入坑。
  1.登录开放平台创建应用
  首先,需要到微博开放平台申请开发者账号,创建新应用。你可以直接用你的微博账号登录。登录后,点击微链接选择其他选项,根据自己的需要新建应用程序(客户端、Web应用程序和浏览器插件)。
  2.应用相关设置
  首先,在应用信息中编辑应用的基本信息,包括应用介绍和用途,一定要填写安全域名。您可以填写域名进行自己的测试。企业申请,填写企业相关域名。
  还需要在应用高级信息中设置OAuth2.0的授权回调页面。这个测试也可以随便填。应用发起用户授权时,重定向的页面地址成功或取消。
  三、下载微博java sdk
  点击sdk下载地址后会跳转回github页面。页面也有例子提示如何使用,下载即可。下载后,将其导入代码编辑器。最重要的一步:修改config.properties文件中的字段值。值的来源在应用程序信息中。
  四、运行实例获取授权码
  配置文件修改后,首先打开examples包下的oauth2.0下的OAuth4Code.java文件,直接运行main方法。此时默认浏览器会打开用户授权页面。授权后,浏览器地址中会多出一个code=******。复制代码并粘贴到编辑器的控制台中,然后回车返回授权信息。
  复制返回的授权信息中accessToken的值,即授权码。
  AccessToken [accessToken=2.00******, expireIn=11255**, refreshToken=,uid=****]有了这个授权码,我们就可以正式运营微博了。
  注意:微博api中的所有操作都需要OAuth2.0授权。调用每个方法都需要一个授权码。未经审核的应用授权码仅在一天内有效。通过后有30天,如果得到应用开发者的授权则有5年。因此,开发者在调用时需要判断授权码的有效期,到期后引导用户重新授权。
  5.api应用微博
  示例包中全是微博官方api实例,之前发送微博的接口在weibo4j.examples.timeline下。UpdateStatus.java 和 Upload.java 一个是发送微博文本,另一个是发送带图片的微博实例。打开后发现调用了 Weibo4j.Timeline.java 类发送微博。
  不过微博官方已经取消了updateStatus等相关的发送微博接口,这些接口不能再调用了,但是由于java sdk是2014版本,所以里面还是有这些方法的。然后替换之前的updateStatus界面为statuss/share(第三方分享链接微博)
  我们使用这个接口发送一条微博。由于java sdk是2014版本的,这个版本没有这个接口方法,所以我们需要根据他的调用方法写一个新的接口。由于这个接口只有两个必填参数,一个微博文本和一个授权码,类似于updateStatus。所以我们可以打开weibo4j.Timeline.java找到updateStatus方法,复制修改方法名,替换json。至此,无图发微博的方法就完成了。
  1 
2
  公共状态 updateStatus(String status) 抛出 WeiboException {
  return new Status(client.post(WeiboConfig.getValue("baseURL")
  新 PostParameter[] { new PostParameter("status", status) },
  访问令牌));
  }
  /**

使用新浪微博开放平台api同步微博内容至自己网站(裴东辉-如何使用新浪微博API开放平台进行(组图))

网站优化优采云 发表了文章 • 0 个评论 • 68 次浏览 • 2022-02-23 16:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(裴东辉-如何使用新浪微博API开放平台进行(组图))
  裴东辉-如何使用新浪微博API开放平台进行程序开发
  前段时间抓取微博的数据,想着用htmlunit模拟登录新浪微博抓取数据。这两天看了新浪微博的官方API,发现可以通过新浪微博的官方API获取。新浪微博信息,更全面更简单。以下是从注册新浪微博,到完善新浪微博开放平台开发者信息,再创建应用获取Access Token,最后开发自己的应用。
  1注册126个邮箱
  
  02注册新浪微博
  
  03 登录新浪微博
  
  04登陆新浪开放平台
  
  05查看微博接口
  
  06 可以看到获得用户关注的用户信息列表
  
  07 打开api测试工具
  
  08 创建应用获取AccessToken
  
  09 创建应用程序
  
  10选择应用类型
  
  11填写开发者信息(如果之前已经填写过开发者信息,则跳过此步骤)
  
  12完整的开发者信息
  
  13 完成电子邮件确认
  
  14 创建应用程序
  
  15 成功创建应用(这里的Appkey暂时不可用)
  
  16 回到这个地方进行用户关系的API测试
  
  17 找到我的uid(在个人主页,后面最后一个数字是个人uid)
  
  18 看到这个用户就关注它
  
  19的最终结果,调用新浪微博的api查看获取到的json格式数据
  
  以上完成后,在网页上成功调用新浪微博提供的api接口。接下来,您需要编写一个程序来实现这一点。程序是模拟这个网页发送请求,返回的数据是json格式的数据。字段已定义。
  比如模拟这个请求,然后解析数据:
  
  完成后,开始正式开发微博数据分析程序。
  发表于 2016-02-23 14:251130136248read(409)comments(0)edit 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(裴东辉-如何使用新浪微博API开放平台进行(组图))
  裴东辉-如何使用新浪微博API开放平台进行程序开发
  前段时间抓取微博的数据,想着用htmlunit模拟登录新浪微博抓取数据。这两天看了新浪微博的官方API,发现可以通过新浪微博的官方API获取。新浪微博信息,更全面更简单。以下是从注册新浪微博,到完善新浪微博开放平台开发者信息,再创建应用获取Access Token,最后开发自己的应用。
  1注册126个邮箱
  
  02注册新浪微博
  
  03 登录新浪微博
  
  04登陆新浪开放平台
  
  05查看微博接口
  
  06 可以看到获得用户关注的用户信息列表
  
  07 打开api测试工具
  
  08 创建应用获取AccessToken
  
  09 创建应用程序
  
  10选择应用类型
  
  11填写开发者信息(如果之前已经填写过开发者信息,则跳过此步骤)
  
  12完整的开发者信息
  
  13 完成电子邮件确认
  
  14 创建应用程序
  
  15 成功创建应用(这里的Appkey暂时不可用)
  
  16 回到这个地方进行用户关系的API测试
  
  17 找到我的uid(在个人主页,后面最后一个数字是个人uid)
  
  18 看到这个用户就关注它
  
  19的最终结果,调用新浪微博的api查看获取到的json格式数据
  
  以上完成后,在网页上成功调用新浪微博提供的api接口。接下来,您需要编写一个程序来实现这一点。程序是模拟这个网页发送请求,返回的数据是json格式的数据。字段已定义。
  比如模拟这个请求,然后解析数据:
  
  完成后,开始正式开发微博数据分析程序。
  发表于 2016-02-23 14:251130136248read(409)comments(0)edit

使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案 )

网站优化优采云 发表了文章 • 0 个评论 • 77 次浏览 • 2022-02-22 18:04 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案
)
  一:获取app-key和app-secret
  使用自己的微博账号登录微博开放平台(),在微博开放中心的“创建应用”下创建应用。根据需要填写申请信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥。和应用程序秘密
  二:设置授权回调页面
  
  在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧的“应用信息”栏,会看到“App key”和“App Secret”,这两个东西是后面程序中用到的。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  三:安装微博python SDK
  有两种安装方法:
  1:下载新浪微博SDK
  2:python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  四:实例验证,获取当前登录用户和他关注的用户的最新微博(授权)
  这里需要注意的是,当浏览器中弹出一个页面时,必须先点击“授权”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面定向到新浪服务器,然后用户将信息输入新浪服务器并授权给我的应用访问用户数据,这里我授权微博给下面的程序),授权后浏览器中的URL类似:将代码后面的代码复制到控件中侧面,程序需要读取数据2024222384d5dc88316d21675259d73a
  注意:如果要获取其他信息,只需修改
  statuses = client.statuses__friends_timeline()[&#39;statuses&#39;]
  中的 statuss__friends_timeline
  # -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser #python内置的包
APP_KEY = &#39;xxxxxxxx&#39;#注意替换这里为自己申请的App信息
APP_SECRET = &#39;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#39;
CALLBACK_URL = &#39;https://api.weibo.com/oauth2/d ... 3B%23回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print &#39;输入url中code后面的内容后按回车键:&#39;
code = raw_input()
#code = your.web.framework.request.get(&#39;code&#39;)
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()[&#39;statuses&#39;] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
for i in range(0,length):
print u&#39;昵称:&#39;+statuses[i][&#39;user&#39;][&#39;screen_name&#39;]
print u&#39;简介:&#39;+statuses[i][&#39;user&#39;][&#39;description&#39;]
print u&#39;位置:&#39;+statuses[i][&#39;user&#39;][&#39;location&#39;]
print u&#39;微博:&#39;+statuses[i][&#39;text&#39;]
  结果如下(截取部分数据):
  
  以下是我的关注者的微博:
  
  
  
  
  以上面的代码为例,我们这里得到的信息是:
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博python的安装方式及解决方案
)
  一:获取app-key和app-secret
  使用自己的微博账号登录微博开放平台(),在微博开放中心的“创建应用”下创建应用。根据需要填写申请信息。填写完成后,无需提交审核。您所需要的只是应用程序密钥。和应用程序秘密
  二:设置授权回调页面
  
  在“微博开放平台”的“管理中心”找到刚刚创建的应用,点击应用,点击左侧的“应用信息”栏,会看到“App key”和“App Secret”,这两个东西是后面程序中用到的。然后点击“应用信息”下“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。
  三:安装微博python SDK
  有两种安装方法:
  1:下载新浪微博SDK
  2:python有一个简单的安装方法:直接在命令行输入:
  sudo pip install sinaweibopy
  四:实例验证,获取当前登录用户和他关注的用户的最新微博(授权)
  这里需要注意的是,当浏览器中弹出一个页面时,必须先点击“授权”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面定向到新浪服务器,然后用户将信息输入新浪服务器并授权给我的应用访问用户数据,这里我授权微博给下面的程序),授权后浏览器中的URL类似:将代码后面的代码复制到控件中侧面,程序需要读取数据2024222384d5dc88316d21675259d73a
  注意:如果要获取其他信息,只需修改
  statuses = client.statuses__friends_timeline()[&#39;statuses&#39;]
  中的 statuss__friends_timeline
  # -*- coding: utf-8 -*-
from weibo import APIClient
import webbrowser #python内置的包
APP_KEY = &#39;xxxxxxxx&#39;#注意替换这里为自己申请的App信息
APP_SECRET = &#39;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&#39;
CALLBACK_URL = &#39;https://api.weibo.com/oauth2/d ... 3B%23回调授权页面
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
print url
webbrowser.open_new(url)
#获取code=后面的内容
print &#39;输入url中code后面的内容后按回车键:&#39;
code = raw_input()
#code = your.web.framework.request.get(&#39;code&#39;)
#client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in
# 设置得到的access_token
client.set_access_token(access_token, expires_in)
#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()[&#39;statuses&#39;] #获取当前登录用户以及所关注用户(已授权)的微博
length = len(statuses)
print length
#输出了部分信息
for i in range(0,length):
print u&#39;昵称:&#39;+statuses[i][&#39;user&#39;][&#39;screen_name&#39;]
print u&#39;简介:&#39;+statuses[i][&#39;user&#39;][&#39;description&#39;]
print u&#39;位置:&#39;+statuses[i][&#39;user&#39;][&#39;location&#39;]
print u&#39;微博:&#39;+statuses[i][&#39;text&#39;]
  结果如下(截取部分数据):
  
  以下是我的关注者的微博:
  
  
  
  
  以上面的代码为例,我们这里得到的信息是:
  

使用新浪微博开放平台api同步微博内容至自己网站(微博登录访问第三方网站的高级进阶干货需要注意哪些? )

网站优化优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2022-02-22 18:00 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博登录访问第三方网站的高级进阶干货需要注意哪些?
)
  在平时的项目开发过程中,除了注册这个网站账号登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户登录微博访问第三方网站、分享内容、同步信息。
  1、首先需要将需要授权的用户引导到以下地址:
  https://api.weibo.com/oauth2/a ... T_URI
  如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
  2、接下来需要根据上面得到的代码兑换Access Token:
  https://api.weibo.com/oauth2/a ... DCODE
  返回值:
  JSON
  {
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
  3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
  为了方便,我们先将get和post封装到application下的common.php中:
  应用通用文件common.php:
  function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
  模板代码 login.html:
  DOCTYPE html>

微博登录
点击这里进行微博登录
  渲染:
  
  
  
  希望以上内容对您有所帮助。很多PHPer进阶的时候总会遇到一些问题和瓶颈。编写业务代码时没有方向感。我不知道从哪里开始改进。我整理了其中一些。材料,包括但不限于:分布式架构、高扩展性、高性能、高并发、服务器性能调优、TP6、laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx和其他进阶干货知识点可以免费分享给大家,需要的可以点这里链接或者关注下方我们的专栏
  转载:
  转载:
  ----------------------------------- ---------- ------------自有项目-------------- --------- ----------------------------------------- ----------------
  //新浪授权登录
public function weibo_login()
{
$key = "3700xxx";
$redirect_uri = "http://xxxx.xxxxx.com/wpapi/re ... 3B%3B
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return $this->fetch('weibo_register');
}
//新浪授权登录--回到地址
public function web_login_back(){
$key = "370xxx";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "7124de4bdaa82ca2ccc52xxxxx";
$redirect_uri = "http://xxx.xxxxx.com/wpapi/reg ... 3B%3B
$url_post = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $url_post);
$response->getStatusCode(); // 200
$response->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$data = json_decode($response->getBody(), true);
// dump($data);die;
// $token = json_decode($data, true);
$token = $data;
//获取用户信息 : get方法,替换参数: access_token, uid
$url_get = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$response_get = $client->request('get', $url_get);
$response_get->getStatusCode(); // 200
$response_get->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$info_info = json_decode($response_get->getBody(), true);
$info = $info_info;
dump($info);
if($info){
echo "登录成功";
}
}
  DOCTYPE html>

Title
微博授权登录
点击登录
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博登录访问第三方网站的高级进阶干货需要注意哪些?
)
  在平时的项目开发过程中,除了注册这个网站账号登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户登录微博访问第三方网站、分享内容、同步信息。
  1、首先需要将需要授权的用户引导到以下地址:
  https://api.weibo.com/oauth2/a ... T_URI
  如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
  2、接下来需要根据上面得到的代码兑换Access Token:
  https://api.weibo.com/oauth2/a ... DCODE
  返回值:
  JSON
  {
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
  3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
  为了方便,我们先将get和post封装到application下的common.php中:
  应用通用文件common.php:
  function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
  模板代码 login.html:
  DOCTYPE html>

微博登录
点击这里进行微博登录
  渲染:
  
  
  
  希望以上内容对您有所帮助。很多PHPer进阶的时候总会遇到一些问题和瓶颈。编写业务代码时没有方向感。我不知道从哪里开始改进。我整理了其中一些。材料,包括但不限于:分布式架构、高扩展性、高性能、高并发、服务器性能调优、TP6、laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx和其他进阶干货知识点可以免费分享给大家,需要的可以点这里链接或者关注下方我们的专栏
  转载:
  转载:
  ----------------------------------- ---------- ------------自有项目-------------- --------- ----------------------------------------- ----------------
  //新浪授权登录
public function weibo_login()
{
$key = "3700xxx";
$redirect_uri = "http://xxxx.xxxxx.com/wpapi/re ... 3B%3B
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return $this->fetch('weibo_register');
}
//新浪授权登录--回到地址
public function web_login_back(){
$key = "370xxx";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "7124de4bdaa82ca2ccc52xxxxx";
$redirect_uri = "http://xxx.xxxxx.com/wpapi/reg ... 3B%3B
$url_post = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $url_post);
$response->getStatusCode(); // 200
$response->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$data = json_decode($response->getBody(), true);
// dump($data);die;
// $token = json_decode($data, true);
$token = $data;
//获取用户信息 : get方法,替换参数: access_token, uid
$url_get = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$response_get = $client->request('get', $url_get);
$response_get->getStatusCode(); // 200
$response_get->getHeaderLine('content-type'); // 'application/json; charset=utf8'
$info_info = json_decode($response_get->getBody(), true);
$info = $info_info;
dump($info);
if($info){
echo "登录成功";
}
}
  DOCTYPE html>

Title
微博授权登录
点击登录
  

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开发的api,1.第三方)

网站优化优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-02-22 17:20 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开发的api,1.第三方)
  首先我们要拿到新浪微博开发的API,然后仔细阅读一些文档规范,这样就可以知道如果第三方应用想要分享内容到新浪微博平台,
  1.第三方申请需在新浪微博开放平台审核通过
  client_ID=*****
client_SERCRET=*****
  配置到config.properties,信息如下:
  client_ID=*****
client_SERCRET=*****
redirect_URI=http://apps.weibo.com/ceshidemo
baseURL=https://api.weibo.com/2/
accessTokenURL=https://api.weibo.com/oauth2/access_token
authorizeURL=https://api.weibo.com/oauth2/authorize
rmURL=https://rm.api.weibo.com/2/
response_type=code
  2.用从新浪微博开放平台获取的client_ID和client_SERCRET获取AccessToken,
  3.然后带着获取的AccessToken访问新浪微博、发送体验微博或者获取当前用户信息等
  代码如下:
  public class WeiBoUtil2 extends WeiBoUtil {
public static final String POST_WEIBO_URL_WITH_CONTENT = "https://api.weibo.com/2/status ... 3B%3B
private static final Logger logger = Logger.getLogger(WeiBoUtil2.class);
public static Map header = new HashMap();
static {
header.put("Accept-Language", "zh-CN,zh;q=0.8");
header.put("User-Agent", "test sina api");
header.put("Accept-Charset", "utf-8;q=0.7,*;q=0.3");
}
/**
* 获取当前用户信息
*
* @param uid
*
*/
public static void showUser(String uid) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();// 通过code回去通行令类
Users um = new Users();
um.client.setToken(accessToken.getAccessToken());// 设置通行令然后发布微博
try {
User user = um.showUserById(uid);// 获取用户
Log.logInfo(user.toString());
} catch (WeiboException e) {
e.printStackTrace();
}
}
/**
* 获取用户的粉丝列表
*
* @param name
* @throws WeiboException
* when Weibo service or network is unavailable
*/
public static void findFriendsByScreenName(String name) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();
Friendships fm = new Friendships();
fm.client.setToken(accessToken.getAccessToken());
try {
UserWapper users = fm.getFollowersByName(name);
for (User u : users.getUsers()) {
Log.logInfo(u.toString());
}
} catch (WeiboException e) {
Log.logErr(null+ ":" + e.getMessage());
}
}
/**
* 获取通行令方法
*
* @param userid
* 用户名
* @param password
* 密码
* @return AccessToken 通行令
* @throws WeiboException
* when userId or password is not OAuth HttpException when Weibo
* service or network is unavailable
* @author
*/
public static AccessToken refreshToken(String userid, String password) {
try {
String url = WeiboConfig.getValue("authorizeURL");// 微博认证授权地址
PostMethod postMethod = new PostMethod(url);
postMethod.addParameter("client_id", WeiboConfig
.getValue("client_ID"));// your client id
postMethod.addParameter("redirect_uri", WeiboConfig
.getValue("redirect_URI"));// your url
postMethod.addParameter("userId", userid);// 获取微薄的useid
postMethod.addParameter("passwd", password);
postMethod.addParameter("isLoginSina", "0");
postMethod.addParameter("action", "submit");
postMethod.addParameter("response_type", WeiboConfig
.getValue("response_type"));// code
// 获取post方法的参数
HttpMethodParams param = postMethod.getParams();
param.setContentCharset("UTF-8");// 进行编码转换
List headers = new ArrayList();
// 伪造请求头信头
headers.add(new Header(
"Referer",
"https://api.weibo.com/oauth2/a ... 6quot;));
headers.add(new Header("Host", "api.weibo.com"));
// headers
// .add(new Header("User-Agent",
// "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0"));
headers.add(new Header("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)"));
ProtocolSocketFactory fcty = new MySecureProtocolSocketFactory();
Protocol.registerProtocol("https", new Protocol("https", fcty, 443));
//HttpClient客户端apache下面的api
HttpClient client = new HttpClient();
client.getHostConfiguration().getParams().setParameter("http.default-headers", headers);
client.executeMethod(postMethod);
//获得响应的状态码
int status = postMethod.getStatusCode();
if (status != 200 && status != 302) {
Log.logErr("请求Token返回的状态码:" + status);
}
// 获取响应的头信息中的 地址信息
Header location = postMethod.getResponseHeader("Location");
// 下面的方法是取出code
if (location != null) {
String retUrl = location.getValue();
int begin = retUrl.indexOf("code=");
if (begin != -1) {
int end = retUrl.indexOf("&", begin);
if (end == -1)
end = retUrl.length();
String code = retUrl.substring(begin + 5, end);
if (code != null) {
// 通过getAccessTokenByCode方法返回accessToken
Log.logInfo("location&#39;s code is :" + code);
return new Oauth().getAccessTokenByCode(code);
}
}
} else {
Log.logErr("location&#39;s code is :"+location);
}
} catch (WeiboException e) {
Log.logErr(e.getMessage());
} catch (HttpException e) {
Log.logErr(null);
} catch (IOException e) {
Log.logErr(e.getMessage());
}
Log.logErr("refresh token failed");
return null;
}
/**
* 发布一篇微博方法
*
* @param str
* 发送的微博正文
* @param userid
* 用户ID
* @param password
* 用户密码
* @return String post请求返回的response内容
*/
public static String sendWeibo(String str, String userid, String password,
String accessToken) throws WeiboException {
Map params = new HashMap();
params.put("access_token", accessToken);
params.put("status", str);
params.put("lat", "39.920063467669495");
params.put("long", "116.46009815979004");
String respStr = postMethodRequestWithOutFile(POST_WEIBO_URL_WITH_CONTENT, params, header);
Log.logInfo("postMethodRequestWithOutFile responce-->" + respStr);
return respStr;
}
/**
* post请求发送方法
*
* @param url
* 发布微博的地址
* @param params
* 请求消息头中的参数值
* @param header
* 请求头信息
* @return 服务器端的响应信息
* @throws WeiboException
* when userId or password is not OAuth HttpException
* Exception when Weibo service or network is unavailable
*/
public static String postMethodRequestWithOutFile(String url,
Map params, Map header) {
Log.logInfo("post request is begin! url =" + url);
HttpClient hc = new HttpClient();
try {
PostMethod pm = new PostMethod(url);
if (header != null) {
for (String head_key : header.keySet()) {
if (head_key == null || header.get(head_key) == null)
continue;
pm.addRequestHeader(head_key, header.get(head_key));
}
}
if (params != null) {
for (String param_key : params.keySet()) {
if (param_key == null || params.get(param_key) == null)
continue;
pm.addParameter(param_key, params.get(param_key));
}
}
// 获取params,然后进行编码,编成utf8格式
pm.getParams().setContentCharset("utf8");
hc.executeMethod(pm);
String ret = pm.getResponseBodyAsString();// 获取响应体的字符串
Log.logInfo("post请求发出后返回的信息:" + ret);
return ret;
} catch (HttpException e) {
Log.logErr(null);
} catch (Exception e) {
Log.logErr(null);
} finally {
Log.logInfo("post request is end! url =" + url);
}
return null;
}
  如果您有兴趣获取更多信息:添加以下请求:378437335 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开发的api,1.第三方)
  首先我们要拿到新浪微博开发的API,然后仔细阅读一些文档规范,这样就可以知道如果第三方应用想要分享内容到新浪微博平台,
  1.第三方申请需在新浪微博开放平台审核通过
  client_ID=*****
client_SERCRET=*****
  配置到config.properties,信息如下:
  client_ID=*****
client_SERCRET=*****
redirect_URI=http://apps.weibo.com/ceshidemo
baseURL=https://api.weibo.com/2/
accessTokenURL=https://api.weibo.com/oauth2/access_token
authorizeURL=https://api.weibo.com/oauth2/authorize
rmURL=https://rm.api.weibo.com/2/
response_type=code
  2.用从新浪微博开放平台获取的client_ID和client_SERCRET获取AccessToken,
  3.然后带着获取的AccessToken访问新浪微博、发送体验微博或者获取当前用户信息等
  代码如下:
  public class WeiBoUtil2 extends WeiBoUtil {
public static final String POST_WEIBO_URL_WITH_CONTENT = "https://api.weibo.com/2/status ... 3B%3B
private static final Logger logger = Logger.getLogger(WeiBoUtil2.class);
public static Map header = new HashMap();
static {
header.put("Accept-Language", "zh-CN,zh;q=0.8");
header.put("User-Agent", "test sina api");
header.put("Accept-Charset", "utf-8;q=0.7,*;q=0.3");
}
/**
* 获取当前用户信息
*
* @param uid
*
*/
public static void showUser(String uid) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();// 通过code回去通行令类
Users um = new Users();
um.client.setToken(accessToken.getAccessToken());// 设置通行令然后发布微博
try {
User user = um.showUserById(uid);// 获取用户
Log.logInfo(user.toString());
} catch (WeiboException e) {
e.printStackTrace();
}
}
/**
* 获取用户的粉丝列表
*
* @param name
* @throws WeiboException
* when Weibo service or network is unavailable
*/
public static void findFriendsByScreenName(String name) {
Weibo weibo = new Weibo();
AccessToken accessToken = weibo.getAccessToken();
Friendships fm = new Friendships();
fm.client.setToken(accessToken.getAccessToken());
try {
UserWapper users = fm.getFollowersByName(name);
for (User u : users.getUsers()) {
Log.logInfo(u.toString());
}
} catch (WeiboException e) {
Log.logErr(null+ ":" + e.getMessage());
}
}
/**
* 获取通行令方法
*
* @param userid
* 用户名
* @param password
* 密码
* @return AccessToken 通行令
* @throws WeiboException
* when userId or password is not OAuth HttpException when Weibo
* service or network is unavailable
* @author
*/
public static AccessToken refreshToken(String userid, String password) {
try {
String url = WeiboConfig.getValue("authorizeURL");// 微博认证授权地址
PostMethod postMethod = new PostMethod(url);
postMethod.addParameter("client_id", WeiboConfig
.getValue("client_ID"));// your client id
postMethod.addParameter("redirect_uri", WeiboConfig
.getValue("redirect_URI"));// your url
postMethod.addParameter("userId", userid);// 获取微薄的useid
postMethod.addParameter("passwd", password);
postMethod.addParameter("isLoginSina", "0");
postMethod.addParameter("action", "submit");
postMethod.addParameter("response_type", WeiboConfig
.getValue("response_type"));// code
// 获取post方法的参数
HttpMethodParams param = postMethod.getParams();
param.setContentCharset("UTF-8");// 进行编码转换
List headers = new ArrayList();
// 伪造请求头信头
headers.add(new Header(
"Referer",
"https://api.weibo.com/oauth2/a ... 6quot;));
headers.add(new Header("Host", "api.weibo.com"));
// headers
// .add(new Header("User-Agent",
// "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0"));
headers.add(new Header("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)"));
ProtocolSocketFactory fcty = new MySecureProtocolSocketFactory();
Protocol.registerProtocol("https", new Protocol("https", fcty, 443));
//HttpClient客户端apache下面的api
HttpClient client = new HttpClient();
client.getHostConfiguration().getParams().setParameter("http.default-headers", headers);
client.executeMethod(postMethod);
//获得响应的状态码
int status = postMethod.getStatusCode();
if (status != 200 && status != 302) {
Log.logErr("请求Token返回的状态码:" + status);
}
// 获取响应的头信息中的 地址信息
Header location = postMethod.getResponseHeader("Location");
// 下面的方法是取出code
if (location != null) {
String retUrl = location.getValue();
int begin = retUrl.indexOf("code=");
if (begin != -1) {
int end = retUrl.indexOf("&", begin);
if (end == -1)
end = retUrl.length();
String code = retUrl.substring(begin + 5, end);
if (code != null) {
// 通过getAccessTokenByCode方法返回accessToken
Log.logInfo("location&#39;s code is :" + code);
return new Oauth().getAccessTokenByCode(code);
}
}
} else {
Log.logErr("location&#39;s code is :"+location);
}
} catch (WeiboException e) {
Log.logErr(e.getMessage());
} catch (HttpException e) {
Log.logErr(null);
} catch (IOException e) {
Log.logErr(e.getMessage());
}
Log.logErr("refresh token failed");
return null;
}
/**
* 发布一篇微博方法
*
* @param str
* 发送的微博正文
* @param userid
* 用户ID
* @param password
* 用户密码
* @return String post请求返回的response内容
*/
public static String sendWeibo(String str, String userid, String password,
String accessToken) throws WeiboException {
Map params = new HashMap();
params.put("access_token", accessToken);
params.put("status", str);
params.put("lat", "39.920063467669495");
params.put("long", "116.46009815979004");
String respStr = postMethodRequestWithOutFile(POST_WEIBO_URL_WITH_CONTENT, params, header);
Log.logInfo("postMethodRequestWithOutFile responce-->" + respStr);
return respStr;
}
/**
* post请求发送方法
*
* @param url
* 发布微博的地址
* @param params
* 请求消息头中的参数值
* @param header
* 请求头信息
* @return 服务器端的响应信息
* @throws WeiboException
* when userId or password is not OAuth HttpException
* Exception when Weibo service or network is unavailable
*/
public static String postMethodRequestWithOutFile(String url,
Map params, Map header) {
Log.logInfo("post request is begin! url =" + url);
HttpClient hc = new HttpClient();
try {
PostMethod pm = new PostMethod(url);
if (header != null) {
for (String head_key : header.keySet()) {
if (head_key == null || header.get(head_key) == null)
continue;
pm.addRequestHeader(head_key, header.get(head_key));
}
}
if (params != null) {
for (String param_key : params.keySet()) {
if (param_key == null || params.get(param_key) == null)
continue;
pm.addParameter(param_key, params.get(param_key));
}
}
// 获取params,然后进行编码,编成utf8格式
pm.getParams().setContentCharset("utf8");
hc.executeMethod(pm);
String ret = pm.getResponseBodyAsString();// 获取响应体的字符串
Log.logInfo("post请求发出后返回的信息:" + ret);
return ret;
} catch (HttpException e) {
Log.logErr(null);
} catch (Exception e) {
Log.logErr(null);
} finally {
Log.logInfo("post request is end! url =" + url);
}
return null;
}
  如果您有兴趣获取更多信息:添加以下请求:378437335

使用新浪微博开放平台api同步微博内容至自己网站(中国的微博客正在酝酿一场新的大战(图))

网站优化优采云 发表了文章 • 0 个评论 • 87 次浏览 • 2022-02-20 05:17 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(中国的微博客正在酝酿一场新的大战(图))
  中国的微博似乎正在酝酿一场新的战争。
  刚刚在推特上看到了 Moonlight Blog 的所有者 williamlong 的消息:
  尊敬的开发者您好:您的应用程序“@”使用的接口已关闭。原因是向其他社交平台同步内容的功能违反了相关法律法规和政策。请根据我们的建议和《微博开放平台应用审核规范》对您的应用进行调整,并提交重新开放界面的申请。感谢您的支持与合作。
  同时,知名的新浪微博第三方同步客户端fawave和微博通也确认使用的新浪微博API服务已被冻结。
  那么这些第三方客户违反了哪些法律法规呢?
  fawave 的作者认为可能有以下原因导致被封:
  五、竞争限制 b) 新浪开放平台插件应用产生的数据,禁止以任何形式查看或与开放平台外的任何数据进行交互;…
  2. 插件应用程序提供商的权利和义务。以任何方式开发机器人外挂应用,包括但不限于绑定多平台微博账号、将新浪微博信息同步到其他微博平台等。
  微博说:
  新浪微博欺负人,玩过河拆桥大游戏:据开发者介绍,很多基于新浪微博开放平台接口开发的应用已经从数据接口禁用,新浪微博准备过河河,拆桥!期待更多的开发者关注这件事,说不定你的应用就是下一个被停止的应用。
  微博是一个生态系统,平台是一方面,而那些基于微博平台开发应用的第三方开发者对于平台的成功至关重要。36氪将密切关注此事并进行更新。善待开发者就是善待自己。
  更新 1:fawave 现在功能齐全。
  更新 2:(在微博上更新)fawave 的作者之一(@Python 爱好者)说 fawave 又回来了,但是,在某些时候,你可能会发现缺少一些东西。另外,我了解新浪微博开放平台。
  相关新闻:新浪微博被迫撤出大量特殊微博账号
  以下为新浪微博应用开发者协议:
  新浪微博应用开发者协议
  一、定义
  1.新浪开放平台
  a) 新浪开放平台是指新浪拥有和提供的一些软件、文档和技术服务,插件应用提供商基于这些软件、文档和技术服务向新浪提供插件应用;
  b) 新浪开放平台收录的技术服务包括但不限于:为插件应用提供数据接口服务、为插件应用提供数据统计服务、提供支付渠道和计费系统、提供营销解决方案和营销服务。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(中国的微博客正在酝酿一场新的大战(图))
  中国的微博似乎正在酝酿一场新的战争。
  刚刚在推特上看到了 Moonlight Blog 的所有者 williamlong 的消息:
  尊敬的开发者您好:您的应用程序“@”使用的接口已关闭。原因是向其他社交平台同步内容的功能违反了相关法律法规和政策。请根据我们的建议和《微博开放平台应用审核规范》对您的应用进行调整,并提交重新开放界面的申请。感谢您的支持与合作。
  同时,知名的新浪微博第三方同步客户端fawave和微博通也确认使用的新浪微博API服务已被冻结。
  那么这些第三方客户违反了哪些法律法规呢?
  fawave 的作者认为可能有以下原因导致被封:
  五、竞争限制 b) 新浪开放平台插件应用产生的数据,禁止以任何形式查看或与开放平台外的任何数据进行交互;…
  2. 插件应用程序提供商的权利和义务。以任何方式开发机器人外挂应用,包括但不限于绑定多平台微博账号、将新浪微博信息同步到其他微博平台等。
  微博说:
  新浪微博欺负人,玩过河拆桥大游戏:据开发者介绍,很多基于新浪微博开放平台接口开发的应用已经从数据接口禁用,新浪微博准备过河河,拆桥!期待更多的开发者关注这件事,说不定你的应用就是下一个被停止的应用。
  微博是一个生态系统,平台是一方面,而那些基于微博平台开发应用的第三方开发者对于平台的成功至关重要。36氪将密切关注此事并进行更新。善待开发者就是善待自己。
  更新 1:fawave 现在功能齐全。
  更新 2:(在微博上更新)fawave 的作者之一(@Python 爱好者)说 fawave 又回来了,但是,在某些时候,你可能会发现缺少一些东西。另外,我了解新浪微博开放平台。
  相关新闻:新浪微博被迫撤出大量特殊微博账号
  以下为新浪微博应用开发者协议:
  新浪微博应用开发者协议
  一、定义
  1.新浪开放平台
  a) 新浪开放平台是指新浪拥有和提供的一些软件、文档和技术服务,插件应用提供商基于这些软件、文档和技术服务向新浪提供插件应用;
  b) 新浪开放平台收录的技术服务包括但不限于:为插件应用提供数据接口服务、为插件应用提供数据统计服务、提供支付渠道和计费系统、提供营销解决方案和营销服务。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇))

网站优化优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-02-19 14:03 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇))
  想了解新浪微博API开发入门中的用户授权(PHP基础)吗?在本文中,我将讲解新浪微博API开发的相关知识和一些代码示例。欢迎阅读和指正。我们先来关注一下:新浪微博,API开发,一起来学习。
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上有非常清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o-&gt;getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
  获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o-&gt;getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。在我们得到 $aurl 之后,我们可以使用 header() 直接跳转到它。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
  需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o-&gt;getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
  获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c-&gt;public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) &amp;&amp; isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
  上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用的是php进行开发,所以使用Json格式数据有先天优势,如果返回Json格式数据,直接使用php函数json_decode () 可以转换成php常用的数组格式。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发简介之用户授权(PHP基础篇))
  想了解新浪微博API开发入门中的用户授权(PHP基础)吗?在本文中,我将讲解新浪微博API开发的相关知识和一些代码示例。欢迎阅读和指正。我们先来关注一下:新浪微博,API开发,一起来学习。
  现在玩微博的人越来越多,关于微博的第三方应用开​​发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
  在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
  新浪微博API开发准备
  首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
  下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
  新浪微博API开发最重要的用户授权流程
  事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。OAuth授权的流程在新浪微博开放平台上有非常清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
  1.先获取一个未授权的Request Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY , WB_SKEY );
  $keys = $o-&gt;getRequestToken();
  //echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
  我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
  获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
  2.然后请求用户授权Token
  复制代码代码如下:
  $_SESSION['keys'] = $keys;
  aurl = $o-&gt;getAuthorizeURL( $keys['oauth_token'] ,false , '');
  拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。在我们得到 $aurl 之后,我们可以使用 header() 直接跳转到它。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
  需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
  3.用户最后授权的Access Token
  复制代码代码如下:
  $o = new WeiboOAuth( WB_AKEY ,
  WB_SKEY ,
  $_SESSION['keys']['oauth_token'] ,
  $_SESSION['keys']['oauth_token_secret'] );
  $last_key = $o-&gt;getAccessToken( $_REQUEST['oauth_verifier'] ) ;
  回声($last_key['oauth_token']);
  上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
  授权完成后工作
  授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
  获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
  复制代码代码如下:
  //获取前20条最新更新的公众微博消息
  $c = new WeiboClient( WB_AKEY ,
  WB_SKEY ,
  $oauth_token ,
  $oauth_token_secret );
  $msg = $c-&gt;public_timeline();
  if ($msg === false || $msg === null){
  echo "发生错误";
  返回假;
  }
  if (isset($msg['error_code']) &amp;&amp; isset($msg['error'])){
  echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
  返回假;
  }
  print_r($msg);
  通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
  上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用的是php进行开发,所以使用Json格式数据有先天优势,如果返回Json格式数据,直接使用php函数json_decode () 可以转换成php常用的数组格式。

官方客服QQ群

微信人工客服

QQ人工客服


线