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

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

使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)

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

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API,可以生成短链接,同时可以传输多个长链接。什么是短链接 短链接,一般来说就是通过程序计算的方式将一个长的URL URL 转换成一个短的URL 字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  
// APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p> 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API,可以生成短链接,同时可以传输多个长链接。什么是短链接 短链接,一般来说就是通过程序计算的方式将一个长的URL URL 转换成一个短的URL 字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  
// APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p>

使用新浪微博开放平台api同步微博内容至自己网站(wordpress网站可以写php代码1.php文件测试.php)

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

  使用新浪微博开放平台api同步微博内容至自己网站(wordpress网站可以写php代码1.php文件测试.php)
  据说wordpress网站可以在发帖时将文章同步到新浪微博,想写一个php代码测试基于同样的方法。以下内容引自:
  微博同步方式大致有插件、关联博客、非插件微博三种方式
  第一种是直接在百度上搜索;
  其次,因为新浪现在取消了链接博客的选项,但该功能并未取消。可以询问下面的地址,然后进行配置。
  第三种方法需要使用新浪的接口,如下:
  1) 前往新浪微博开放平台创建站内应用。审核不通过没关系,但是如果通过了,可以在微博底部展示来自XX的应用,比如来自KingGoo科技博客的图片。如何创建它?在百度google上搜索,很简单(但是如果你没有通过审核想通过审核,我可以提供付费帮助嘎嘎~),创建应用后,需要使用App Key申请下面的应用程序;
  2)编辑你的主题的functions.php文件并在最后添加以下代码
  // 微博同步function post_to_sina_weibo($post_ID) { if( wp_is_post_revision($post_ID) ) return; $get_post_info = get_post($post_ID); $get_post_centent = get_post($post_ID)->post_content; //去掉文章内的html编码的空格、换行、tab等符号(如果你文章的编码格式是这样子,可以将下面的"//"去掉即开启此功能) //$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace(" ", " ", $get_post_centent))); $get_post_title = get_post($post_ID)->post_title; if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) { $request = new WP_Http; $status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ; $api_url = 'https://api.weibo.com/2/statuses/update.json'; $body = array( 'status' => $status, 'source'=>'4135063399'); $headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); /* 如果你使用改方法,请注释掉上面$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); 换成如下代码 //你的新浪微博登陆名 $username = '' ; //你的新浪微博登陆密码 $password = '' ; $headers = array( 'Authorization' => 'Basic ' . base64_encode('$username:$password')); */ $result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) ); }}add_action('publish_post', 'post_to_sina_weibo', 0);
  文章需要用到wordpress自带的WP_Http类,我在github上找到了替代品:
  关于这个类的一个说明:EasyHttp是一个php类,可以帮助你忽略不同的php环境条件,乱发送http请求。您不再需要关注当前的 php 环境是否支持 curl/fsockopen/fopen,EasyHttp 会自动选择最合适的方式进行 http 请求。EasyHttp 派生自 WordPress 中的 WP_Http 类,它去除了对其他 WordPress 功能的所有依赖,将其拆分为不同的文件,并进行了少量的简化。
  根据以上内容,编写php代码1.php:
  当浏览器访问1.php时,返回如下内容:
  Array ([headers] =&gt; Array ([server] =&gt; nginx/1.2.0 [date] =&gt; Sun, 13 Oct 2013 02:23:46 GMT [content-type] =&gt; text/plain;charset=UTF-8 [content-length] =&gt; 76 [connection] =&gt; close [api-server-ip] =&gt; 10.75.0.170 [变化] =&gt; Accept-Encoding [x-varnish] =&gt; 3299864740 [age] =&gt; 0 [via] =&gt; 1.1 varnish) [body] =&gt; Bad Content-Type header value:'application/ x-www-form-urlencoded; charset=' [response] =&gt; Array ([code] =&gt; 400 [message] =&gt; Bad Request) [cookies] =&gt; Array () [filename] =&gt;)
  好像是 400 Bad Request。百度一下,意思是“由于语法格式错误,服务器无法理解这个请求。不修改,客户端程序不能重复这个请求。”
  你怎么解决这个问题? 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(wordpress网站可以写php代码1.php文件测试.php)
  据说wordpress网站可以在发帖时将文章同步到新浪微博,想写一个php代码测试基于同样的方法。以下内容引自:
  微博同步方式大致有插件、关联博客、非插件微博三种方式
  第一种是直接在百度上搜索;
  其次,因为新浪现在取消了链接博客的选项,但该功能并未取消。可以询问下面的地址,然后进行配置。
  第三种方法需要使用新浪的接口,如下:
  1) 前往新浪微博开放平台创建站内应用。审核不通过没关系,但是如果通过了,可以在微博底部展示来自XX的应用,比如来自KingGoo科技博客的图片。如何创建它?在百度google上搜索,很简单(但是如果你没有通过审核想通过审核,我可以提供付费帮助嘎嘎~),创建应用后,需要使用App Key申请下面的应用程序;
  2)编辑你的主题的functions.php文件并在最后添加以下代码
  // 微博同步function post_to_sina_weibo($post_ID) { if( wp_is_post_revision($post_ID) ) return; $get_post_info = get_post($post_ID); $get_post_centent = get_post($post_ID)->post_content; //去掉文章内的html编码的空格、换行、tab等符号(如果你文章的编码格式是这样子,可以将下面的"//"去掉即开启此功能) //$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace(" ", " ", $get_post_centent))); $get_post_title = get_post($post_ID)->post_title; if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) { $request = new WP_Http; $status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ; $api_url = 'https://api.weibo.com/2/statuses/update.json'; $body = array( 'status' => $status, 'source'=>'4135063399'); $headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); /* 如果你使用改方法,请注释掉上面$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); 换成如下代码 //你的新浪微博登陆名 $username = '' ; //你的新浪微博登陆密码 $password = '' ; $headers = array( 'Authorization' => 'Basic ' . base64_encode('$username:$password')); */ $result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) ); }}add_action('publish_post', 'post_to_sina_weibo', 0);
  文章需要用到wordpress自带的WP_Http类,我在github上找到了替代品:
  关于这个类的一个说明:EasyHttp是一个php类,可以帮助你忽略不同的php环境条件,乱发送http请求。您不再需要关注当前的 php 环境是否支持 curl/fsockopen/fopen,EasyHttp 会自动选择最合适的方式进行 http 请求。EasyHttp 派生自 WordPress 中的 WP_Http 类,它去除了对其他 WordPress 功能的所有依赖,将其拆分为不同的文件,并进行了少量的简化。
  根据以上内容,编写php代码1.php:
  当浏览器访问1.php时,返回如下内容:
  Array ([headers] =&gt; Array ([server] =&gt; nginx/1.2.0 [date] =&gt; Sun, 13 Oct 2013 02:23:46 GMT [content-type] =&gt; text/plain;charset=UTF-8 [content-length] =&gt; 76 [connection] =&gt; close [api-server-ip] =&gt; 10.75.0.170 [变化] =&gt; Accept-Encoding [x-varnish] =&gt; 3299864740 [age] =&gt; 0 [via] =&gt; 1.1 varnish) [body] =&gt; Bad Content-Type header value:'application/ x-www-form-urlencoded; charset=' [response] =&gt; Array ([code] =&gt; 400 [message] =&gt; Bad Request) [cookies] =&gt; Array () [filename] =&gt;)
  好像是 400 Bad Request。百度一下,意思是“由于语法格式错误,服务器无法理解这个请求。不修改,客户端程序不能重复这个请求。”
  你怎么解决这个问题?

使用新浪微博开放平台api同步微博内容至自己网站(WeiboSDK新浪微博SDKv3源码和示例(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(WeiboSDK新浪微博SDKv3源码和示例(图))
  WeiboSDK 新浪微博SDK v3 源代码和示例前言
  时间过得真快,距离上次SDK更新已经3年多了。随着正式版的不断更新,老SDK的部分接口已经不能正常使用了。于是,QQ群里抱怨辱骂的朋友开始增多。随着时代的发展,微博已经被微信彻底甩掉,失去了兴趣;同时,对于我自己来说,在这个行业里为了生存而生存几年后,日子越来越不好过,我没有时间。然后和新浪官方同步更新SDK,所以自13年之后,V2版本的SDK就没有再更新了。虽然微博的风潮没了,但还是有很多朋友通过新浪开放平台页面下载了我发布的SDK。可以说,由于长期不更新,老版本严重误导了新朋友。这也是我开发的。SDK 新版本的另一个重要原因。SDK第三版的一些说明
  指示
  第一步是初始化客户端
  如果用户没有被授权
  使用微博开放平台后台提供的appkey、appsecret、callback_url初始化客户端。
  ", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "");
  然后获取授权页面地址,访问授权地址,获取Authorization_Code
  var url = openAuth.GetAuthorizationUrl();
  根据返回的Code兑换AccessToken
  openAuth.GetAccessTokenByCode("[CODE]");
if(openAuth.IsAuthorized)
{
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
}
  重要的!!!获取到AccessToken和UID后,请保存这两个数据,以后的接口调用会直接使用这两个参数,所以不需要每次都执行第一步和第二步。
  接下来就可以跳转到第二步调用官方API了。
  当然,如果你之前已经被授权并且已经获得了AccessToken和UID,那么使用下面的方法来初始化客户端。
  ", "", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "", "");
  之后就可以直接跳转到第二步调用API了。
  第二步调用接口
  这里提供了Get和Post两个方法调用官方API,也提供了异步支持。使用时根据官方文档的要求选择是使用Get还是Post调用API(调用方法在官方文档中有明确说明)。
  调用接口传递参数有两种方式。一个是传入一个Dictionary类型的参数组,一个是传入一个名为new的匿名类。我个人认为使用匿名类是非常科学的。
  例如调用API获取当前登录用户的最新微博
  {{"count", 5},{"page", 1},{"base_app", 0}}); //这里可以使用字典或者匿名类来传递参数,参数名,大小写,参数顺序和规范请参考官方api文档 if (result.IsSuccessStatusCode){Console.WriteLine(result.Content.ReadAsStringAsync( ).结果);}"&gt;
  var result = openAuth.HttpGet("statuses/friends_timeline.json",
new Dictionary
{
{"count", 5},
{"page", 1},
{"base_app" , 0}
}); //这里可以使用字典或者匿名类的方式传递参数,参数名称、大小写、参数顺序和规范请参照官方api文档
if (result.IsSuccessStatusCode)
{
Console.WriteLine(result.Content.ReadAsStringAsync().Result);
}
  另外,如果需要异步调用,请参考下面的例子。
  对象的类型也可以直接传入匿名类。参数对应官方api文档中的参数 new {uid = openAuth.UID});response.ContinueWith(task =&gt;{//asynchronous processing result});"&gt;
  // 调用获取获取用户信息api
// 参考:http://open.weibo.com/wiki/2/users/show
var response = openAuth.HttpGetAsync("users/show.json",
//可以传入一个Dictionary类型的对象,也可以直接传入一个匿名类。参数与官方api文档中的参数相对应
new {
uid = openAuth.UID
});
response.ContinueWith(task =>{
//异步处理结果
});
  如果使用.net4.5,可以直接使用async和await关键字来简化上述操作。
  另外,由于新浪官方限制现在产生了登录验证码,新版SDK不再提供之前版本的模拟登录获取授权(ClientLogin)。对于Winform和Console应用,可以参考NetDimension.OpenAuth.Winform类,该类提供了扩展方法,可以在上述两种项目类型中弹出授权窗口,并在用户授权后自动获取Authorization_Code。具体操作请参见Winform和Console示例代码。
  using NetDimension.OpenAuth.Winform;
...
var form = openAuth.GetAuthenticationForm();
if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Console.WriteLine("用户授权成功!");
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
//其他操作
//...
}
else
{
Console.WriteLine("用户授权失败!");
}
  执行上述代码时,会弹出下图所示的窗口。
  用户登录后,SDK 会使用正则表达式从回调地址中获取 Authorization_Code。
  关于源代码中的例子
  例子没什么好说的。源代码中有三个示例。它们是一个 MVC 网页示例、两个桌面控制台和 WinForm 示例。
  示例中,明文写了一组APPKey以及对应的Secret和回调地址。如果你不改变它,这个例子应该可以正常工作。如果改成自己的Key出现错误,请自行谷歌设置回调地址。
  MVC 的示例设置稍微复杂一些。需要修改IIS Express的配置,使得网站可以通过127.0.0.1或192.16 8.0.100这样的IP地址是可以访问的,否则在回调过程中无法访问。MVC示例的主页上有修改教程。如果示例不起作用,请打开 Views\Home\Index.cshtml 查看是否已修改。
  Winform 示例运行截图
  
  
  网站示例运行截图
  
  还有一点需要注意的是,如果你使用的是VS2015,IIS Express配置文件applicationhost.config的地址不再是“Documents\IIS Express\”,而是在项目地址下的.vs目录下,这是一个隐藏目录, 直接在地址栏中输入路径即可访问。
  控制台示例运行的屏幕截图
  
  有调用腾讯微博的例子,但是腾讯的要求很严格。申请app需要网站验证,因为我用的是朋友的网站,所以请有需要的朋友或者自己注册app(腾讯微博开发者平台的api文档服务器是不是挂了?反正,我提不起来。)另外,在腾讯的例子中,有一种在微博上发图片的方法,严格按照腾讯api文档写的,但是不能正常使用。如果有朋友知道原因,请告诉我们。腾讯的例子只是为了说明新版SDK可以通过继承方便的扩展到微信开放平台、人人网等其他平台。请了解如何使用它。
  示例代码已收录在源代码中,具体请自行查阅代码。
  以上是新版本的全部内容。
  正如开头所说,新浪微博觉得大势已去,所以本次微博SDK不会更新新版本。本SDK第三版为最终版本,仅用于维护和BUG修正,不再添加或更新新内容。如果有继续对新浪开发平台感兴趣的朋友,请到GitHub上克隆代码,根据需要扩展功能。
  最后感谢QQ群里的所有朋友这几年的支持和鼓励,谢谢。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(WeiboSDK新浪微博SDKv3源码和示例(图))
  WeiboSDK 新浪微博SDK v3 源代码和示例前言
  时间过得真快,距离上次SDK更新已经3年多了。随着正式版的不断更新,老SDK的部分接口已经不能正常使用了。于是,QQ群里抱怨辱骂的朋友开始增多。随着时代的发展,微博已经被微信彻底甩掉,失去了兴趣;同时,对于我自己来说,在这个行业里为了生存而生存几年后,日子越来越不好过,我没有时间。然后和新浪官方同步更新SDK,所以自13年之后,V2版本的SDK就没有再更新了。虽然微博的风潮没了,但还是有很多朋友通过新浪开放平台页面下载了我发布的SDK。可以说,由于长期不更新,老版本严重误导了新朋友。这也是我开发的。SDK 新版本的另一个重要原因。SDK第三版的一些说明
  指示
  第一步是初始化客户端
  如果用户没有被授权
  使用微博开放平台后台提供的appkey、appsecret、callback_url初始化客户端。
  ", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "");
  然后获取授权页面地址,访问授权地址,获取Authorization_Code
  var url = openAuth.GetAuthorizationUrl();
  根据返回的Code兑换AccessToken
  openAuth.GetAccessTokenByCode("[CODE]");
if(openAuth.IsAuthorized)
{
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
}
  重要的!!!获取到AccessToken和UID后,请保存这两个数据,以后的接口调用会直接使用这两个参数,所以不需要每次都执行第一步和第二步。
  接下来就可以跳转到第二步调用官方API了。
  当然,如果你之前已经被授权并且已经获得了AccessToken和UID,那么使用下面的方法来初始化客户端。
  ", "", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "", "");
  之后就可以直接跳转到第二步调用API了。
  第二步调用接口
  这里提供了Get和Post两个方法调用官方API,也提供了异步支持。使用时根据官方文档的要求选择是使用Get还是Post调用API(调用方法在官方文档中有明确说明)。
  调用接口传递参数有两种方式。一个是传入一个Dictionary类型的参数组,一个是传入一个名为new的匿名类。我个人认为使用匿名类是非常科学的。
  例如调用API获取当前登录用户的最新微博
  {{"count", 5},{"page", 1},{"base_app", 0}}); //这里可以使用字典或者匿名类来传递参数,参数名,大小写,参数顺序和规范请参考官方api文档 if (result.IsSuccessStatusCode){Console.WriteLine(result.Content.ReadAsStringAsync( ).结果);}"&gt;
  var result = openAuth.HttpGet("statuses/friends_timeline.json",
new Dictionary
{
{"count", 5},
{"page", 1},
{"base_app" , 0}
}); //这里可以使用字典或者匿名类的方式传递参数,参数名称、大小写、参数顺序和规范请参照官方api文档
if (result.IsSuccessStatusCode)
{
Console.WriteLine(result.Content.ReadAsStringAsync().Result);
}
  另外,如果需要异步调用,请参考下面的例子。
  对象的类型也可以直接传入匿名类。参数对应官方api文档中的参数 new {uid = openAuth.UID});response.ContinueWith(task =&gt;{//asynchronous processing result});"&gt;
  // 调用获取获取用户信息api
// 参考:http://open.weibo.com/wiki/2/users/show
var response = openAuth.HttpGetAsync("users/show.json",
//可以传入一个Dictionary类型的对象,也可以直接传入一个匿名类。参数与官方api文档中的参数相对应
new {
uid = openAuth.UID
});
response.ContinueWith(task =>{
//异步处理结果
});
  如果使用.net4.5,可以直接使用async和await关键字来简化上述操作。
  另外,由于新浪官方限制现在产生了登录验证码,新版SDK不再提供之前版本的模拟登录获取授权(ClientLogin)。对于Winform和Console应用,可以参考NetDimension.OpenAuth.Winform类,该类提供了扩展方法,可以在上述两种项目类型中弹出授权窗口,并在用户授权后自动获取Authorization_Code。具体操作请参见Winform和Console示例代码。
  using NetDimension.OpenAuth.Winform;
...
var form = openAuth.GetAuthenticationForm();
if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Console.WriteLine("用户授权成功!");
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
//其他操作
//...
}
else
{
Console.WriteLine("用户授权失败!");
}
  执行上述代码时,会弹出下图所示的窗口。
  用户登录后,SDK 会使用正则表达式从回调地址中获取 Authorization_Code。
  关于源代码中的例子
  例子没什么好说的。源代码中有三个示例。它们是一个 MVC 网页示例、两个桌面控制台和 WinForm 示例。
  示例中,明文写了一组APPKey以及对应的Secret和回调地址。如果你不改变它,这个例子应该可以正常工作。如果改成自己的Key出现错误,请自行谷歌设置回调地址。
  MVC 的示例设置稍微复杂一些。需要修改IIS Express的配置,使得网站可以通过127.0.0.1或192.16 8.0.100这样的IP地址是可以访问的,否则在回调过程中无法访问。MVC示例的主页上有修改教程。如果示例不起作用,请打开 Views\Home\Index.cshtml 查看是否已修改。
  Winform 示例运行截图
  
  
  网站示例运行截图
  
  还有一点需要注意的是,如果你使用的是VS2015,IIS Express配置文件applicationhost.config的地址不再是“Documents\IIS Express\”,而是在项目地址下的.vs目录下,这是一个隐藏目录, 直接在地址栏中输入路径即可访问。
  控制台示例运行的屏幕截图
  
  有调用腾讯微博的例子,但是腾讯的要求很严格。申请app需要网站验证,因为我用的是朋友的网站,所以请有需要的朋友或者自己注册app(腾讯微博开发者平台的api文档服务器是不是挂了?反正,我提不起来。)另外,在腾讯的例子中,有一种在微博上发图片的方法,严格按照腾讯api文档写的,但是不能正常使用。如果有朋友知道原因,请告诉我们。腾讯的例子只是为了说明新版SDK可以通过继承方便的扩展到微信开放平台、人人网等其他平台。请了解如何使用它。
  示例代码已收录在源代码中,具体请自行查阅代码。
  以上是新版本的全部内容。
  正如开头所说,新浪微博觉得大势已去,所以本次微博SDK不会更新新版本。本SDK第三版为最终版本,仅用于维护和BUG修正,不再添加或更新新内容。如果有继续对新浪开发平台感兴趣的朋友,请到GitHub上克隆代码,根据需要扩展功能。
  最后感谢QQ群里的所有朋友这几年的支持和鼓励,谢谢。

使用新浪微博开放平台api同步微博内容至自己网站(直播服务器端安装及下载地址:PPVOD频道的输入与输出写法)

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

  使用新浪微博开放平台api同步微博内容至自己网站(直播服务器端安装及下载地址:PPVOD频道的输入与输出写法)
  应用场景:
  某幼儿园需要将教室的摄像头监控画面广播到互联网上,家长可以通过网络直播了解孩子在校情况。
  幼儿园安装了某品牌的摄像头,摄像头的编码为H264编码,网络摄像头的访问地址为:rtsp://admin:[emailprotected]:554/h264/ch1/main/av_stream,其中可以通过VLC软件查看地址的直播画面。
  网络和硬件构建如下:
  
  从上图可以看出,一台普通电脑和一套直播管理软件就可以在幼儿园现场采集摄像机的RTSP地址,然后通过客户端私有发送到网络服务器的直播平台。协议。一种观看直播监控画面的手机。
  
  客户端通道的输入输出写入
  
  要使用私有协议,请在服务器端打开端口 28002。输入源写的是:client://client通道ID,写哪个通道字符串来接收哪个通道的流,输出默认的HLS,并保存。
  由于普通摄像头不具备rtmp码流的功能,需要使用直播软件将获取到的RTSP码流推送到网络服务器。PPVOD直播软件不仅具有各种协议转换功能,还能通过私有协议将流从本地推送到网络。服务器。PPVOD直播软件的客户端私有协议传输安全性高,频道识别随机性强,隐蔽性好,不能被外界破解。它是流媒体的最佳选择。
  该方案成本低,无需特殊相机设置,应用范围广。目前,市场上90%以上的摄像机使用h264编码,无需转码。如果摄像机的音频不标准或者没有音频输入,我们的直播平台会做相应的处理,以满足直播的需要。
  如果摄像机端基于公网静态IP环境,服务器端可以直接获取摄像机的网络rtsp地址作为输入源,可以跳过在摄像机网络安装直播系统的步骤。
  Live服务器端安装下载地址:
  PPVOD视频点播系统下载地址:
  PPVOD全能直播软件下载地址: 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(直播服务器端安装及下载地址:PPVOD频道的输入与输出写法)
  应用场景:
  某幼儿园需要将教室的摄像头监控画面广播到互联网上,家长可以通过网络直播了解孩子在校情况。
  幼儿园安装了某品牌的摄像头,摄像头的编码为H264编码,网络摄像头的访问地址为:rtsp://admin:[emailprotected]:554/h264/ch1/main/av_stream,其中可以通过VLC软件查看地址的直播画面。
  网络和硬件构建如下:
  
  从上图可以看出,一台普通电脑和一套直播管理软件就可以在幼儿园现场采集摄像机的RTSP地址,然后通过客户端私有发送到网络服务器的直播平台。协议。一种观看直播监控画面的手机。
  
  客户端通道的输入输出写入
  
  要使用私有协议,请在服务器端打开端口 28002。输入源写的是:client://client通道ID,写哪个通道字符串来接收哪个通道的流,输出默认的HLS,并保存。
  由于普通摄像头不具备rtmp码流的功能,需要使用直播软件将获取到的RTSP码流推送到网络服务器。PPVOD直播软件不仅具有各种协议转换功能,还能通过私有协议将流从本地推送到网络。服务器。PPVOD直播软件的客户端私有协议传输安全性高,频道识别随机性强,隐蔽性好,不能被外界破解。它是流媒体的最佳选择。
  该方案成本低,无需特殊相机设置,应用范围广。目前,市场上90%以上的摄像机使用h264编码,无需转码。如果摄像机的音频不标准或者没有音频输入,我们的直播平台会做相应的处理,以满足直播的需要。
  如果摄像机端基于公网静态IP环境,服务器端可以直接获取摄像机的网络rtsp地址作为输入源,可以跳过在摄像机网络安装直播系统的步骤。
  Live服务器端安装下载地址:
  PPVOD视频点播系统下载地址:
  PPVOD全能直播软件下载地址:

使用新浪微博开放平台api同步微博内容至自己网站(历时三天,新浪微博APP分享是未审核的应用了 )

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

  使用新浪微博开放平台api同步微博内容至自己网站(历时三天,新浪微博APP分享是未审核的应用了
)
  新浪微博开放平台申请已通过审核,历时三天。看来这没什么,还是写下来分享一下吧。下次共享不再是未经审查的应用程序。这个新浪APP。. . . 申请的时候还以为不会通过,因为我的域名没有注册。就像百度联盟一样,如果是真的就好了。新浪微博APP功能及性能:2.1个崩溃的应用程序将被拒绝;2.2个有错误的应用将被拒绝;2.3 不匹配开发者的推广应用将被拒绝;2.4 没有申请文件或隐藏功能与描述不符的应用将被拒绝;2.5 使用非公开 API 的应用将被拒绝;2. 6 在指定容器外读写数据的应用将被拒绝;2.7 以任何方式或形式下载代码的应用将被拒绝;2.8 安装或发布其他可执行代码2.9 演示版、试用版和测试版的申请将被拒绝;2.10个与新浪微博开放平台现有申请重复的申请可能会被拒绝,尤其是数量大的时候;2.11个没有明显目的或提供任何持久娱乐价值的应用程序可能会被拒绝;2.12个主要内容为营销或广告的应用程序将被拒绝;2.13个欺骗性或虚假功能,未明确标记的应用程序将被拒绝;2. 14 互联网浏览应用必须使用新浪微博开放平台提供的网页框架;2.15 提供 诊断错误或其他不准确数据的申请将被拒绝;2.16 将大量类似版本应用上传至新浪微博开放平台的开发者将被移除开发者项目;2.17个使用非法文件共享的应用将被拒绝;2.18个旨在用作非法赌博辅助工具(包括算牌)的应用程序将被拒绝;2. 19 具有匿名或恶作剧功能或发送类似短信/彩信功能的应用程序将被拒绝;2.20名开发者开发秘密采集用户密码或用户隐私数据的应用程序将从新浪微博开放平台下架;2. 21 应用程序中不允许弹出窗口;2.22 申请内容访问速度过慢,内容响应速度平均超过6秒,会被拒绝。最后,上图:
  
  
  
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(历时三天,新浪微博APP分享是未审核的应用了
)
  新浪微博开放平台申请已通过审核,历时三天。看来这没什么,还是写下来分享一下吧。下次共享不再是未经审查的应用程序。这个新浪APP。. . . 申请的时候还以为不会通过,因为我的域名没有注册。就像百度联盟一样,如果是真的就好了。新浪微博APP功能及性能:2.1个崩溃的应用程序将被拒绝;2.2个有错误的应用将被拒绝;2.3 不匹配开发者的推广应用将被拒绝;2.4 没有申请文件或隐藏功能与描述不符的应用将被拒绝;2.5 使用非公开 API 的应用将被拒绝;2. 6 在指定容器外读写数据的应用将被拒绝;2.7 以任何方式或形式下载代码的应用将被拒绝;2.8 安装或发布其他可执行代码2.9 演示版、试用版和测试版的申请将被拒绝;2.10个与新浪微博开放平台现有申请重复的申请可能会被拒绝,尤其是数量大的时候;2.11个没有明显目的或提供任何持久娱乐价值的应用程序可能会被拒绝;2.12个主要内容为营销或广告的应用程序将被拒绝;2.13个欺骗性或虚假功能,未明确标记的应用程序将被拒绝;2. 14 互联网浏览应用必须使用新浪微博开放平台提供的网页框架;2.15 提供 诊断错误或其他不准确数据的申请将被拒绝;2.16 将大量类似版本应用上传至新浪微博开放平台的开发者将被移除开发者项目;2.17个使用非法文件共享的应用将被拒绝;2.18个旨在用作非法赌博辅助工具(包括算牌)的应用程序将被拒绝;2. 19 具有匿名或恶作剧功能或发送类似短信/彩信功能的应用程序将被拒绝;2.20名开发者开发秘密采集用户密码或用户隐私数据的应用程序将从新浪微博开放平台下架;2. 21 应用程序中不允许弹出窗口;2.22 申请内容访问速度过慢,内容响应速度平均超过6秒,会被拒绝。最后,上图:
  
  
  
  

使用新浪微博开放平台api同步微博内容至自己网站(获得新浪微博AccessToken的步骤是怎样的?(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(获得新浪微博AccessToken的步骤是怎样的?(图))
  获得新浪微博AccessToken的步骤是这样的
  参考:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  
  1.首先让用户授权你的APP获取代码
  例如:点击下方链接授权后,在url上会得到一个code参数
  ://
  2.将此代码发送到服务器接口。服务端收到代码后,执行下载文件中的代码返回AccessToken(或直接从服务端获取Token,执行微博API的各种操作)
  代码示例:
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.weibo.com/oauth2/access_token");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;";
request.Headers.Add(string.Format("Authorization: key={0}", "123456"));
string postData = "client_id=123456";
postData += ("&client_secret=123456");
postData += ("&grant_type=authorization_code");
postData += ("&redirect_uri=http://www.cfxixi.com");
postData += ("&code=123456");
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
//發出Request
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseStr = reader.ReadToEnd();
reader.Close();
responseStream.Close();
response.Close();
  Demo下载可以到我的Q群分享下载250395324 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(获得新浪微博AccessToken的步骤是怎样的?(图))
  获得新浪微博AccessToken的步骤是这样的
  参考:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  
  1.首先让用户授权你的APP获取代码
  例如:点击下方链接授权后,在url上会得到一个code参数
  ://
  2.将此代码发送到服务器接口。服务端收到代码后,执行下载文件中的代码返回AccessToken(或直接从服务端获取Token,执行微博API的各种操作)
  代码示例:
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.weibo.com/oauth2/access_token";);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;";
request.Headers.Add(string.Format("Authorization: key={0}", "123456"));
string postData = "client_id=123456";
postData += ("&client_secret=123456");
postData += ("&grant_type=authorization_code");
postData += ("&redirect_uri=http://www.cfxixi.com";);
postData += ("&code=123456");
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
//發出Request
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseStr = reader.ReadToEnd();
reader.Close();
responseStream.Close();
response.Close();
  Demo下载可以到我的Q群分享下载250395324

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台文章同步到新浪微博的几种方法(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台文章同步到新浪微博的几种方法(图))
  .
  WordPress文章同步新浪微博的几种方式
  相信现在很多网友都用过微博了,微博也挺火的!在使用WordPress的博主中,使用微博的人数可能更多,因为博客圈里有一种观点:微博是一个很好的推广平台。新浪微博是比较流行的一种。也许你听说过如何将WordPress 文章 同步发布到新浪微博,但我在这里不得不啰嗦一下。它可能与您之前看到的有所不同。. 插件的方法我就不介绍了,大家需要上网搜一下。
  方法一:关联博客。方法一其实很简单。您可以直接使用新浪微博的关联博客功能。使用方法:点击新浪微博右上角的“工具”菜单,然后点击“关联博客”填写你的博客链接!这样,你的博客每更新一次文章,就会同时发送一条格式如下的微博到新浪微博:文章Title + 文章 URL 方式二:微博开放平台界面
  方法一只能以文章标题+文章 URL的形式同步到新浪微博,微博内容无法自定义。使用新浪微博的开放平台界面可以大大增加自由度,但是需要写一些代码,其实很简单,复制粘贴代码即可。打开你的当前
  使用主题目录下的functions.php,复制以下代码到第一个 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台文章同步到新浪微博的几种方法(图))
  .
  WordPress文章同步新浪微博的几种方式
  相信现在很多网友都用过微博了,微博也挺火的!在使用WordPress的博主中,使用微博的人数可能更多,因为博客圈里有一种观点:微博是一个很好的推广平台。新浪微博是比较流行的一种。也许你听说过如何将WordPress 文章 同步发布到新浪微博,但我在这里不得不啰嗦一下。它可能与您之前看到的有所不同。. 插件的方法我就不介绍了,大家需要上网搜一下。
  方法一:关联博客。方法一其实很简单。您可以直接使用新浪微博的关联博客功能。使用方法:点击新浪微博右上角的“工具”菜单,然后点击“关联博客”填写你的博客链接!这样,你的博客每更新一次文章,就会同时发送一条格式如下的微博到新浪微博:文章Title + 文章 URL 方式二:微博开放平台界面
  方法一只能以文章标题+文章 URL的形式同步到新浪微博,微博内容无法自定义。使用新浪微博的开放平台界面可以大大增加自由度,但是需要写一些代码,其实很简单,复制粘贴代码即可。打开你的当前
  使用主题目录下的functions.php,复制以下代码到第一个

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博:山寨版的twitter,各种粉丝的登录逻辑)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博:山寨版的twitter,各种粉丝的登录逻辑)
  新浪微博:盗版推特,各种粉丝的集散地,天朝国人的最爱,基本上所有网友都有微博账号,所以使用新浪微博账号进行三向登录就显得尤为重要改善用户登录体验。这次我用Python3+Tornado5集成了微博登录,记录一下,还是有很多坑。
  首先注册微博开放平台:
  选择微链接-》网站访问=&gt;立即访问创建新应用
  
  应用创建成功后,会立即跳转到审核页面。您需要填写一些资格进行审核。其实这些review的领域是不需要打理的,申请完全不需要通过review
  
  直接拿到appkey和appsecret,然后马上点击高级信息填写回调URL
  
  需要注意的是,回调授权和取消回调授权地址需要一致
  那么新浪微博的登录逻辑就很简单了:拼接url=&gt;回调获取code=&gt;uid和access_token交换code=&gt;使用access_token获取用户信息
  首先第一步是拼接url,这里我们使用Tornado来编写控制器
  #新浪微博登录地址组合返回(第一步)
class SinaFirstHandler(BaseHandler):
def get(self,*args,**kwargs):
#微博接口地址
weibo_auth_url = "https://api.weibo.com/oauth2/authorize"
#回调网址
redirect_url = "http://127.0.0.1:8000/md_admin/weibo"
#应用id
client_id = "2636039333"
#组合url
auth_url = weibo_auth_url + "?client_id={client_id}&redirect_uri={re_url}".format(client_id=client_id,
re_url=redirect_url)
self.write(auth_url)
  第二步,回调获取code,交换access_token和uid
  #新浪微博回调地址(第二步)
class SinaBackHandler(BaseHandler):
def get(self,*args,**kwargs):
#获取回调的code
code = self.get_argument('code')
#微博认证地址
access_token_url = "https://api.weibo.com/oauth2/access_token"
#参数 向新浪接口发送请求
re_dict = requests.post(access_token_url,data={
"client_id": '2636039333',
"client_secret": "4e2fbdb39432c31dc5c2f90be3afa5ce",
"grant_type": "authorization_code",
"code": code,
"redirect_uri": "http://127.0.0.1:8000/md_admin/weibo",
})
re_dict = re_dict.text
re_dict = eval(re_dict)
print(re_dict.get('uid'))
self.write(re_dict)
  接下来的情况就有点乱了,因为新浪规定,如果申请没有通过审核,那么部分新浪接口是没有权限请求的。可以说,你手上只有access_token和uid,其他的也改不了。我该怎么办,没有人会免费拿到营业执照来测试接口,但是有一个曲线救国,就是在测试信息页面上添加一个测试帐户。添加测试账号后,就可以请求相应的接口了。
  
  最后使用你手上的access_token和uid获取当前用户的用户名
  result = requests.get('https://api.weibo.com/2/users/show.json',params={'access_token':res['access_token'],'uid':res['uid']})
result = json.loads(result.text)
print(result['name'])
  可以看到接口请求成功
  
  完成它。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博:山寨版的twitter,各种粉丝的登录逻辑)
  新浪微博:盗版推特,各种粉丝的集散地,天朝国人的最爱,基本上所有网友都有微博账号,所以使用新浪微博账号进行三向登录就显得尤为重要改善用户登录体验。这次我用Python3+Tornado5集成了微博登录,记录一下,还是有很多坑。
  首先注册微博开放平台:
  选择微链接-》网站访问=&gt;立即访问创建新应用
  
  应用创建成功后,会立即跳转到审核页面。您需要填写一些资格进行审核。其实这些review的领域是不需要打理的,申请完全不需要通过review
  
  直接拿到appkey和appsecret,然后马上点击高级信息填写回调URL
  
  需要注意的是,回调授权和取消回调授权地址需要一致
  那么新浪微博的登录逻辑就很简单了:拼接url=&gt;回调获取code=&gt;uid和access_token交换code=&gt;使用access_token获取用户信息
  首先第一步是拼接url,这里我们使用Tornado来编写控制器
  #新浪微博登录地址组合返回(第一步)
class SinaFirstHandler(BaseHandler):
def get(self,*args,**kwargs):
#微博接口地址
weibo_auth_url = "https://api.weibo.com/oauth2/authorize"
#回调网址
redirect_url = "http://127.0.0.1:8000/md_admin/weibo"
#应用id
client_id = "2636039333"
#组合url
auth_url = weibo_auth_url + "?client_id={client_id}&redirect_uri={re_url}".format(client_id=client_id,
re_url=redirect_url)
self.write(auth_url)
  第二步,回调获取code,交换access_token和uid
  #新浪微博回调地址(第二步)
class SinaBackHandler(BaseHandler):
def get(self,*args,**kwargs):
#获取回调的code
code = self.get_argument('code')
#微博认证地址
access_token_url = "https://api.weibo.com/oauth2/access_token"
#参数 向新浪接口发送请求
re_dict = requests.post(access_token_url,data={
"client_id": '2636039333',
"client_secret": "4e2fbdb39432c31dc5c2f90be3afa5ce",
"grant_type": "authorization_code",
"code": code,
"redirect_uri": "http://127.0.0.1:8000/md_admin/weibo",
})
re_dict = re_dict.text
re_dict = eval(re_dict)
print(re_dict.get('uid'))
self.write(re_dict)
  接下来的情况就有点乱了,因为新浪规定,如果申请没有通过审核,那么部分新浪接口是没有权限请求的。可以说,你手上只有access_token和uid,其他的也改不了。我该怎么办,没有人会免费拿到营业执照来测试接口,但是有一个曲线救国,就是在测试信息页面上添加一个测试帐户。添加测试账号后,就可以请求相应的接口了。
  
  最后使用你手上的access_token和uid获取当前用户的用户名
  result = requests.get('https://api.weibo.com/2/users/show.json',params={'access_token':res['access_token'],'uid':res['uid']})
result = json.loads(result.text)
print(result['name'])
  可以看到接口请求成功
  
  完成它。

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发一个基于sina微博开放平台的应用(App)(组图))
  本文文章主要介绍使用Java验证通过OAuth协议发送微博的教程。它使用新浪微博为Java开放的API weibo4j。有需要的朋友可以参考
  新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有基本接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是看了新浪微博开放平台上的一系列解释,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证和授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再回头看这个流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对各个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,该服务在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。事实上,浏览器被重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),Provider会被重定向到流程1Consumer提供的Callback_URL,URL参数附加OAuth Token和 OAuth 验证程序。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问相应User存储在Provider中的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的了解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  此外,在上图中,Consumer 向 Provider 发出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。下面是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
   package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式认证 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 准备好Consumer Key、Consumer Secret // 对应于新浪微博应用就是申请到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根据传入的 callback_url 获取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并获得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("获取Request token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 request token 和 verifier 获取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("获取Access token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 Access Token 和内容发表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功发表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博内容转编码发生异常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println("发表微博发生异常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。 请点击进行Web方式的OAuth认证!
  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
   writeWeibo.html,很简单的HTML文件。 发布sina微博 请在这里写上140字符以内的文本:</br>测试新浪微博!</br></br> updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。
  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包也要添加到\WEB-INF\lib目录下,以及weibo4j.jar(里面是具体的新浪微博开放平台中的Java实现)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码并授权。以下是我用来测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我试了很多次才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息cookie已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改用于授权;
  3、 控制台中也有一些输入的信息,比如Token、URL、服务器返回信息等,截图中没有显示。
  以上就是使用Java验证OAuth协议发送微博的教程的详细内容。更多详情请关注其他相关html中文网站文章! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发一个基于sina微博开放平台的应用(App)(组图))
  本文文章主要介绍使用Java验证通过OAuth协议发送微博的教程。它使用新浪微博为Java开放的API weibo4j。有需要的朋友可以参考
  新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有基本接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是看了新浪微博开放平台上的一系列解释,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证和授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再回头看这个流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对各个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,该服务在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。事实上,浏览器被重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),Provider会被重定向到流程1Consumer提供的Callback_URL,URL参数附加OAuth Token和 OAuth 验证程序。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问相应User存储在Provider中的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的了解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  此外,在上图中,Consumer 向 Provider 发出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。下面是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
   package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式认证 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 准备好Consumer Key、Consumer Secret // 对应于新浪微博应用就是申请到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根据传入的 callback_url 获取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并获得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("获取Request token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 request token 和 verifier 获取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("获取Access token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 Access Token 和内容发表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功发表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博内容转编码发生异常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println("发表微博发生异常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。 请点击进行Web方式的OAuth认证!
  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
   writeWeibo.html,很简单的HTML文件。 发布sina微博 请在这里写上140字符以内的文本:</br>测试新浪微博!</br></br> updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。
  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包也要添加到\WEB-INF\lib目录下,以及weibo4j.jar(里面是具体的新浪微博开放平台中的Java实现)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码并授权。以下是我用来测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我试了很多次才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息cookie已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改用于授权;
  3、 控制台中也有一些输入的信息,比如Token、URL、服务器返回信息等,截图中没有显示。
  以上就是使用Java验证OAuth协议发送微博的教程的详细内容。更多详情请关注其他相关html中文网站文章!

使用新浪微博开放平台api同步微博内容至自己网站(腾讯微博开放平台开发者服务协议如何开发微博应用?(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(腾讯微博开放平台开发者服务协议如何开发微博应用?(图))
  腾讯微博开放平台API现已开放。使用腾讯微博开放平台提供的API创建自己的应用程序,您必须先填写个人信息,联系邮箱验证,取得开发者资质,才能创建自己的应用程序。腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧将创造无穷无尽的应用和乐趣。
  平台说明:
  腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧,创造无穷的应用和乐趣!
  平台介绍——微博开放平台可以获得的资源和优势
  应用程序开发说明-讲解如何成为开发人员并创建应用程序
  申请审核流程——审核申请源字段的好处,以及如何审核
  开发者协议——在此查看腾讯微博开放平台开发者服务协议
  如何开发微博应用?(立即成为开发人员)
  您只需要按照以下步骤操作:
  第一步:填写您的开发者信息;
  第二步:验证联系邮箱;(电子邮件将作为我们与您联系的重要方式,请提供常用的电子邮件地址)
  第三步:填写要创建的应用信息。
  您可以立即获取微博App Key和App Secret,调用微博API,开始应用开发。查看详细说明
  ----
  代表中国最先进互联网技术的腾讯终于迈出了开放的第一步:-) 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(腾讯微博开放平台开发者服务协议如何开发微博应用?(图))
  腾讯微博开放平台API现已开放。使用腾讯微博开放平台提供的API创建自己的应用程序,您必须先填写个人信息,联系邮箱验证,取得开发者资质,才能创建自己的应用程序。腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧将创造无穷无尽的应用和乐趣。
  平台说明:
  腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧,创造无穷的应用和乐趣!
  平台介绍——微博开放平台可以获得的资源和优势
  应用程序开发说明-讲解如何成为开发人员并创建应用程序
  申请审核流程——审核申请源字段的好处,以及如何审核
  开发者协议——在此查看腾讯微博开放平台开发者服务协议
  如何开发微博应用?(立即成为开发人员)
  您只需要按照以下步骤操作:
  第一步:填写您的开发者信息;
  第二步:验证联系邮箱;(电子邮件将作为我们与您联系的重要方式,请提供常用的电子邮件地址)
  第三步:填写要创建的应用信息。
  您可以立即获取微博App Key和App Secret,调用微博API,开始应用开发。查看详细说明
  ----
  代表中国最先进互联网技术的腾讯终于迈出了开放的第一步:-)

使用新浪微博开放平台api同步微博内容至自己网站(有些特殊的emoji表情符会被「同步圈」识别错误!)

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

  使用新浪微博开放平台api同步微博内容至自己网站(有些特殊的emoji表情符会被「同步圈」识别错误!)
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博账号逐渐被抛弃,而这个工具可以帮你自动同步任何朋友圈图文内容到你的微博。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址在这里。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信账号,很快就会通过验证。
  接下来,您需要将二维码下方的四位验证码发送到“同步圈”账号,系统会提示您绑定成功!
  经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情符号不一致造成的。
  从原理上看,“同步圈”调用了微信朋友圈侧的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送同样的内容内容出去。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  遗憾的是,根据pc6编辑对腾讯和微信团队的了解,这个同步圈的“小聪明”可能很快就会失败。
  安卓版
  
  新浪微博类型:社交聊天 大小:39.9M 版本:v5.6.0 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(有些特殊的emoji表情符会被「同步圈」识别错误!)
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博账号逐渐被抛弃,而这个工具可以帮你自动同步任何朋友圈图文内容到你的微博。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址在这里。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信账号,很快就会通过验证。
  接下来,您需要将二维码下方的四位验证码发送到“同步圈”账号,系统会提示您绑定成功!
  经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情符号不一致造成的。
  从原理上看,“同步圈”调用了微信朋友圈侧的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送同样的内容内容出去。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  遗憾的是,根据pc6编辑对腾讯和微信团队的了解,这个同步圈的“小聪明”可能很快就会失败。
  安卓版
  
  新浪微博类型:社交聊天 大小:39.9M 版本:v5.6.0

使用新浪微博开放平台api同步微博内容至自己网站(郑敏先任职于)

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

  使用新浪微博开放平台api同步微博内容至自己网站(郑敏先任职于)
  作者简介:郑敏贤,曾任职,售前工程师。从事SDN、白盒交换机等开放网络产品的推广。
  
  成立于 2005 年。该公司提供了一个开源网络操作系统,也称为 Vyatta,可以在商用硬件上运行。Vyatta 的名字取自梵文中的“open”,发音为“vee-at-ah”。2006年,推出Vyatta商业订阅版,每年定价500美元。
  
  随着云计算的发展,Vyatta得到了众多公有云厂商的支持。例如,AWS Marketplace 中的第一个虚拟路由器应用程序是 Vyatta:
  
  2012年11月博科收购Vyatta后,开源社区版被取消,软件更名为Vyatta vRouter。但 Vyatta 的开源之路并没有结束。为了响应博科停止 Vyatta 社区版的决定,独立开发人员从 Vyatta Core 6.6 R1 版本(VyOS 开源软件项目)中分出一个分支。
  从 Vyatta 到 dNOS
  Vyatta 于 2017 年 7 月被 AT&amp;T 收购。 Vyatta NOS 构成了 AT&amp;T 开源 dNOS(分解网络操作系统)平台的基础。
  dNOS 由硬件和软件组件组成:
  AT&amp;T 在这些场景中使用 dNOS 软件:
  
  dNOS功能及组件图
  简单分析一下上图中的三个层次:
  1、应用程序是路由器上控制平面或管理平面组件的任何网络功能。
  2、共享基础设施和数据。NOS 必须能够使用通用方法和协议在来自不同供应商的应用程序之间共享数据。dNOS 的一个关键目标是创建一个促进应用程序之间共享的开放环境。为此,dNOS 包括通用基础设施组件和共享数据结构。
  基本网络状态信息存储在一组通用共享数据结构中。这些数据结构包括有关接口状态、邻居解析表和转发信息库 (FIB) 状态的信息。应用程序使用通用方法更新相关的基本网络状态共享数据。
  所有共享基础设施数据都由使用合适的标准数据结构和/或数据建模语言(例如,YANG)表达的标准化数据模型定义。数据共享基础设施和基础网络状态共享数据结构实现了不同协议之间公共数据的共享(例如,经典IGP可访问的链路状态数据,如用于SDN控制应用的OSPF和ISIS和BGP-LS),以及优雅的协议选择的演变(例如,使用 gRPC 而不是 SNMP 来采集 OAM 数据)。
  用户、业务流程和数据导出接口提供了一个通用的基础设施,用于将应用程序和系统基础设施连接到外部系统以进行管理和分析。ONAP管控系统北向接口包括NetConf/YANG和gRPC,支持流式和(传统)轮询机制进行遥测数据采集。
  3、dNOS 包括一组支持多个不同转发层的组件。转发抽象层 (FAL) 负责从共享基础设施和数据组件获取高级网络状态输入,并将它们转换为供应商特定的 API,用于各种软件和硬件转发选项:
  FAL 的目标是让 ASIC 供应商多样化,多个 ASIC 共享一个与目标无关的公共抽象层。FAL 的长期目标是收录支持完全可编程硬件管道的抽象。这种抽象将基于正式的网络编程语言,例如 P4 或其他类似的行业认可的标准化语言。
  从 dNOS 到 DANOS
  AT&amp;T 于 2018 年初向 Linux 基金会贡献了 dNOS 作为种子代码,Linux 基金会据此建立了 DANOS 项目。DANOS(Dis-Aggregated Network Operating System)将提供一个开放的 NOS 框架,使用现有的开源资源和硬件平台,如白盒交换机、白盒路由器和 uCPE。Vyatta第四代架构引入了商用芯片+软件转发的混合转发模式。采用Vyatta第四代架构的DANOS预计将于2019年第一季度正式发布。
  
  DANOS专注于硬件/软件分解,超越云数据中心网络功能,创建和培育路由软件组件供应商生态系统,提供创新的网络解决方案,满足城域网/广域网(包括蜂窝网络)规模化、快速发展的功能需求。站点路由器、城域以太网服务和 RAN 回程路由器/交换机、互联网和 VPN 服务边缘路由器、运营商间 POP 互连结构、骨干核心路由器等)。DANOS 目前计划支持这五个操作系统:dNOS、FRR、SONiC、OpenSwitch 和 Stratum。
  DANOS的三大特点:
  
  DANOS/dNOS详细架构图(颜色对应之前的“dNOS功能和组件图”)
  对比上图,我粗略介绍一下DANOS的控制和管理平面、基础操作系统和数据平面:
  控制和管理平面:基本操作系统:数据平面:参考:
  1、%20whitepaper.pdf
  2、
  3、 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(郑敏先任职于)
  作者简介:郑敏贤,曾任职,售前工程师。从事SDN、白盒交换机等开放网络产品的推广。
  
  成立于 2005 年。该公司提供了一个开源网络操作系统,也称为 Vyatta,可以在商用硬件上运行。Vyatta 的名字取自梵文中的“open”,发音为“vee-at-ah”。2006年,推出Vyatta商业订阅版,每年定价500美元。
  
  随着云计算的发展,Vyatta得到了众多公有云厂商的支持。例如,AWS Marketplace 中的第一个虚拟路由器应用程序是 Vyatta:
  
  2012年11月博科收购Vyatta后,开源社区版被取消,软件更名为Vyatta vRouter。但 Vyatta 的开源之路并没有结束。为了响应博科停止 Vyatta 社区版的决定,独立开发人员从 Vyatta Core 6.6 R1 版本(VyOS 开源软件项目)中分出一个分支。
  从 Vyatta 到 dNOS
  Vyatta 于 2017 年 7 月被 AT&amp;T 收购。 Vyatta NOS 构成了 AT&amp;T 开源 dNOS(分解网络操作系统)平台的基础。
  dNOS 由硬件和软件组件组成:
  AT&amp;T 在这些场景中使用 dNOS 软件:
  
  dNOS功能及组件图
  简单分析一下上图中的三个层次:
  1、应用程序是路由器上控制平面或管理平面组件的任何网络功能。
  2、共享基础设施和数据。NOS 必须能够使用通用方法和协议在来自不同供应商的应用程序之间共享数据。dNOS 的一个关键目标是创建一个促进应用程序之间共享的开放环境。为此,dNOS 包括通用基础设施组件和共享数据结构。
  基本网络状态信息存储在一组通用共享数据结构中。这些数据结构包括有关接口状态、邻居解析表和转发信息库 (FIB) 状态的信息。应用程序使用通用方法更新相关的基本网络状态共享数据。
  所有共享基础设施数据都由使用合适的标准数据结构和/或数据建模语言(例如,YANG)表达的标准化数据模型定义。数据共享基础设施和基础网络状态共享数据结构实现了不同协议之间公共数据的共享(例如,经典IGP可访问的链路状态数据,如用于SDN控制应用的OSPF和ISIS和BGP-LS),以及优雅的协议选择的演变(例如,使用 gRPC 而不是 SNMP 来采集 OAM 数据)。
  用户、业务流程和数据导出接口提供了一个通用的基础设施,用于将应用程序和系统基础设施连接到外部系统以进行管理和分析。ONAP管控系统北向接口包括NetConf/YANG和gRPC,支持流式和(传统)轮询机制进行遥测数据采集。
  3、dNOS 包括一组支持多个不同转发层的组件。转发抽象层 (FAL) 负责从共享基础设施和数据组件获取高级网络状态输入,并将它们转换为供应商特定的 API,用于各种软件和硬件转发选项:
  FAL 的目标是让 ASIC 供应商多样化,多个 ASIC 共享一个与目标无关的公共抽象层。FAL 的长期目标是收录支持完全可编程硬件管道的抽象。这种抽象将基于正式的网络编程语言,例如 P4 或其他类似的行业认可的标准化语言。
  从 dNOS 到 DANOS
  AT&amp;T 于 2018 年初向 Linux 基金会贡献了 dNOS 作为种子代码,Linux 基金会据此建立了 DANOS 项目。DANOS(Dis-Aggregated Network Operating System)将提供一个开放的 NOS 框架,使用现有的开源资源和硬件平台,如白盒交换机、白盒路由器和 uCPE。Vyatta第四代架构引入了商用芯片+软件转发的混合转发模式。采用Vyatta第四代架构的DANOS预计将于2019年第一季度正式发布。
  
  DANOS专注于硬件/软件分解,超越云数据中心网络功能,创建和培育路由软件组件供应商生态系统,提供创新的网络解决方案,满足城域网/广域网(包括蜂窝网络)规模化、快速发展的功能需求。站点路由器、城域以太网服务和 RAN 回程路由器/交换机、互联网和 VPN 服务边缘路由器、运营商间 POP 互连结构、骨干核心路由器等)。DANOS 目前计划支持这五个操作系统:dNOS、FRR、SONiC、OpenSwitch 和 Stratum。
  DANOS的三大特点:
  
  DANOS/dNOS详细架构图(颜色对应之前的“dNOS功能和组件图”)
  对比上图,我粗略介绍一下DANOS的控制和管理平面、基础操作系统和数据平面:
  控制和管理平面:基本操作系统:数据平面:参考:
  1、%20whitepaper.pdf
  2、
  3、

使用新浪微博开放平台api同步微博内容至自己网站(基于python的开放平台签名、加密解密以及授权认证测试体系)

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

  使用新浪微博开放平台api同步微博内容至自己网站(基于python的开放平台签名、加密解密以及授权认证测试体系)
  目前,大型顶级公司拥有非常成熟的开放平台服务,如微信开放平台、新浪微博开放平台、支付宝开放平台等。开放平台的发展为第三方个人或公司提供了巨大的机会。开发者想要接入各大开放平台,必须遵守开放平台的安全机制,实现业务逻辑的前提。一是实现签名验证、加解密、授权鉴权机制。
  本文介绍了基于python的开放平台签名认证测试系统,可用于第三方应用的沙箱测试,也可应用于服务商相关系统的综合测试。
  
  一、简介
  开放平台是指大型企业以业务+场景+解决方案+技术的优势,将自身的数据能力、计算能力、用户系统、产品能力等资源打包,通过openAPI、openSDK等方式向第三方个人或个人开放,和 openH5。企业使用,实现第三方与服务商企业自身的互利共赢。
  目前各大厂商的开放平台都比较成熟,如微信开放平台、新浪微博开放平台、支付宝开放平台等。与此同时,各大商业银行也在大力发展自身的开放银行服务。作为第三方开发者,一般来说,接入开放平台有一个相对统一的流程。下图为微信开放平台开通流程。
  
  图1 微信开放平台接入流程
  如图1第三步所示,应用上线前,必须进行必要的测试。业务逻辑测试的前提是测试签名验证、加解密、授权认证等安全认证机制。python社区非常成熟,广泛应用于机器学习、数据分析、网络爬虫、自动化脚本等诸多领域。
  在web开发方面,目前有很多公司如Instagram、Quora、Lyft、Dropbox、知乎等后端使用python进行开发。本文介绍了基于python的签名验证、加解密、授权认证测试的实现。
  二、签名验证
  第三方个人或企业通过开放平台门户网站提交申请成为开发者。开发者资质认证通过后,开发者通常会从服务商处获得自己的appid、appsecret和证书。该证书收录第一个 第三方开发者的私钥和服务提供者的公钥。
  服务提供商保留第三方开发者的公钥和自己的私钥。开发者使用自己的私钥进行签名,并将消息发送到开放平台服务器。服务器验证通过后,会使用自己的私钥对返回给开发者的消息进行签名,开发者收到返回消息后,使用服务方提供的公钥进行验证。通过这个过程,开发者和服务端可以相互确认发送的消息没有被中间人篡改。
  本文的签名验证使用RSA算法进行演示。使用Python的Crypto库,安装时需要使用pip或conda等其他包管理工具。
  一般来说,开发者需要对消息的每个字段进行预处理。
  1.去除请求字典中的所有空值或不必要的参数(如sign、sign_type等);
  2. 对字典进行排序(按照ASCII码从小到大);
  3. 按照“参数=参数值”的模式,将字典中的所有元素用“&amp;”字符组合成一个字符串。
  数据预处理功能如下图所示:
  
  图2 数据预处理功能
  当开发者发送消息时,会使用Hash函数从消息中生成摘要,然后用私人消息对摘要进行加密。加密后的摘要用作消息的数字签名,并与消息一起发送到服务器。下图展示了RSA算法的签名函数的实现:
  
  图3 数字签名功能
  首先使用hash_method函数选择要使用的digest算法,可以根据实际情况重构函数。这里演示了 MD5 和 SHA256 算法的示例。签名函数首先要读取开发者的私钥,然后使用RSA算法完成签名。
  开发者收到服务器返回的消息后,使用相同的Hash函数从接收到的原创消息中计算出消息的摘要,然后使用发送方的公钥对消息所附的数字签名进行解密,如果两个摘要是一致,开发​​者可以确认消息是服务器发送的,没有被篡改。
  
  图4 签名验证功能
  三、加解密
  除了用于数字签名之外,RAS 算法还可以用于消息的非对称加密。非对称加密比对称加密更安全,但由于算法强度比对称加密复杂,因此加解密速度比对称加密慢。对称加密算法的特点是计算量小、加密速度快、加密效率高。缺点是交易双方使用相同的密钥,无法保证安全。常见的对称加密算法有DES、AES等。
  在互联网上传输消息时,要保证信息的安全,保证没有高延迟。因此,对称加密算法和非对称加密算法通常结合使用。使用非对称加密算法对对称加密算法使用的密钥进行数字签名和加密传输,然后使用对称加密算法对消息进行加密和解密,保证了消息传输的安全性和消息的传输速度改善用户体验。
  下面介绍AES加解密的python实现。其他加密算法类似。您可以根据服务方的要求选择使用哪种算法。AES 加密方式有五种:ECB、CBC、CTR、CFB、OFB。最常用的是CBC加密。CBC 加密需要一个 16 位的密钥和一个 16 位的偏移量。开发者使用服务器提供的appsecret作为加解密密钥。具体实现如下图所示:
  
  图5 AES加解密
  加密的数据应与签名一起发送到服务器。通常,消息是否使用对称加密是可选的。开发者可以根据开放平台的规定和交易的重要性来选择是否加密。
  四、授权
  各大开放平台都有自己的授权认证机制,最流行的机制是OAuth2.0。OAuth2.0 是一种开放的授权标准,允许用户授权第三方应用访问用户在某个服务(如微博、微信、QQ等)上的特定私有资源,而无需提供帐户密码给第三方。对于第三方应用,无需为第三方应用注册账号。如果要进行开放平台授权认证测试,必须按照OAuth2.0标准连接服务方。一般来说,服务提供者提供授权服务,主要提供两类接口:
  1.授权接口:接受第三方应用的授权请求。该接口通常收录以下参数:
  response_type:必需。该值固定为“代码”。
  client_id:必需。第三方应用的标识ID,即appID。
  状态:可选。第三方提供的字符串,服务器将原样返回。
  redirect_uri:必需。授权成功后的重定向地址。
  范围:可选。表示要访问的资源的授权范围。
  成功访问该接口后,将获得一个授权码。
  2.获取访问令牌(token)接口:使用授权接口提供的授权码向第三方应用发放访问令牌。通常收录以下参数:
  grant_type:必需。固定值“authorization_code”。
  代码:必填。授权码在授权界面响应。
  redirect_uri:必需。必须与授权接口中提供的redirect_uri相同。
  client_id:必需。必须与授权界面提供的appID一致。
  第三方应用获得令牌后,可以使用令牌请求用户授权其访问服务端存储的资源。
  以上接口的请求可以自己编码实现。Python的django-allauth库封装了GitHub、Twitter、微博、微信、百度等数十种第三方授权认证方式,通过简单的配置即可应对各大厂商开放平台的授权认证测试。下图展示了如何在django应用中注册django-allauth第三方登录服务。
  
  图6 使用django-allauth库完成第三方授权登录
  五、总结
  本文介绍了使用python连接各大开放平台实现签名验证、加解密、授权认证的测试方法,并给出了详细的例子。开发者可以将上述方法封装到django或其他框架的web应用中,形成便于测试人员操作的界面。在处理签名验证、加解密、授权认证等测试或开发工作时,可以大大提高工作效率。
  我是谁?
  我是一名资深的测试人员,从事软件测试工作多年。今年年初花了一个月时间整理了一份2020年最适合学习的软件测试学习干货,可以送给每一个对软件测试感兴趣的小伙伴。想要领取的话,可以关注我的头条号,后台给我发私信:【测试】,免费领取。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(基于python的开放平台签名、加密解密以及授权认证测试体系)
  目前,大型顶级公司拥有非常成熟的开放平台服务,如微信开放平台、新浪微博开放平台、支付宝开放平台等。开放平台的发展为第三方个人或公司提供了巨大的机会。开发者想要接入各大开放平台,必须遵守开放平台的安全机制,实现业务逻辑的前提。一是实现签名验证、加解密、授权鉴权机制。
  本文介绍了基于python的开放平台签名认证测试系统,可用于第三方应用的沙箱测试,也可应用于服务商相关系统的综合测试。
  
  一、简介
  开放平台是指大型企业以业务+场景+解决方案+技术的优势,将自身的数据能力、计算能力、用户系统、产品能力等资源打包,通过openAPI、openSDK等方式向第三方个人或个人开放,和 openH5。企业使用,实现第三方与服务商企业自身的互利共赢。
  目前各大厂商的开放平台都比较成熟,如微信开放平台、新浪微博开放平台、支付宝开放平台等。与此同时,各大商业银行也在大力发展自身的开放银行服务。作为第三方开发者,一般来说,接入开放平台有一个相对统一的流程。下图为微信开放平台开通流程。
  
  图1 微信开放平台接入流程
  如图1第三步所示,应用上线前,必须进行必要的测试。业务逻辑测试的前提是测试签名验证、加解密、授权认证等安全认证机制。python社区非常成熟,广泛应用于机器学习、数据分析、网络爬虫、自动化脚本等诸多领域。
  在web开发方面,目前有很多公司如Instagram、Quora、Lyft、Dropbox、知乎等后端使用python进行开发。本文介绍了基于python的签名验证、加解密、授权认证测试的实现。
  二、签名验证
  第三方个人或企业通过开放平台门户网站提交申请成为开发者。开发者资质认证通过后,开发者通常会从服务商处获得自己的appid、appsecret和证书。该证书收录第一个 第三方开发者的私钥和服务提供者的公钥。
  服务提供商保留第三方开发者的公钥和自己的私钥。开发者使用自己的私钥进行签名,并将消息发送到开放平台服务器。服务器验证通过后,会使用自己的私钥对返回给开发者的消息进行签名,开发者收到返回消息后,使用服务方提供的公钥进行验证。通过这个过程,开发者和服务端可以相互确认发送的消息没有被中间人篡改。
  本文的签名验证使用RSA算法进行演示。使用Python的Crypto库,安装时需要使用pip或conda等其他包管理工具。
  一般来说,开发者需要对消息的每个字段进行预处理。
  1.去除请求字典中的所有空值或不必要的参数(如sign、sign_type等);
  2. 对字典进行排序(按照ASCII码从小到大);
  3. 按照“参数=参数值”的模式,将字典中的所有元素用“&amp;”字符组合成一个字符串。
  数据预处理功能如下图所示:
  
  图2 数据预处理功能
  当开发者发送消息时,会使用Hash函数从消息中生成摘要,然后用私人消息对摘要进行加密。加密后的摘要用作消息的数字签名,并与消息一起发送到服务器。下图展示了RSA算法的签名函数的实现:
  
  图3 数字签名功能
  首先使用hash_method函数选择要使用的digest算法,可以根据实际情况重构函数。这里演示了 MD5 和 SHA256 算法的示例。签名函数首先要读取开发者的私钥,然后使用RSA算法完成签名。
  开发者收到服务器返回的消息后,使用相同的Hash函数从接收到的原创消息中计算出消息的摘要,然后使用发送方的公钥对消息所附的数字签名进行解密,如果两个摘要是一致,开发​​者可以确认消息是服务器发送的,没有被篡改。
  
  图4 签名验证功能
  三、加解密
  除了用于数字签名之外,RAS 算法还可以用于消息的非对称加密。非对称加密比对称加密更安全,但由于算法强度比对称加密复杂,因此加解密速度比对称加密慢。对称加密算法的特点是计算量小、加密速度快、加密效率高。缺点是交易双方使用相同的密钥,无法保证安全。常见的对称加密算法有DES、AES等。
  在互联网上传输消息时,要保证信息的安全,保证没有高延迟。因此,对称加密算法和非对称加密算法通常结合使用。使用非对称加密算法对对称加密算法使用的密钥进行数字签名和加密传输,然后使用对称加密算法对消息进行加密和解密,保证了消息传输的安全性和消息的传输速度改善用户体验。
  下面介绍AES加解密的python实现。其他加密算法类似。您可以根据服务方的要求选择使用哪种算法。AES 加密方式有五种:ECB、CBC、CTR、CFB、OFB。最常用的是CBC加密。CBC 加密需要一个 16 位的密钥和一个 16 位的偏移量。开发者使用服务器提供的appsecret作为加解密密钥。具体实现如下图所示:
  
  图5 AES加解密
  加密的数据应与签名一起发送到服务器。通常,消息是否使用对称加密是可选的。开发者可以根据开放平台的规定和交易的重要性来选择是否加密。
  四、授权
  各大开放平台都有自己的授权认证机制,最流行的机制是OAuth2.0。OAuth2.0 是一种开放的授权标准,允许用户授权第三方应用访问用户在某个服务(如微博、微信、QQ等)上的特定私有资源,而无需提供帐户密码给第三方。对于第三方应用,无需为第三方应用注册账号。如果要进行开放平台授权认证测试,必须按照OAuth2.0标准连接服务方。一般来说,服务提供者提供授权服务,主要提供两类接口:
  1.授权接口:接受第三方应用的授权请求。该接口通常收录以下参数:
  response_type:必需。该值固定为“代码”。
  client_id:必需。第三方应用的标识ID,即appID。
  状态:可选。第三方提供的字符串,服务器将原样返回。
  redirect_uri:必需。授权成功后的重定向地址。
  范围:可选。表示要访问的资源的授权范围。
  成功访问该接口后,将获得一个授权码。
  2.获取访问令牌(token)接口:使用授权接口提供的授权码向第三方应用发放访问令牌。通常收录以下参数:
  grant_type:必需。固定值“authorization_code”。
  代码:必填。授权码在授权界面响应。
  redirect_uri:必需。必须与授权接口中提供的redirect_uri相同。
  client_id:必需。必须与授权界面提供的appID一致。
  第三方应用获得令牌后,可以使用令牌请求用户授权其访问服务端存储的资源。
  以上接口的请求可以自己编码实现。Python的django-allauth库封装了GitHub、Twitter、微博、微信、百度等数十种第三方授权认证方式,通过简单的配置即可应对各大厂商开放平台的授权认证测试。下图展示了如何在django应用中注册django-allauth第三方登录服务。
  
  图6 使用django-allauth库完成第三方授权登录
  五、总结
  本文介绍了使用python连接各大开放平台实现签名验证、加解密、授权认证的测试方法,并给出了详细的例子。开发者可以将上述方法封装到django或其他框架的web应用中,形成便于测试人员操作的界面。在处理签名验证、加解密、授权认证等测试或开发工作时,可以大大提高工作效率。
  我是谁?
  我是一名资深的测试人员,从事软件测试工作多年。今年年初花了一个月时间整理了一份2020年最适合学习的软件测试学习干货,可以送给每一个对软件测试感兴趣的小伙伴。想要领取的话,可以关注我的头条号,后台给我发私信:【测试】,免费领取。

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

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台API调用和TWITTER接口一样的限定规则)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台API调用和TWITTER接口一样的限定规则)
  新浪微博开放平台API调用与TWITTER接口相同,有时间限制和限制。
  他有两个限制原则
  1.用户不基于IP限制登录,每小时1000次
  2. 用户以基于用户的限制登录,每小时1000次
  如果应用是用户未登录,则IP被限制。建议登录破解瓶颈,否则不讨论。
  新浪给出了具体限制
  开发者可以通过 rate_limit_status 接口查看调用频率
  rate_limit_status 接口文档
  接口返回如下信息
  数组([remaining_hits] =&gt; 999 [hourly_limit] =&gt; 1000 [reset_time_in_seconds] =&gt; 2717 [reset_time] =&gt; 12 月 14 日星期二 17:00:00 +0800 2010)
  代表
  剩余数量为999次,
  每小时限制1000次,
  计数器复位的剩余时间为 2717 秒,
  下次重置时间为 17:00。
  对于小型非授权应用程序,这样的调用频率已不再足够。最简单的方法是使用多个账号和多个APP_KEY,相当于做一个账号轮询。
  首先,多注册几个微博账号,存储在一个数组中,每次随机调用一个,这样可以轻松达到3000个。
  $wb_id = array('|password','|password','|password');
  列表($wb_name,$wb_password)=explode(“|”,$wb_id[array_rand($wb_id)]);
  如果用同样的方法列出几个APP_KEY,重复组合,就会更多。比如2个APP_KEY,3个账号,上限可以达到6000。
  我个人用了3个APP_KEY,4个账号,每小时1.20000的量就够了。
  另一种快速注册微博账号的方法
  第一步,
  去gmail注册一个长账号,多长时间?反正越长越好,一个原则信比你想注册的微博账号长
  例如
  第二步,
  使用此账号注册新浪
  第一次使用
  第二次使用
  第三次使用
  ....
  以此类推,一个邮箱可以注册多个新浪微博。无需来回重新注册邮箱。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台API调用和TWITTER接口一样的限定规则)
  新浪微博开放平台API调用与TWITTER接口相同,有时间限制和限制。
  他有两个限制原则
  1.用户不基于IP限制登录,每小时1000次
  2. 用户以基于用户的限制登录,每小时1000次
  如果应用是用户未登录,则IP被限制。建议登录破解瓶颈,否则不讨论。
  新浪给出了具体限制
  开发者可以通过 rate_limit_status 接口查看调用频率
  rate_limit_status 接口文档
  接口返回如下信息
  数组([remaining_hits] =&gt; 999 [hourly_limit] =&gt; 1000 [reset_time_in_seconds] =&gt; 2717 [reset_time] =&gt; 12 月 14 日星期二 17:00:00 +0800 2010)
  代表
  剩余数量为999次,
  每小时限制1000次,
  计数器复位的剩余时间为 2717 秒,
  下次重置时间为 17:00。
  对于小型非授权应用程序,这样的调用频率已不再足够。最简单的方法是使用多个账号和多个APP_KEY,相当于做一个账号轮询。
  首先,多注册几个微博账号,存储在一个数组中,每次随机调用一个,这样可以轻松达到3000个。
  $wb_id = array('|password','|password','|password');
  列表($wb_name,$wb_password)=explode(“|”,$wb_id[array_rand($wb_id)]);
  如果用同样的方法列出几个APP_KEY,重复组合,就会更多。比如2个APP_KEY,3个账号,上限可以达到6000。
  我个人用了3个APP_KEY,4个账号,每小时1.20000的量就够了。
  另一种快速注册微博账号的方法
  第一步,
  去gmail注册一个长账号,多长时间?反正越长越好,一个原则信比你想注册的微博账号长
  例如
  第二步,
  使用此账号注册新浪
  第一次使用
  第二次使用
  第三次使用
  ....
  以此类推,一个邮箱可以注册多个新浪微博。无需来回重新注册邮箱。

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台(api同步微博内容至自己网站))
  使用新浪微博开放平台api同步微博内容至自己网站新浪微博关注</a>
  前端把微博的链接请求发给后端服务器,会返回转发的url,服务器根据url里的id把这条微博转发给相应的网站。例如:微博用户页,微博转发页面url=""//新浪微博转发微博链接headerhref=""//新浪微博自定义地址sign="text/html,application/xhtml+xml,application/xml;q=0.9"//后端headerdata={"user-agent":"mozilla/5.0(windowsnt10.0;win64;x6。
  4)applewebkit/537.36(khtml,likegecko)chrome/74.0.3033.110safari/537.36","ispublishers":"keep-alive","mms":"5.0"}
  新浪官方做了一个可以对新浪微博中链接进行互访的api,很有用,我写了一个专门用于新浪微博互访的web框架,
  这个可以实现,先把新浪微博的数据抓到,然后微博数据库中查出微博地址转发给相应网站,然后转发到自己的网站上。
  刚遇到,使用互联网开放平台(api),然后后端转发给对应网站。开放平台把数据流转发给对应网站的服务器,再由对应网站服务器再把数据转发给后端。
  通过流分析收集微博内容,然后直接通过爬虫抓取过来。
  1、excel或者powerbi做流程图;
  2、用网页版新浪提供; 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台(api同步微博内容至自己网站))
  使用新浪微博开放平台api同步微博内容至自己网站新浪微博关注</a>
  前端把微博的链接请求发给后端服务器,会返回转发的url,服务器根据url里的id把这条微博转发给相应的网站。例如:微博用户页,微博转发页面url=""//新浪微博转发微博链接headerhref=""//新浪微博自定义地址sign="text/html,application/xhtml+xml,application/xml;q=0.9"//后端headerdata={"user-agent":"mozilla/5.0(windowsnt10.0;win64;x6。
  4)applewebkit/537.36(khtml,likegecko)chrome/74.0.3033.110safari/537.36","ispublishers":"keep-alive","mms":"5.0"}
  新浪官方做了一个可以对新浪微博中链接进行互访的api,很有用,我写了一个专门用于新浪微博互访的web框架,
  这个可以实现,先把新浪微博的数据抓到,然后微博数据库中查出微博地址转发给相应网站,然后转发到自己的网站上。
  刚遇到,使用互联网开放平台(api),然后后端转发给对应网站。开放平台把数据流转发给对应网站的服务器,再由对应网站服务器再把数据转发给后端。
  通过流分析收集微博内容,然后直接通过爬虫抓取过来。
  1、excel或者powerbi做流程图;
  2、用网页版新浪提供;

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站(图))
  使用新浪微博开放平台api同步微博内容至自己网站,方便所有中文字体开发者使用。
  开放平台不了解,不过我听说可以用apilink,国内比较领先的文字转引擎,支持的场景还是蛮多的,
  可以关注下“simplemouse”这款app,主要用来做文字转,
  微博开放平台::。
  有一个功能叫智能转换,可以达到所有人都可以使用,在googlereader里面登录账号,并授权,那么别人无论是手机端,还是网页端,只要有相同的标题,在阅读过程中,都可以收听你的内容。实现方法:登录谷歌reader账号,添加账号,当前用户是可以直接直接登录谷歌reader里面的账号的,同理,所有用户也都可以登录同一个账号。
  打开readitlater,新建文章,同一标题,同一内容,系统就会自动收听你的音频,省去你登录多个账号的步骤。音频的长度:所有未经过长短号转换的全免费音频,可以无限制的转换。音频的音量:音量是60即可,自己可以调节。转换之后文章不会加长或者减短。上传音频:文章上传的时候,选择文章文件大小,选择输出比特率,这样音频会根据你电脑是网络过载还是网络不好调整成其他形式,只要你能拿到音频长度,并且实时收听,基本上也是没有任何问题的。
  所以我相信国内一定还有很多人都在用,毕竟谷歌reader目前已经极度完善的情况下,还有那么多的问题,确实也有必要好好思考一下。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站(图))
  使用新浪微博开放平台api同步微博内容至自己网站,方便所有中文字体开发者使用。
  开放平台不了解,不过我听说可以用apilink,国内比较领先的文字转引擎,支持的场景还是蛮多的,
  可以关注下“simplemouse”这款app,主要用来做文字转,
  微博开放平台::。
  有一个功能叫智能转换,可以达到所有人都可以使用,在googlereader里面登录账号,并授权,那么别人无论是手机端,还是网页端,只要有相同的标题,在阅读过程中,都可以收听你的内容。实现方法:登录谷歌reader账号,添加账号,当前用户是可以直接直接登录谷歌reader里面的账号的,同理,所有用户也都可以登录同一个账号。
  打开readitlater,新建文章,同一标题,同一内容,系统就会自动收听你的音频,省去你登录多个账号的步骤。音频的长度:所有未经过长短号转换的全免费音频,可以无限制的转换。音频的音量:音量是60即可,自己可以调节。转换之后文章不会加长或者减短。上传音频:文章上传的时候,选择文章文件大小,选择输出比特率,这样音频会根据你电脑是网络过载还是网络不好调整成其他形式,只要你能拿到音频长度,并且实时收听,基本上也是没有任何问题的。
  所以我相信国内一定还有很多人都在用,毕竟谷歌reader目前已经极度完善的情况下,还有那么多的问题,确实也有必要好好思考一下。

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

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)

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

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API生成短链接,同时支持多个长链接。什么是短链接 短链接,通俗的讲就是通过程序计算将长网址网址转换为短网址字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  // APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p> 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API生成短链接,同时支持多个长链接。什么是短链接 短链接,通俗的讲就是通过程序计算将长网址网址转换为短网址字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  // APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p>

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台创建应用的详细流程及应用)

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

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台创建应用的详细流程及应用)
  一、准备。
  1. 微博账号。注册很容易。
  2.微博账号成为开发者。
  登录微博开放平台登录您的注册账号,然后进入管理中心完成开发者基本信息和身份认证。
  这时候还需要浏览微博开放平台的文档,了解这个开放平台的一些规范术语。
  单击每个链接进行查看。顺便看一下微博API文档,里面有介绍,有些接口调用需要获取access_token。这篇文章就是为了达到这个目的。
  二、创建一个应用程序。
  比如我们要开发一个网站,然后在这个网站中连接微博开放平台,调用开放平台的接口。然后我们需要在登录微博开放平台后创建一个应用。
  创建应用程序后,您将获得应用程序的 App key 和 AppSecret。然后我们就是利用这个信息调用新浪微博的auth2.0认证获取access_token。
  拿到access_token后,我们就可以调用我们需要的接口了,比如发微博等。
  1. 创建引用的地方。开放平台--》点击上方导航菜单中的“微链接”,这里的微链接的概念也是这个开放平台的一个术语,具体含义可以查看相关文档。
  2.创建什么类型的应用程序?
  随意看看你的情况。测试时,您可以创建任何东西,尝试并充满信心地去做。我创建的是一个网页参考,所以我发现它很容易输入,不需要填写太多信息。
  如下所示:
  
  创建完成后,可以在我的应用中看到:
  
  单击以查看与应用程序相关的信息。一会儿我们需要用到这里的app key和app secret,还需要配置应用授权回调地址。
  三、下载微博开发SDK。
  开发SDK中有一些示例,可以直接作为参考。下载链接。我下载了 weibo4j 的 Java 版本。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在examples包下的oauth2包下找到OAuth4Code类。我们需要运行这个类。
  这个类完成oauth操作,这一步包括两个请求
  第一次:
https://api.weibo.com/oauth2/a ... Dcode
第二次:
https://api.weibo.com/oauth2/access_token
  请注意,第一个请求中有一个 client_id。这个参数需要在config.properties中配置,对应我们上面创建的应用的app key。
  同样,这个配置文件中有一个client_SERCRET,对应我们上面创建的应用的app sercret,复制进去。
  还有一个参数redirect_uri,比较关键。当我们运行OAuth4Code类时,第一次请求完成后,会回调这个地址,同时带入一个code参数。
  我们需要复制这个参数,在控制台中输入,然后回车。发起第二个请求,这个请求会返回我们需要的access_token。那么问题来了,如何配置这个地址呢?
  1. 在上面创建的参考中,找到接口管理--》授权机制也没有配置回调地址的地方,填写即可。
  2. 上面的链接应该在config.properties中配置,如下:
  client_ID = 1234567890
client_SERCRET = 890a2ab550cf8d7a0090ff2f19850f3a
redirect_URI = https\://api.weibo.com/oauth2/default.html
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/
  三、 运行程序获取access_token。
  上面第二步完成后,配置就完成了。运行以下类:
  public class OAuth4Code {
public static void main(String [] args) throws WeiboException, IOException{
Oauth oauth = new Oauth();
BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
System.out.println(oauth.authorize("code"));
System.out.print("Hit enter when it&#39;s done.[Enter]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();
Log.logInfo("code: " + code);
try{
System.out.println(oauth.getAccessTokenByCode(code));
} catch (WeiboException e) {
if(401 == e.getStatusCode()){
Log.logInfo("Unable to get the access token.");
}else{
e.printStackTrace();
}
}
}
}
  程序运行后,在控制台输入一行log后,进入等待控制台输入的状态,浏览器立即打开了一个页面,跳转后页面变成了如下:
  
  复制浏览器地址栏中的code参数值。回到myeclipse,粘贴这个值,然后回车。程序继续执行,使用这个code参数,再次发起请求,终于成功后就可以拿到access_token了
  整个过程的效果日志:
  
  四、本例中oauth授权流程总结。
  两次请求
  第一次:
  https://api.weibo.com/oauth2/a ... Dcode
  同意授权后,会重定向:
  //同意授权后会重定向
http://www.example.com/response&code=CODE
  第二次:
  按照上面的代码再次发起请求。获取 access_token
  会有一些问题,主要原因是授权地址配置不正确。根据本文中的示例配置,您可以成功运行程序。获取 access_token。
  错误代码如下:
  错误代码(error) 错误代码(error_code) 错误描述(error_description)
  redirect_uri_mismatch
  21322
  重定向地址不匹配
  无效请求
  21323
  请求是非法的
  invalid_client
  21324
  client_id 或 client_secret 参数无效
  invalid_grant
  21325
  提供的访问授权无效、已过期或已撤销
  未经授权的客户端
  21326
  客户端没有权限
  expired_token
  21327
  令牌过期
  unsupported_grant_type
  21328
  不支持的 GrantType
  unsupported_response_type
  21329
  不支持的响应类型
  拒绝访问
  21330
  用户或授权服务器拒绝授予数据访问权限
  暂时不可用
  21331
  该服务暂时不可用
  appkey权限被拒绝
  21337
  应用权限不足 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台创建应用的详细流程及应用)
  一、准备。
  1. 微博账号。注册很容易。
  2.微博账号成为开发者。
  登录微博开放平台登录您的注册账号,然后进入管理中心完成开发者基本信息和身份认证。
  这时候还需要浏览微博开放平台的文档,了解这个开放平台的一些规范术语。
  单击每个链接进行查看。顺便看一下微博API文档,里面有介绍,有些接口调用需要获取access_token。这篇文章就是为了达到这个目的。
  二、创建一个应用程序。
  比如我们要开发一个网站,然后在这个网站中连接微博开放平台,调用开放平台的接口。然后我们需要在登录微博开放平台后创建一个应用。
  创建应用程序后,您将获得应用程序的 App key 和 AppSecret。然后我们就是利用这个信息调用新浪微博的auth2.0认证获取access_token。
  拿到access_token后,我们就可以调用我们需要的接口了,比如发微博等。
  1. 创建引用的地方。开放平台--》点击上方导航菜单中的“微链接”,这里的微链接的概念也是这个开放平台的一个术语,具体含义可以查看相关文档。
  2.创建什么类型的应用程序?
  随意看看你的情况。测试时,您可以创建任何东西,尝试并充满信心地去做。我创建的是一个网页参考,所以我发现它很容易输入,不需要填写太多信息。
  如下所示:
  
  创建完成后,可以在我的应用中看到:
  
  单击以查看与应用程序相关的信息。一会儿我们需要用到这里的app key和app secret,还需要配置应用授权回调地址。
  三、下载微博开发SDK。
  开发SDK中有一些示例,可以直接作为参考。下载链接。我下载了 weibo4j 的 Java 版本。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在examples包下的oauth2包下找到OAuth4Code类。我们需要运行这个类。
  这个类完成oauth操作,这一步包括两个请求
  第一次:
https://api.weibo.com/oauth2/a ... Dcode
第二次:
https://api.weibo.com/oauth2/access_token
  请注意,第一个请求中有一个 client_id。这个参数需要在config.properties中配置,对应我们上面创建的应用的app key。
  同样,这个配置文件中有一个client_SERCRET,对应我们上面创建的应用的app sercret,复制进去。
  还有一个参数redirect_uri,比较关键。当我们运行OAuth4Code类时,第一次请求完成后,会回调这个地址,同时带入一个code参数。
  我们需要复制这个参数,在控制台中输入,然后回车。发起第二个请求,这个请求会返回我们需要的access_token。那么问题来了,如何配置这个地址呢?
  1. 在上面创建的参考中,找到接口管理--》授权机制也没有配置回调地址的地方,填写即可。
  2. 上面的链接应该在config.properties中配置,如下:
  client_ID = 1234567890
client_SERCRET = 890a2ab550cf8d7a0090ff2f19850f3a
redirect_URI = https\://api.weibo.com/oauth2/default.html

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/
  三、 运行程序获取access_token。
  上面第二步完成后,配置就完成了。运行以下类:
  public class OAuth4Code {
public static void main(String [] args) throws WeiboException, IOException{
Oauth oauth = new Oauth();
BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
System.out.println(oauth.authorize("code"));
System.out.print("Hit enter when it&#39;s done.[Enter]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();
Log.logInfo("code: " + code);
try{
System.out.println(oauth.getAccessTokenByCode(code));
} catch (WeiboException e) {
if(401 == e.getStatusCode()){
Log.logInfo("Unable to get the access token.");
}else{
e.printStackTrace();
}
}
}
}
  程序运行后,在控制台输入一行log后,进入等待控制台输入的状态,浏览器立即打开了一个页面,跳转后页面变成了如下:
  
  复制浏览器地址栏中的code参数值。回到myeclipse,粘贴这个值,然后回车。程序继续执行,使用这个code参数,再次发起请求,终于成功后就可以拿到access_token了
  整个过程的效果日志:
  
  四、本例中oauth授权流程总结。
  两次请求
  第一次:
  https://api.weibo.com/oauth2/a ... Dcode
  同意授权后,会重定向:
  //同意授权后会重定向
http://www.example.com/response&code=CODE
  第二次:
  按照上面的代码再次发起请求。获取 access_token
  会有一些问题,主要原因是授权地址配置不正确。根据本文中的示例配置,您可以成功运行程序。获取 access_token。
  错误代码如下:
  错误代码(error) 错误代码(error_code) 错误描述(error_description)
  redirect_uri_mismatch
  21322
  重定向地址不匹配
  无效请求
  21323
  请求是非法的
  invalid_client
  21324
  client_id 或 client_secret 参数无效
  invalid_grant
  21325
  提供的访问授权无效、已过期或已撤销
  未经授权的客户端
  21326
  客户端没有权限
  expired_token
  21327
  令牌过期
  unsupported_grant_type
  21328
  不支持的 GrantType
  unsupported_response_type
  21329
  不支持的响应类型
  拒绝访问
  21330
  用户或授权服务器拒绝授予数据访问权限
  暂时不可用
  21331
  该服务暂时不可用
  appkey权限被拒绝
  21337
  应用权限不足

使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)

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

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API,可以生成短链接,同时可以传输多个长链接。什么是短链接 短链接,一般来说就是通过程序计算的方式将一个长的URL URL 转换成一个短的URL 字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  
// APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p> 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API,可以生成短链接,同时可以传输多个长链接。什么是短链接 短链接,一般来说就是通过程序计算的方式将一个长的URL URL 转换成一个短的URL 字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  
// APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p>

使用新浪微博开放平台api同步微博内容至自己网站(wordpress网站可以写php代码1.php文件测试.php)

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

  使用新浪微博开放平台api同步微博内容至自己网站(wordpress网站可以写php代码1.php文件测试.php)
  据说wordpress网站可以在发帖时将文章同步到新浪微博,想写一个php代码测试基于同样的方法。以下内容引自:
  微博同步方式大致有插件、关联博客、非插件微博三种方式
  第一种是直接在百度上搜索;
  其次,因为新浪现在取消了链接博客的选项,但该功能并未取消。可以询问下面的地址,然后进行配置。
  第三种方法需要使用新浪的接口,如下:
  1) 前往新浪微博开放平台创建站内应用。审核不通过没关系,但是如果通过了,可以在微博底部展示来自XX的应用,比如来自KingGoo科技博客的图片。如何创建它?在百度google上搜索,很简单(但是如果你没有通过审核想通过审核,我可以提供付费帮助嘎嘎~),创建应用后,需要使用App Key申请下面的应用程序;
  2)编辑你的主题的functions.php文件并在最后添加以下代码
  // 微博同步function post_to_sina_weibo($post_ID) { if( wp_is_post_revision($post_ID) ) return; $get_post_info = get_post($post_ID); $get_post_centent = get_post($post_ID)->post_content; //去掉文章内的html编码的空格、换行、tab等符号(如果你文章的编码格式是这样子,可以将下面的"//"去掉即开启此功能) //$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace(" ", " ", $get_post_centent))); $get_post_title = get_post($post_ID)->post_title; if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) { $request = new WP_Http; $status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ; $api_url = 'https://api.weibo.com/2/statuses/update.json'; $body = array( 'status' => $status, 'source'=>'4135063399'); $headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); /* 如果你使用改方法,请注释掉上面$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); 换成如下代码 //你的新浪微博登陆名 $username = '' ; //你的新浪微博登陆密码 $password = '' ; $headers = array( 'Authorization' => 'Basic ' . base64_encode('$username:$password')); */ $result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) ); }}add_action('publish_post', 'post_to_sina_weibo', 0);
  文章需要用到wordpress自带的WP_Http类,我在github上找到了替代品:
  关于这个类的一个说明:EasyHttp是一个php类,可以帮助你忽略不同的php环境条件,乱发送http请求。您不再需要关注当前的 php 环境是否支持 curl/fsockopen/fopen,EasyHttp 会自动选择最合适的方式进行 http 请求。EasyHttp 派生自 WordPress 中的 WP_Http 类,它去除了对其他 WordPress 功能的所有依赖,将其拆分为不同的文件,并进行了少量的简化。
  根据以上内容,编写php代码1.php:
  当浏览器访问1.php时,返回如下内容:
  Array ([headers] =&gt; Array ([server] =&gt; nginx/1.2.0 [date] =&gt; Sun, 13 Oct 2013 02:23:46 GMT [content-type] =&gt; text/plain;charset=UTF-8 [content-length] =&gt; 76 [connection] =&gt; close [api-server-ip] =&gt; 10.75.0.170 [变化] =&gt; Accept-Encoding [x-varnish] =&gt; 3299864740 [age] =&gt; 0 [via] =&gt; 1.1 varnish) [body] =&gt; Bad Content-Type header value:'application/ x-www-form-urlencoded; charset=' [response] =&gt; Array ([code] =&gt; 400 [message] =&gt; Bad Request) [cookies] =&gt; Array () [filename] =&gt;)
  好像是 400 Bad Request。百度一下,意思是“由于语法格式错误,服务器无法理解这个请求。不修改,客户端程序不能重复这个请求。”
  你怎么解决这个问题? 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(wordpress网站可以写php代码1.php文件测试.php)
  据说wordpress网站可以在发帖时将文章同步到新浪微博,想写一个php代码测试基于同样的方法。以下内容引自:
  微博同步方式大致有插件、关联博客、非插件微博三种方式
  第一种是直接在百度上搜索;
  其次,因为新浪现在取消了链接博客的选项,但该功能并未取消。可以询问下面的地址,然后进行配置。
  第三种方法需要使用新浪的接口,如下:
  1) 前往新浪微博开放平台创建站内应用。审核不通过没关系,但是如果通过了,可以在微博底部展示来自XX的应用,比如来自KingGoo科技博客的图片。如何创建它?在百度google上搜索,很简单(但是如果你没有通过审核想通过审核,我可以提供付费帮助嘎嘎~),创建应用后,需要使用App Key申请下面的应用程序;
  2)编辑你的主题的functions.php文件并在最后添加以下代码
  // 微博同步function post_to_sina_weibo($post_ID) { if( wp_is_post_revision($post_ID) ) return; $get_post_info = get_post($post_ID); $get_post_centent = get_post($post_ID)->post_content; //去掉文章内的html编码的空格、换行、tab等符号(如果你文章的编码格式是这样子,可以将下面的"//"去掉即开启此功能) //$get_post_centent = str_replace("\t", " ", str_replace("\n", " ", str_replace(" ", " ", $get_post_centent))); $get_post_title = get_post($post_ID)->post_title; if ( $get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish' ) { $request = new WP_Http; $status = '【' . strip_tags( $get_post_title ) . '】 ' . mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, 132,'...') . ' 全文地址:' . get_permalink($post_ID) ; $api_url = 'https://api.weibo.com/2/statuses/update.json'; $body = array( 'status' => $status, 'source'=>'4135063399'); $headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); /* 如果你使用改方法,请注释掉上面$headers = array( 'Authorization' => 'Basic ' . '1fFjYc3uQHZpcF32fS5jb146MxFeY19DYF53aWfzNA==' ); 换成如下代码 //你的新浪微博登陆名 $username = '' ; //你的新浪微博登陆密码 $password = '' ; $headers = array( 'Authorization' => 'Basic ' . base64_encode('$username:$password')); */ $result = $request->post( $api_url , array( 'body' => $body, 'headers' => $headers ) ); }}add_action('publish_post', 'post_to_sina_weibo', 0);
  文章需要用到wordpress自带的WP_Http类,我在github上找到了替代品:
  关于这个类的一个说明:EasyHttp是一个php类,可以帮助你忽略不同的php环境条件,乱发送http请求。您不再需要关注当前的 php 环境是否支持 curl/fsockopen/fopen,EasyHttp 会自动选择最合适的方式进行 http 请求。EasyHttp 派生自 WordPress 中的 WP_Http 类,它去除了对其他 WordPress 功能的所有依赖,将其拆分为不同的文件,并进行了少量的简化。
  根据以上内容,编写php代码1.php:
  当浏览器访问1.php时,返回如下内容:
  Array ([headers] =&gt; Array ([server] =&gt; nginx/1.2.0 [date] =&gt; Sun, 13 Oct 2013 02:23:46 GMT [content-type] =&gt; text/plain;charset=UTF-8 [content-length] =&gt; 76 [connection] =&gt; close [api-server-ip] =&gt; 10.75.0.170 [变化] =&gt; Accept-Encoding [x-varnish] =&gt; 3299864740 [age] =&gt; 0 [via] =&gt; 1.1 varnish) [body] =&gt; Bad Content-Type header value:'application/ x-www-form-urlencoded; charset=' [response] =&gt; Array ([code] =&gt; 400 [message] =&gt; Bad Request) [cookies] =&gt; Array () [filename] =&gt;)
  好像是 400 Bad Request。百度一下,意思是“由于语法格式错误,服务器无法理解这个请求。不修改,客户端程序不能重复这个请求。”
  你怎么解决这个问题?

使用新浪微博开放平台api同步微博内容至自己网站(WeiboSDK新浪微博SDKv3源码和示例(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(WeiboSDK新浪微博SDKv3源码和示例(图))
  WeiboSDK 新浪微博SDK v3 源代码和示例前言
  时间过得真快,距离上次SDK更新已经3年多了。随着正式版的不断更新,老SDK的部分接口已经不能正常使用了。于是,QQ群里抱怨辱骂的朋友开始增多。随着时代的发展,微博已经被微信彻底甩掉,失去了兴趣;同时,对于我自己来说,在这个行业里为了生存而生存几年后,日子越来越不好过,我没有时间。然后和新浪官方同步更新SDK,所以自13年之后,V2版本的SDK就没有再更新了。虽然微博的风潮没了,但还是有很多朋友通过新浪开放平台页面下载了我发布的SDK。可以说,由于长期不更新,老版本严重误导了新朋友。这也是我开发的。SDK 新版本的另一个重要原因。SDK第三版的一些说明
  指示
  第一步是初始化客户端
  如果用户没有被授权
  使用微博开放平台后台提供的appkey、appsecret、callback_url初始化客户端。
  ", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "");
  然后获取授权页面地址,访问授权地址,获取Authorization_Code
  var url = openAuth.GetAuthorizationUrl();
  根据返回的Code兑换AccessToken
  openAuth.GetAccessTokenByCode("[CODE]");
if(openAuth.IsAuthorized)
{
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
}
  重要的!!!获取到AccessToken和UID后,请保存这两个数据,以后的接口调用会直接使用这两个参数,所以不需要每次都执行第一步和第二步。
  接下来就可以跳转到第二步调用官方API了。
  当然,如果你之前已经被授权并且已经获得了AccessToken和UID,那么使用下面的方法来初始化客户端。
  ", "", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "", "");
  之后就可以直接跳转到第二步调用API了。
  第二步调用接口
  这里提供了Get和Post两个方法调用官方API,也提供了异步支持。使用时根据官方文档的要求选择是使用Get还是Post调用API(调用方法在官方文档中有明确说明)。
  调用接口传递参数有两种方式。一个是传入一个Dictionary类型的参数组,一个是传入一个名为new的匿名类。我个人认为使用匿名类是非常科学的。
  例如调用API获取当前登录用户的最新微博
  {{"count", 5},{"page", 1},{"base_app", 0}}); //这里可以使用字典或者匿名类来传递参数,参数名,大小写,参数顺序和规范请参考官方api文档 if (result.IsSuccessStatusCode){Console.WriteLine(result.Content.ReadAsStringAsync( ).结果);}"&gt;
  var result = openAuth.HttpGet("statuses/friends_timeline.json",
new Dictionary
{
{"count", 5},
{"page", 1},
{"base_app" , 0}
}); //这里可以使用字典或者匿名类的方式传递参数,参数名称、大小写、参数顺序和规范请参照官方api文档
if (result.IsSuccessStatusCode)
{
Console.WriteLine(result.Content.ReadAsStringAsync().Result);
}
  另外,如果需要异步调用,请参考下面的例子。
  对象的类型也可以直接传入匿名类。参数对应官方api文档中的参数 new {uid = openAuth.UID});response.ContinueWith(task =&gt;{//asynchronous processing result});"&gt;
  // 调用获取获取用户信息api
// 参考:http://open.weibo.com/wiki/2/users/show
var response = openAuth.HttpGetAsync("users/show.json",
//可以传入一个Dictionary类型的对象,也可以直接传入一个匿名类。参数与官方api文档中的参数相对应
new {
uid = openAuth.UID
});
response.ContinueWith(task =>{
//异步处理结果
});
  如果使用.net4.5,可以直接使用async和await关键字来简化上述操作。
  另外,由于新浪官方限制现在产生了登录验证码,新版SDK不再提供之前版本的模拟登录获取授权(ClientLogin)。对于Winform和Console应用,可以参考NetDimension.OpenAuth.Winform类,该类提供了扩展方法,可以在上述两种项目类型中弹出授权窗口,并在用户授权后自动获取Authorization_Code。具体操作请参见Winform和Console示例代码。
  using NetDimension.OpenAuth.Winform;
...
var form = openAuth.GetAuthenticationForm();
if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Console.WriteLine("用户授权成功!");
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
//其他操作
//...
}
else
{
Console.WriteLine("用户授权失败!");
}
  执行上述代码时,会弹出下图所示的窗口。
  用户登录后,SDK 会使用正则表达式从回调地址中获取 Authorization_Code。
  关于源代码中的例子
  例子没什么好说的。源代码中有三个示例。它们是一个 MVC 网页示例、两个桌面控制台和 WinForm 示例。
  示例中,明文写了一组APPKey以及对应的Secret和回调地址。如果你不改变它,这个例子应该可以正常工作。如果改成自己的Key出现错误,请自行谷歌设置回调地址。
  MVC 的示例设置稍微复杂一些。需要修改IIS Express的配置,使得网站可以通过127.0.0.1或192.16 8.0.100这样的IP地址是可以访问的,否则在回调过程中无法访问。MVC示例的主页上有修改教程。如果示例不起作用,请打开 Views\Home\Index.cshtml 查看是否已修改。
  Winform 示例运行截图
  
  
  网站示例运行截图
  
  还有一点需要注意的是,如果你使用的是VS2015,IIS Express配置文件applicationhost.config的地址不再是“Documents\IIS Express\”,而是在项目地址下的.vs目录下,这是一个隐藏目录, 直接在地址栏中输入路径即可访问。
  控制台示例运行的屏幕截图
  
  有调用腾讯微博的例子,但是腾讯的要求很严格。申请app需要网站验证,因为我用的是朋友的网站,所以请有需要的朋友或者自己注册app(腾讯微博开发者平台的api文档服务器是不是挂了?反正,我提不起来。)另外,在腾讯的例子中,有一种在微博上发图片的方法,严格按照腾讯api文档写的,但是不能正常使用。如果有朋友知道原因,请告诉我们。腾讯的例子只是为了说明新版SDK可以通过继承方便的扩展到微信开放平台、人人网等其他平台。请了解如何使用它。
  示例代码已收录在源代码中,具体请自行查阅代码。
  以上是新版本的全部内容。
  正如开头所说,新浪微博觉得大势已去,所以本次微博SDK不会更新新版本。本SDK第三版为最终版本,仅用于维护和BUG修正,不再添加或更新新内容。如果有继续对新浪开发平台感兴趣的朋友,请到GitHub上克隆代码,根据需要扩展功能。
  最后感谢QQ群里的所有朋友这几年的支持和鼓励,谢谢。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(WeiboSDK新浪微博SDKv3源码和示例(图))
  WeiboSDK 新浪微博SDK v3 源代码和示例前言
  时间过得真快,距离上次SDK更新已经3年多了。随着正式版的不断更新,老SDK的部分接口已经不能正常使用了。于是,QQ群里抱怨辱骂的朋友开始增多。随着时代的发展,微博已经被微信彻底甩掉,失去了兴趣;同时,对于我自己来说,在这个行业里为了生存而生存几年后,日子越来越不好过,我没有时间。然后和新浪官方同步更新SDK,所以自13年之后,V2版本的SDK就没有再更新了。虽然微博的风潮没了,但还是有很多朋友通过新浪开放平台页面下载了我发布的SDK。可以说,由于长期不更新,老版本严重误导了新朋友。这也是我开发的。SDK 新版本的另一个重要原因。SDK第三版的一些说明
  指示
  第一步是初始化客户端
  如果用户没有被授权
  使用微博开放平台后台提供的appkey、appsecret、callback_url初始化客户端。
  ", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "");
  然后获取授权页面地址,访问授权地址,获取Authorization_Code
  var url = openAuth.GetAuthorizationUrl();
  根据返回的Code兑换AccessToken
  openAuth.GetAccessTokenByCode("[CODE]");
if(openAuth.IsAuthorized)
{
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
}
  重要的!!!获取到AccessToken和UID后,请保存这两个数据,以后的接口调用会直接使用这两个参数,所以不需要每次都执行第一步和第二步。
  接下来就可以跳转到第二步调用官方API了。
  当然,如果你之前已经被授权并且已经获得了AccessToken和UID,那么使用下面的方法来初始化客户端。
  ", "", "", "");"&gt;
  var openAuth = new SinaWeiboClient("", "", "", "");
  之后就可以直接跳转到第二步调用API了。
  第二步调用接口
  这里提供了Get和Post两个方法调用官方API,也提供了异步支持。使用时根据官方文档的要求选择是使用Get还是Post调用API(调用方法在官方文档中有明确说明)。
  调用接口传递参数有两种方式。一个是传入一个Dictionary类型的参数组,一个是传入一个名为new的匿名类。我个人认为使用匿名类是非常科学的。
  例如调用API获取当前登录用户的最新微博
  {{"count", 5},{"page", 1},{"base_app", 0}}); //这里可以使用字典或者匿名类来传递参数,参数名,大小写,参数顺序和规范请参考官方api文档 if (result.IsSuccessStatusCode){Console.WriteLine(result.Content.ReadAsStringAsync( ).结果);}"&gt;
  var result = openAuth.HttpGet("statuses/friends_timeline.json",
new Dictionary
{
{"count", 5},
{"page", 1},
{"base_app" , 0}
}); //这里可以使用字典或者匿名类的方式传递参数,参数名称、大小写、参数顺序和规范请参照官方api文档
if (result.IsSuccessStatusCode)
{
Console.WriteLine(result.Content.ReadAsStringAsync().Result);
}
  另外,如果需要异步调用,请参考下面的例子。
  对象的类型也可以直接传入匿名类。参数对应官方api文档中的参数 new {uid = openAuth.UID});response.ContinueWith(task =&gt;{//asynchronous processing result});"&gt;
  // 调用获取获取用户信息api
// 参考:http://open.weibo.com/wiki/2/users/show
var response = openAuth.HttpGetAsync("users/show.json",
//可以传入一个Dictionary类型的对象,也可以直接传入一个匿名类。参数与官方api文档中的参数相对应
new {
uid = openAuth.UID
});
response.ContinueWith(task =>{
//异步处理结果
});
  如果使用.net4.5,可以直接使用async和await关键字来简化上述操作。
  另外,由于新浪官方限制现在产生了登录验证码,新版SDK不再提供之前版本的模拟登录获取授权(ClientLogin)。对于Winform和Console应用,可以参考NetDimension.OpenAuth.Winform类,该类提供了扩展方法,可以在上述两种项目类型中弹出授权窗口,并在用户授权后自动获取Authorization_Code。具体操作请参见Winform和Console示例代码。
  using NetDimension.OpenAuth.Winform;
...
var form = openAuth.GetAuthenticationForm();
if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Console.WriteLine("用户授权成功!");
var accessToken = openAuth.AccessToken;
var uid = openAuth.UID;
//其他操作
//...
}
else
{
Console.WriteLine("用户授权失败!");
}
  执行上述代码时,会弹出下图所示的窗口。
  用户登录后,SDK 会使用正则表达式从回调地址中获取 Authorization_Code。
  关于源代码中的例子
  例子没什么好说的。源代码中有三个示例。它们是一个 MVC 网页示例、两个桌面控制台和 WinForm 示例。
  示例中,明文写了一组APPKey以及对应的Secret和回调地址。如果你不改变它,这个例子应该可以正常工作。如果改成自己的Key出现错误,请自行谷歌设置回调地址。
  MVC 的示例设置稍微复杂一些。需要修改IIS Express的配置,使得网站可以通过127.0.0.1或192.16 8.0.100这样的IP地址是可以访问的,否则在回调过程中无法访问。MVC示例的主页上有修改教程。如果示例不起作用,请打开 Views\Home\Index.cshtml 查看是否已修改。
  Winform 示例运行截图
  
  
  网站示例运行截图
  
  还有一点需要注意的是,如果你使用的是VS2015,IIS Express配置文件applicationhost.config的地址不再是“Documents\IIS Express\”,而是在项目地址下的.vs目录下,这是一个隐藏目录, 直接在地址栏中输入路径即可访问。
  控制台示例运行的屏幕截图
  
  有调用腾讯微博的例子,但是腾讯的要求很严格。申请app需要网站验证,因为我用的是朋友的网站,所以请有需要的朋友或者自己注册app(腾讯微博开发者平台的api文档服务器是不是挂了?反正,我提不起来。)另外,在腾讯的例子中,有一种在微博上发图片的方法,严格按照腾讯api文档写的,但是不能正常使用。如果有朋友知道原因,请告诉我们。腾讯的例子只是为了说明新版SDK可以通过继承方便的扩展到微信开放平台、人人网等其他平台。请了解如何使用它。
  示例代码已收录在源代码中,具体请自行查阅代码。
  以上是新版本的全部内容。
  正如开头所说,新浪微博觉得大势已去,所以本次微博SDK不会更新新版本。本SDK第三版为最终版本,仅用于维护和BUG修正,不再添加或更新新内容。如果有继续对新浪开发平台感兴趣的朋友,请到GitHub上克隆代码,根据需要扩展功能。
  最后感谢QQ群里的所有朋友这几年的支持和鼓励,谢谢。

使用新浪微博开放平台api同步微博内容至自己网站(直播服务器端安装及下载地址:PPVOD频道的输入与输出写法)

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

  使用新浪微博开放平台api同步微博内容至自己网站(直播服务器端安装及下载地址:PPVOD频道的输入与输出写法)
  应用场景:
  某幼儿园需要将教室的摄像头监控画面广播到互联网上,家长可以通过网络直播了解孩子在校情况。
  幼儿园安装了某品牌的摄像头,摄像头的编码为H264编码,网络摄像头的访问地址为:rtsp://admin:[emailprotected]:554/h264/ch1/main/av_stream,其中可以通过VLC软件查看地址的直播画面。
  网络和硬件构建如下:
  
  从上图可以看出,一台普通电脑和一套直播管理软件就可以在幼儿园现场采集摄像机的RTSP地址,然后通过客户端私有发送到网络服务器的直播平台。协议。一种观看直播监控画面的手机。
  
  客户端通道的输入输出写入
  
  要使用私有协议,请在服务器端打开端口 28002。输入源写的是:client://client通道ID,写哪个通道字符串来接收哪个通道的流,输出默认的HLS,并保存。
  由于普通摄像头不具备rtmp码流的功能,需要使用直播软件将获取到的RTSP码流推送到网络服务器。PPVOD直播软件不仅具有各种协议转换功能,还能通过私有协议将流从本地推送到网络。服务器。PPVOD直播软件的客户端私有协议传输安全性高,频道识别随机性强,隐蔽性好,不能被外界破解。它是流媒体的最佳选择。
  该方案成本低,无需特殊相机设置,应用范围广。目前,市场上90%以上的摄像机使用h264编码,无需转码。如果摄像机的音频不标准或者没有音频输入,我们的直播平台会做相应的处理,以满足直播的需要。
  如果摄像机端基于公网静态IP环境,服务器端可以直接获取摄像机的网络rtsp地址作为输入源,可以跳过在摄像机网络安装直播系统的步骤。
  Live服务器端安装下载地址:
  PPVOD视频点播系统下载地址:
  PPVOD全能直播软件下载地址: 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(直播服务器端安装及下载地址:PPVOD频道的输入与输出写法)
  应用场景:
  某幼儿园需要将教室的摄像头监控画面广播到互联网上,家长可以通过网络直播了解孩子在校情况。
  幼儿园安装了某品牌的摄像头,摄像头的编码为H264编码,网络摄像头的访问地址为:rtsp://admin:[emailprotected]:554/h264/ch1/main/av_stream,其中可以通过VLC软件查看地址的直播画面。
  网络和硬件构建如下:
  
  从上图可以看出,一台普通电脑和一套直播管理软件就可以在幼儿园现场采集摄像机的RTSP地址,然后通过客户端私有发送到网络服务器的直播平台。协议。一种观看直播监控画面的手机。
  
  客户端通道的输入输出写入
  
  要使用私有协议,请在服务器端打开端口 28002。输入源写的是:client://client通道ID,写哪个通道字符串来接收哪个通道的流,输出默认的HLS,并保存。
  由于普通摄像头不具备rtmp码流的功能,需要使用直播软件将获取到的RTSP码流推送到网络服务器。PPVOD直播软件不仅具有各种协议转换功能,还能通过私有协议将流从本地推送到网络。服务器。PPVOD直播软件的客户端私有协议传输安全性高,频道识别随机性强,隐蔽性好,不能被外界破解。它是流媒体的最佳选择。
  该方案成本低,无需特殊相机设置,应用范围广。目前,市场上90%以上的摄像机使用h264编码,无需转码。如果摄像机的音频不标准或者没有音频输入,我们的直播平台会做相应的处理,以满足直播的需要。
  如果摄像机端基于公网静态IP环境,服务器端可以直接获取摄像机的网络rtsp地址作为输入源,可以跳过在摄像机网络安装直播系统的步骤。
  Live服务器端安装下载地址:
  PPVOD视频点播系统下载地址:
  PPVOD全能直播软件下载地址:

使用新浪微博开放平台api同步微博内容至自己网站(历时三天,新浪微博APP分享是未审核的应用了 )

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

  使用新浪微博开放平台api同步微博内容至自己网站(历时三天,新浪微博APP分享是未审核的应用了
)
  新浪微博开放平台申请已通过审核,历时三天。看来这没什么,还是写下来分享一下吧。下次共享不再是未经审查的应用程序。这个新浪APP。. . . 申请的时候还以为不会通过,因为我的域名没有注册。就像百度联盟一样,如果是真的就好了。新浪微博APP功能及性能:2.1个崩溃的应用程序将被拒绝;2.2个有错误的应用将被拒绝;2.3 不匹配开发者的推广应用将被拒绝;2.4 没有申请文件或隐藏功能与描述不符的应用将被拒绝;2.5 使用非公开 API 的应用将被拒绝;2. 6 在指定容器外读写数据的应用将被拒绝;2.7 以任何方式或形式下载代码的应用将被拒绝;2.8 安装或发布其他可执行代码2.9 演示版、试用版和测试版的申请将被拒绝;2.10个与新浪微博开放平台现有申请重复的申请可能会被拒绝,尤其是数量大的时候;2.11个没有明显目的或提供任何持久娱乐价值的应用程序可能会被拒绝;2.12个主要内容为营销或广告的应用程序将被拒绝;2.13个欺骗性或虚假功能,未明确标记的应用程序将被拒绝;2. 14 互联网浏览应用必须使用新浪微博开放平台提供的网页框架;2.15 提供 诊断错误或其他不准确数据的申请将被拒绝;2.16 将大量类似版本应用上传至新浪微博开放平台的开发者将被移除开发者项目;2.17个使用非法文件共享的应用将被拒绝;2.18个旨在用作非法赌博辅助工具(包括算牌)的应用程序将被拒绝;2. 19 具有匿名或恶作剧功能或发送类似短信/彩信功能的应用程序将被拒绝;2.20名开发者开发秘密采集用户密码或用户隐私数据的应用程序将从新浪微博开放平台下架;2. 21 应用程序中不允许弹出窗口;2.22 申请内容访问速度过慢,内容响应速度平均超过6秒,会被拒绝。最后,上图:
  
  
  
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(历时三天,新浪微博APP分享是未审核的应用了
)
  新浪微博开放平台申请已通过审核,历时三天。看来这没什么,还是写下来分享一下吧。下次共享不再是未经审查的应用程序。这个新浪APP。. . . 申请的时候还以为不会通过,因为我的域名没有注册。就像百度联盟一样,如果是真的就好了。新浪微博APP功能及性能:2.1个崩溃的应用程序将被拒绝;2.2个有错误的应用将被拒绝;2.3 不匹配开发者的推广应用将被拒绝;2.4 没有申请文件或隐藏功能与描述不符的应用将被拒绝;2.5 使用非公开 API 的应用将被拒绝;2. 6 在指定容器外读写数据的应用将被拒绝;2.7 以任何方式或形式下载代码的应用将被拒绝;2.8 安装或发布其他可执行代码2.9 演示版、试用版和测试版的申请将被拒绝;2.10个与新浪微博开放平台现有申请重复的申请可能会被拒绝,尤其是数量大的时候;2.11个没有明显目的或提供任何持久娱乐价值的应用程序可能会被拒绝;2.12个主要内容为营销或广告的应用程序将被拒绝;2.13个欺骗性或虚假功能,未明确标记的应用程序将被拒绝;2. 14 互联网浏览应用必须使用新浪微博开放平台提供的网页框架;2.15 提供 诊断错误或其他不准确数据的申请将被拒绝;2.16 将大量类似版本应用上传至新浪微博开放平台的开发者将被移除开发者项目;2.17个使用非法文件共享的应用将被拒绝;2.18个旨在用作非法赌博辅助工具(包括算牌)的应用程序将被拒绝;2. 19 具有匿名或恶作剧功能或发送类似短信/彩信功能的应用程序将被拒绝;2.20名开发者开发秘密采集用户密码或用户隐私数据的应用程序将从新浪微博开放平台下架;2. 21 应用程序中不允许弹出窗口;2.22 申请内容访问速度过慢,内容响应速度平均超过6秒,会被拒绝。最后,上图:
  
  
  
  

使用新浪微博开放平台api同步微博内容至自己网站(获得新浪微博AccessToken的步骤是怎样的?(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(获得新浪微博AccessToken的步骤是怎样的?(图))
  获得新浪微博AccessToken的步骤是这样的
  参考:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  
  1.首先让用户授权你的APP获取代码
  例如:点击下方链接授权后,在url上会得到一个code参数
  ://
  2.将此代码发送到服务器接口。服务端收到代码后,执行下载文件中的代码返回AccessToken(或直接从服务端获取Token,执行微博API的各种操作)
  代码示例:
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.weibo.com/oauth2/access_token");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;";
request.Headers.Add(string.Format("Authorization: key={0}", "123456"));
string postData = "client_id=123456";
postData += ("&client_secret=123456");
postData += ("&grant_type=authorization_code");
postData += ("&redirect_uri=http://www.cfxixi.com");
postData += ("&code=123456");
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
//發出Request
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseStr = reader.ReadToEnd();
reader.Close();
responseStream.Close();
response.Close();
  Demo下载可以到我的Q群分享下载250395324 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(获得新浪微博AccessToken的步骤是怎样的?(图))
  获得新浪微博AccessToken的步骤是这样的
  参考:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
  
  1.首先让用户授权你的APP获取代码
  例如:点击下方链接授权后,在url上会得到一个code参数
  ://
  2.将此代码发送到服务器接口。服务端收到代码后,执行下载文件中的代码返回AccessToken(或直接从服务端获取Token,执行微博API的各种操作)
  代码示例:
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.weibo.com/oauth2/access_token";);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;";
request.Headers.Add(string.Format("Authorization: key={0}", "123456"));
string postData = "client_id=123456";
postData += ("&client_secret=123456");
postData += ("&grant_type=authorization_code");
postData += ("&redirect_uri=http://www.cfxixi.com";);
postData += ("&code=123456");
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
//發出Request
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseStr = reader.ReadToEnd();
reader.Close();
responseStream.Close();
response.Close();
  Demo下载可以到我的Q群分享下载250395324

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台文章同步到新浪微博的几种方法(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台文章同步到新浪微博的几种方法(图))
  .
  WordPress文章同步新浪微博的几种方式
  相信现在很多网友都用过微博了,微博也挺火的!在使用WordPress的博主中,使用微博的人数可能更多,因为博客圈里有一种观点:微博是一个很好的推广平台。新浪微博是比较流行的一种。也许你听说过如何将WordPress 文章 同步发布到新浪微博,但我在这里不得不啰嗦一下。它可能与您之前看到的有所不同。. 插件的方法我就不介绍了,大家需要上网搜一下。
  方法一:关联博客。方法一其实很简单。您可以直接使用新浪微博的关联博客功能。使用方法:点击新浪微博右上角的“工具”菜单,然后点击“关联博客”填写你的博客链接!这样,你的博客每更新一次文章,就会同时发送一条格式如下的微博到新浪微博:文章Title + 文章 URL 方式二:微博开放平台界面
  方法一只能以文章标题+文章 URL的形式同步到新浪微博,微博内容无法自定义。使用新浪微博的开放平台界面可以大大增加自由度,但是需要写一些代码,其实很简单,复制粘贴代码即可。打开你的当前
  使用主题目录下的functions.php,复制以下代码到第一个 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台文章同步到新浪微博的几种方法(图))
  .
  WordPress文章同步新浪微博的几种方式
  相信现在很多网友都用过微博了,微博也挺火的!在使用WordPress的博主中,使用微博的人数可能更多,因为博客圈里有一种观点:微博是一个很好的推广平台。新浪微博是比较流行的一种。也许你听说过如何将WordPress 文章 同步发布到新浪微博,但我在这里不得不啰嗦一下。它可能与您之前看到的有所不同。. 插件的方法我就不介绍了,大家需要上网搜一下。
  方法一:关联博客。方法一其实很简单。您可以直接使用新浪微博的关联博客功能。使用方法:点击新浪微博右上角的“工具”菜单,然后点击“关联博客”填写你的博客链接!这样,你的博客每更新一次文章,就会同时发送一条格式如下的微博到新浪微博:文章Title + 文章 URL 方式二:微博开放平台界面
  方法一只能以文章标题+文章 URL的形式同步到新浪微博,微博内容无法自定义。使用新浪微博的开放平台界面可以大大增加自由度,但是需要写一些代码,其实很简单,复制粘贴代码即可。打开你的当前
  使用主题目录下的functions.php,复制以下代码到第一个

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博:山寨版的twitter,各种粉丝的登录逻辑)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博:山寨版的twitter,各种粉丝的登录逻辑)
  新浪微博:盗版推特,各种粉丝的集散地,天朝国人的最爱,基本上所有网友都有微博账号,所以使用新浪微博账号进行三向登录就显得尤为重要改善用户登录体验。这次我用Python3+Tornado5集成了微博登录,记录一下,还是有很多坑。
  首先注册微博开放平台:
  选择微链接-》网站访问=&gt;立即访问创建新应用
  
  应用创建成功后,会立即跳转到审核页面。您需要填写一些资格进行审核。其实这些review的领域是不需要打理的,申请完全不需要通过review
  
  直接拿到appkey和appsecret,然后马上点击高级信息填写回调URL
  
  需要注意的是,回调授权和取消回调授权地址需要一致
  那么新浪微博的登录逻辑就很简单了:拼接url=&gt;回调获取code=&gt;uid和access_token交换code=&gt;使用access_token获取用户信息
  首先第一步是拼接url,这里我们使用Tornado来编写控制器
  #新浪微博登录地址组合返回(第一步)
class SinaFirstHandler(BaseHandler):
def get(self,*args,**kwargs):
#微博接口地址
weibo_auth_url = "https://api.weibo.com/oauth2/authorize"
#回调网址
redirect_url = "http://127.0.0.1:8000/md_admin/weibo"
#应用id
client_id = "2636039333"
#组合url
auth_url = weibo_auth_url + "?client_id={client_id}&redirect_uri={re_url}".format(client_id=client_id,
re_url=redirect_url)
self.write(auth_url)
  第二步,回调获取code,交换access_token和uid
  #新浪微博回调地址(第二步)
class SinaBackHandler(BaseHandler):
def get(self,*args,**kwargs):
#获取回调的code
code = self.get_argument('code')
#微博认证地址
access_token_url = "https://api.weibo.com/oauth2/access_token"
#参数 向新浪接口发送请求
re_dict = requests.post(access_token_url,data={
"client_id": '2636039333',
"client_secret": "4e2fbdb39432c31dc5c2f90be3afa5ce",
"grant_type": "authorization_code",
"code": code,
"redirect_uri": "http://127.0.0.1:8000/md_admin/weibo",
})
re_dict = re_dict.text
re_dict = eval(re_dict)
print(re_dict.get('uid'))
self.write(re_dict)
  接下来的情况就有点乱了,因为新浪规定,如果申请没有通过审核,那么部分新浪接口是没有权限请求的。可以说,你手上只有access_token和uid,其他的也改不了。我该怎么办,没有人会免费拿到营业执照来测试接口,但是有一个曲线救国,就是在测试信息页面上添加一个测试帐户。添加测试账号后,就可以请求相应的接口了。
  
  最后使用你手上的access_token和uid获取当前用户的用户名
  result = requests.get('https://api.weibo.com/2/users/show.json',params={'access_token':res['access_token'],'uid':res['uid']})
result = json.loads(result.text)
print(result['name'])
  可以看到接口请求成功
  
  完成它。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博:山寨版的twitter,各种粉丝的登录逻辑)
  新浪微博:盗版推特,各种粉丝的集散地,天朝国人的最爱,基本上所有网友都有微博账号,所以使用新浪微博账号进行三向登录就显得尤为重要改善用户登录体验。这次我用Python3+Tornado5集成了微博登录,记录一下,还是有很多坑。
  首先注册微博开放平台:
  选择微链接-》网站访问=&gt;立即访问创建新应用
  
  应用创建成功后,会立即跳转到审核页面。您需要填写一些资格进行审核。其实这些review的领域是不需要打理的,申请完全不需要通过review
  
  直接拿到appkey和appsecret,然后马上点击高级信息填写回调URL
  
  需要注意的是,回调授权和取消回调授权地址需要一致
  那么新浪微博的登录逻辑就很简单了:拼接url=&gt;回调获取code=&gt;uid和access_token交换code=&gt;使用access_token获取用户信息
  首先第一步是拼接url,这里我们使用Tornado来编写控制器
  #新浪微博登录地址组合返回(第一步)
class SinaFirstHandler(BaseHandler):
def get(self,*args,**kwargs):
#微博接口地址
weibo_auth_url = "https://api.weibo.com/oauth2/authorize"
#回调网址
redirect_url = "http://127.0.0.1:8000/md_admin/weibo"
#应用id
client_id = "2636039333"
#组合url
auth_url = weibo_auth_url + "?client_id={client_id}&redirect_uri={re_url}".format(client_id=client_id,
re_url=redirect_url)
self.write(auth_url)
  第二步,回调获取code,交换access_token和uid
  #新浪微博回调地址(第二步)
class SinaBackHandler(BaseHandler):
def get(self,*args,**kwargs):
#获取回调的code
code = self.get_argument('code')
#微博认证地址
access_token_url = "https://api.weibo.com/oauth2/access_token"
#参数 向新浪接口发送请求
re_dict = requests.post(access_token_url,data={
"client_id": '2636039333',
"client_secret": "4e2fbdb39432c31dc5c2f90be3afa5ce",
"grant_type": "authorization_code",
"code": code,
"redirect_uri": "http://127.0.0.1:8000/md_admin/weibo",
})
re_dict = re_dict.text
re_dict = eval(re_dict)
print(re_dict.get('uid'))
self.write(re_dict)
  接下来的情况就有点乱了,因为新浪规定,如果申请没有通过审核,那么部分新浪接口是没有权限请求的。可以说,你手上只有access_token和uid,其他的也改不了。我该怎么办,没有人会免费拿到营业执照来测试接口,但是有一个曲线救国,就是在测试信息页面上添加一个测试帐户。添加测试账号后,就可以请求相应的接口了。
  
  最后使用你手上的access_token和uid获取当前用户的用户名
  result = requests.get('https://api.weibo.com/2/users/show.json',params={'access_token':res['access_token'],'uid':res['uid']})
result = json.loads(result.text)
print(result['name'])
  可以看到接口请求成功
  
  完成它。

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发一个基于sina微博开放平台的应用(App)(组图))
  本文文章主要介绍使用Java验证通过OAuth协议发送微博的教程。它使用新浪微博为Java开放的API weibo4j。有需要的朋友可以参考
  新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有基本接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是看了新浪微博开放平台上的一系列解释,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证和授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再回头看这个流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对各个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,该服务在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。事实上,浏览器被重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),Provider会被重定向到流程1Consumer提供的Callback_URL,URL参数附加OAuth Token和 OAuth 验证程序。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问相应User存储在Provider中的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的了解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  此外,在上图中,Consumer 向 Provider 发出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。下面是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
   package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式认证 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 准备好Consumer Key、Consumer Secret // 对应于新浪微博应用就是申请到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根据传入的 callback_url 获取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并获得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("获取Request token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 request token 和 verifier 获取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("获取Access token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 Access Token 和内容发表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功发表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博内容转编码发生异常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println("发表微博发生异常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。 请点击进行Web方式的OAuth认证!
  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
   writeWeibo.html,很简单的HTML文件。 发布sina微博 请在这里写上140字符以内的文本:</br>测试新浪微博!</br></br> updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。
  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包也要添加到\WEB-INF\lib目录下,以及weibo4j.jar(里面是具体的新浪微博开放平台中的Java实现)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码并授权。以下是我用来测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我试了很多次才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息cookie已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改用于授权;
  3、 控制台中也有一些输入的信息,比如Token、URL、服务器返回信息等,截图中没有显示。
  以上就是使用Java验证OAuth协议发送微博的教程的详细内容。更多详情请关注其他相关html中文网站文章! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(我要开发一个基于sina微博开放平台的应用(App)(组图))
  本文文章主要介绍使用Java验证通过OAuth协议发送微博的教程。它使用新浪微博为Java开放的API weibo4j。有需要的朋友可以参考
  新浪微博开放平台虽然提供了各种语言的开发SDK下载,但也有基本接口调用的demo和接口说明文档。但是经过这几天的耐心尝试,感觉新浪微博开放平台上的入门指南与下载的Java开发包weibo4j包中的demo使用注释有些不一致。再加上自我理解能力有限,导致了很多困惑。幸运的是,我并没有放弃尝试去理解它。废话少说,以下是我的学习过程。
  如果你想通过调用新浪微博开放平台API开发自己的微博应用,首先要有一个新浪微博账号和一个CSDN账号,因为我们需要同时用这两个账号创建一个微博应用获取App key和Secret key。App key和Secret key有什么用?
  其实我只是看了新浪微博开放平台上的一系列解释,并不是很了解App key和Secret key的使用。因为更重要的是了解OAuth认证授权的整个过程,以及几个Token和4个URL在整个OAuth认证授权过程中的作用。
  当我第一次遇到完全没有概念的 OAuth 时,我认为它是不可能学习的。幸好找到了下面的文章,对理解OAuth很有帮助。链接如下:
  OAuth 有 3 个参与者,分别是 User、Service Provider 和 Consumer。假设我想开发一个基于新浪微博开放平台的应用(App),供其他新浪微博用户使用。它们的对应关系如下:
  实际上,我们的App相当于User和Provider(新浪微博平台)的第三方应用。作为第三方App,如果要访问用户在新浪微博平台上保存的资源,必须经过一系列的认证和授权才能工作。
  下面是根据我对整个OAuth认证和授权流程的理解绘制的图(可以跳过,对以下一些概念有一定了解后再回头看这个流程图):
  
  结合上面的流程图,下面是我对这些术语的理解以及对各个过程的描述:
  消费者秘钥和消费者秘钥:在新浪微博开放平台上分别称为App秘钥和秘钥。消费者向提供者申请,希望能够调用其开放的API。申请通过后,Provider将其分配给满足其要求的Consumer,以唯一标识该Consumer满足Provider的要求。
  对应上图中的流程1和流程2。
  Request Token、Request Secret:当用户访问Consumer,希望获得其特殊服务时,该服务在整合了Provider中存储的用户自己的资源后由Consumer返回。此时,Consumer向Provider请求获取Requst Token,用于唯一标识Consumer和User之间的具体关联。
  对应上图中的过程3、4、5。
  要处理 6,消费者必须将用户引导至提供者提供的 OAuth 身份验证和授权页面。事实上,浏览器被重定向到带有请求令牌和请求秘密参数的 authenticationURL。URL 由提供商提供。
  接下来,User在流程7和流程8中授权Consumer(一般是通过输入账号和密码登录),Provider会被重定向到流程1Consumer提供的Callback_URL,URL参数附加OAuth Token和 OAuth 验证程序。
  流程9是Consumer使用之前从Provider获取的Request Token再次向Provider请求获取Access Token。
  Access Token,Access Secret:如果流程10中的Provider返回一个未经User授权的Access Token,用于唯一标识特定Consumer可以访问用户在Provider中存储的资源和信息。然后Consumer就可以开始使用获取到的Access Token和Access Secret来访问相应User存储在Provider中的资源了。
  在流程11中对用户信息进行整合操作后,即可将具体的服务结果返回给用户。
  通过以上对OAuth流程的了解,我们知道,实际上User并没有向第三方Consumer透露登录Provider所需的账号和密码。同时,用户可以使用消费者的特殊服务。多么巧妙而安全的操作过程!
  此外,在上图中,Consumer 向 Provider 发出了 3 个不同的请求。实际上,Provider 提供了 3 个不同功能的 URL 供 Consumer 访问。这3个网址在新浪微博开放平台的截图如下:
  
  新浪微博开放平台使用OAuth验证并发布微博
  使用新浪微博开放平台的API,首先需要获取新浪分配的App key和App Secret。下面是我创建应用后新浪分配的App key和App Secret(这个要保密)。
  
  然后下载微博SDK,我用的是Java的weibo4j。
  将SDK包中的weibo.java类的App Key和App Secret修改为刚刚获取的App Key和App Secret,如下图使用说明所示:
  
  完成这些之后,就可以根据提供的Demo开始编写代码了。如下:
  WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供getRequestToken()和gettAccessToken()方法获取Request Token和Access Token。所需参数如代码所示。此外,还提供了发布文本微博的update()方法。
   package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式认证 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 准备好Consumer Key、Consumer Secret // 对应于新浪微博应用就是申请到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根据传入的 callback_url 获取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并获得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("获取Request token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 request token 和 verifier 获取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("获取Access token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 Access Token 和内容发表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功发表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博内容转编码发生异常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println("发表微博发生异常!"); e.printStackTrace(); } } } request.jsp,用于提供 callback_url(这里我们自定义为下文中的callback.jsp),当获取得到RequestToken之后,保存该RequestToken到Session中,并将页面重定向到callback.jsp进行验证、授权。 请点击进行Web方式的OAuth认证!
  callback.jsp,在上一步重定向之后,oauth_verifier 参数会附加到callback_url。这时候我们根据Session中存储的RequestToken和获取到的oauth_verifier参数来申请AccessToken。获取到AccessToken后,我们将页面重定向到writeWeibo.html页面,用于写微博。
   writeWeibo.html,很简单的HTML文件。 发布sina微博 请在这里写上140字符以内的文本:</br>测试新浪微博!</br></br> updateWeibo.jsp,用于发表文本微博,即调用WebOAuth.java 中的update方法。
  在运行之前,我们要准备好Tomcat,把上面的源文件放到正确的目录下。另外,SDK包中收录的commons-httpclient-3.1.jar包也要添加到\WEB-INF\lib目录下,以及weibo4j.jar(里面是具体的新浪微博开放平台中的Java实现)。
  运行Tomcat,在浏览器中访问request.jsp页面,如下图:
  
  点击链接,如下图(注意地址栏的变化):
  
  地址栏的网址如下:
  ://localhost:8080/sinaweibo/callback.jsp
  填写具体有效的新浪微博账号、密码并授权。以下是我用来测试授权的微博账号的填写结果:
  
  地址栏的网址如下:
  :8080/sinaweibo/writeWeibo.html
  点击“发布”,如下图:
  
  登录微博查看,如下图:
  
  查看账户授权的应用列表:
  到目前为止,关于 OAuth
  
  使用新浪微博开放平台发布微博的方式大概就是这个过程。
  概括:
  1、 其实还有很多细节没说到。我试了很多次才发现问题,理解问题,然后解决问题。
  2、 如果我们登录新浪微博的账号信息cookie已经保存在浏览器中,那么授权时就不需要输入账号信息了,当然不用当前账号也可以修改用于授权;
  3、 控制台中也有一些输入的信息,比如Token、URL、服务器返回信息等,截图中没有显示。
  以上就是使用Java验证OAuth协议发送微博的教程的详细内容。更多详情请关注其他相关html中文网站文章!

使用新浪微博开放平台api同步微博内容至自己网站(腾讯微博开放平台开发者服务协议如何开发微博应用?(图))

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

  使用新浪微博开放平台api同步微博内容至自己网站(腾讯微博开放平台开发者服务协议如何开发微博应用?(图))
  腾讯微博开放平台API现已开放。使用腾讯微博开放平台提供的API创建自己的应用程序,您必须先填写个人信息,联系邮箱验证,取得开发者资质,才能创建自己的应用程序。腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧将创造无穷无尽的应用和乐趣。
  平台说明:
  腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧,创造无穷的应用和乐趣!
  平台介绍——微博开放平台可以获得的资源和优势
  应用程序开发说明-讲解如何成为开发人员并创建应用程序
  申请审核流程——审核申请源字段的好处,以及如何审核
  开发者协议——在此查看腾讯微博开放平台开发者服务协议
  如何开发微博应用?(立即成为开发人员)
  您只需要按照以下步骤操作:
  第一步:填写您的开发者信息;
  第二步:验证联系邮箱;(电子邮件将作为我们与您联系的重要方式,请提供常用的电子邮件地址)
  第三步:填写要创建的应用信息。
  您可以立即获取微博App Key和App Secret,调用微博API,开始应用开发。查看详细说明
  ----
  代表中国最先进互联网技术的腾讯终于迈出了开放的第一步:-) 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(腾讯微博开放平台开发者服务协议如何开发微博应用?(图))
  腾讯微博开放平台API现已开放。使用腾讯微博开放平台提供的API创建自己的应用程序,您必须先填写个人信息,联系邮箱验证,取得开发者资质,才能创建自己的应用程序。腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧将创造无穷无尽的应用和乐趣。
  平台说明:
  腾讯微博开放平台是基于腾讯微博系统面向开发者和用户开放的数据共享和传播平台。开发者和用户登录平台后,可以使用平台提供的开放API接口创建应用程序,从微博系统获取信息,或将新信息传播到整个微博系统。可以添加各种 API 接口和应用程序。发挥你的智慧,创造无穷的应用和乐趣!
  平台介绍——微博开放平台可以获得的资源和优势
  应用程序开发说明-讲解如何成为开发人员并创建应用程序
  申请审核流程——审核申请源字段的好处,以及如何审核
  开发者协议——在此查看腾讯微博开放平台开发者服务协议
  如何开发微博应用?(立即成为开发人员)
  您只需要按照以下步骤操作:
  第一步:填写您的开发者信息;
  第二步:验证联系邮箱;(电子邮件将作为我们与您联系的重要方式,请提供常用的电子邮件地址)
  第三步:填写要创建的应用信息。
  您可以立即获取微博App Key和App Secret,调用微博API,开始应用开发。查看详细说明
  ----
  代表中国最先进互联网技术的腾讯终于迈出了开放的第一步:-)

使用新浪微博开放平台api同步微博内容至自己网站(有些特殊的emoji表情符会被「同步圈」识别错误!)

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

  使用新浪微博开放平台api同步微博内容至自己网站(有些特殊的emoji表情符会被「同步圈」识别错误!)
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博账号逐渐被抛弃,而这个工具可以帮你自动同步任何朋友圈图文内容到你的微博。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址在这里。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信账号,很快就会通过验证。
  接下来,您需要将二维码下方的四位验证码发送到“同步圈”账号,系统会提示您绑定成功!
  经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情符号不一致造成的。
  从原理上看,“同步圈”调用了微信朋友圈侧的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送同样的内容内容出去。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  遗憾的是,根据pc6编辑对腾讯和微信团队的了解,这个同步圈的“小聪明”可能很快就会失败。
  安卓版
  
  新浪微博类型:社交聊天 大小:39.9M 版本:v5.6.0 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(有些特殊的emoji表情符会被「同步圈」识别错误!)
  在微信公众号和朋友圈疯狂挤压个人时间的当下,很多人的微博账号逐渐被抛弃,而这个工具可以帮你自动同步任何朋友圈图文内容到你的微博。
  这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博上。
  
  为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用您的个人微博账号登录同步推文。网址在这里。获得登录授权后,网页上会显示二维码。用微信扫一扫后,添加一个名为“同步圈”的个人微信账号,很快就会通过验证。
  接下来,您需要将二维码下方的四位验证码发送到“同步圈”账号,系统会提示您绑定成功!
  经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。经过实测,我也发现一些特殊的表情符号会被“同步圈”误识别,可能会造成一些歧义或误解。这可能是微信朋友圈和微博支持的表情符号不一致造成的。
  从原理上看,“同步圈”调用了微信朋友圈侧的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后利用微博开放平台的API接口发送同样的内容内容出去。抽象地说,“同步圈”与著名的自动化服务IFTTT非常相似。只是它在微信封闭的城墙上开设了一个单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
  遗憾的是,根据pc6编辑对腾讯和微信团队的了解,这个同步圈的“小聪明”可能很快就会失败。
  安卓版
  
  新浪微博类型:社交聊天 大小:39.9M 版本:v5.6.0

使用新浪微博开放平台api同步微博内容至自己网站(郑敏先任职于)

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

  使用新浪微博开放平台api同步微博内容至自己网站(郑敏先任职于)
  作者简介:郑敏贤,曾任职,售前工程师。从事SDN、白盒交换机等开放网络产品的推广。
  
  成立于 2005 年。该公司提供了一个开源网络操作系统,也称为 Vyatta,可以在商用硬件上运行。Vyatta 的名字取自梵文中的“open”,发音为“vee-at-ah”。2006年,推出Vyatta商业订阅版,每年定价500美元。
  
  随着云计算的发展,Vyatta得到了众多公有云厂商的支持。例如,AWS Marketplace 中的第一个虚拟路由器应用程序是 Vyatta:
  
  2012年11月博科收购Vyatta后,开源社区版被取消,软件更名为Vyatta vRouter。但 Vyatta 的开源之路并没有结束。为了响应博科停止 Vyatta 社区版的决定,独立开发人员从 Vyatta Core 6.6 R1 版本(VyOS 开源软件项目)中分出一个分支。
  从 Vyatta 到 dNOS
  Vyatta 于 2017 年 7 月被 AT&amp;T 收购。 Vyatta NOS 构成了 AT&amp;T 开源 dNOS(分解网络操作系统)平台的基础。
  dNOS 由硬件和软件组件组成:
  AT&amp;T 在这些场景中使用 dNOS 软件:
  
  dNOS功能及组件图
  简单分析一下上图中的三个层次:
  1、应用程序是路由器上控制平面或管理平面组件的任何网络功能。
  2、共享基础设施和数据。NOS 必须能够使用通用方法和协议在来自不同供应商的应用程序之间共享数据。dNOS 的一个关键目标是创建一个促进应用程序之间共享的开放环境。为此,dNOS 包括通用基础设施组件和共享数据结构。
  基本网络状态信息存储在一组通用共享数据结构中。这些数据结构包括有关接口状态、邻居解析表和转发信息库 (FIB) 状态的信息。应用程序使用通用方法更新相关的基本网络状态共享数据。
  所有共享基础设施数据都由使用合适的标准数据结构和/或数据建模语言(例如,YANG)表达的标准化数据模型定义。数据共享基础设施和基础网络状态共享数据结构实现了不同协议之间公共数据的共享(例如,经典IGP可访问的链路状态数据,如用于SDN控制应用的OSPF和ISIS和BGP-LS),以及优雅的协议选择的演变(例如,使用 gRPC 而不是 SNMP 来采集 OAM 数据)。
  用户、业务流程和数据导出接口提供了一个通用的基础设施,用于将应用程序和系统基础设施连接到外部系统以进行管理和分析。ONAP管控系统北向接口包括NetConf/YANG和gRPC,支持流式和(传统)轮询机制进行遥测数据采集。
  3、dNOS 包括一组支持多个不同转发层的组件。转发抽象层 (FAL) 负责从共享基础设施和数据组件获取高级网络状态输入,并将它们转换为供应商特定的 API,用于各种软件和硬件转发选项:
  FAL 的目标是让 ASIC 供应商多样化,多个 ASIC 共享一个与目标无关的公共抽象层。FAL 的长期目标是收录支持完全可编程硬件管道的抽象。这种抽象将基于正式的网络编程语言,例如 P4 或其他类似的行业认可的标准化语言。
  从 dNOS 到 DANOS
  AT&amp;T 于 2018 年初向 Linux 基金会贡献了 dNOS 作为种子代码,Linux 基金会据此建立了 DANOS 项目。DANOS(Dis-Aggregated Network Operating System)将提供一个开放的 NOS 框架,使用现有的开源资源和硬件平台,如白盒交换机、白盒路由器和 uCPE。Vyatta第四代架构引入了商用芯片+软件转发的混合转发模式。采用Vyatta第四代架构的DANOS预计将于2019年第一季度正式发布。
  
  DANOS专注于硬件/软件分解,超越云数据中心网络功能,创建和培育路由软件组件供应商生态系统,提供创新的网络解决方案,满足城域网/广域网(包括蜂窝网络)规模化、快速发展的功能需求。站点路由器、城域以太网服务和 RAN 回程路由器/交换机、互联网和 VPN 服务边缘路由器、运营商间 POP 互连结构、骨干核心路由器等)。DANOS 目前计划支持这五个操作系统:dNOS、FRR、SONiC、OpenSwitch 和 Stratum。
  DANOS的三大特点:
  
  DANOS/dNOS详细架构图(颜色对应之前的“dNOS功能和组件图”)
  对比上图,我粗略介绍一下DANOS的控制和管理平面、基础操作系统和数据平面:
  控制和管理平面:基本操作系统:数据平面:参考:
  1、%20whitepaper.pdf
  2、
  3、 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(郑敏先任职于)
  作者简介:郑敏贤,曾任职,售前工程师。从事SDN、白盒交换机等开放网络产品的推广。
  
  成立于 2005 年。该公司提供了一个开源网络操作系统,也称为 Vyatta,可以在商用硬件上运行。Vyatta 的名字取自梵文中的“open”,发音为“vee-at-ah”。2006年,推出Vyatta商业订阅版,每年定价500美元。
  
  随着云计算的发展,Vyatta得到了众多公有云厂商的支持。例如,AWS Marketplace 中的第一个虚拟路由器应用程序是 Vyatta:
  
  2012年11月博科收购Vyatta后,开源社区版被取消,软件更名为Vyatta vRouter。但 Vyatta 的开源之路并没有结束。为了响应博科停止 Vyatta 社区版的决定,独立开发人员从 Vyatta Core 6.6 R1 版本(VyOS 开源软件项目)中分出一个分支。
  从 Vyatta 到 dNOS
  Vyatta 于 2017 年 7 月被 AT&amp;T 收购。 Vyatta NOS 构成了 AT&amp;T 开源 dNOS(分解网络操作系统)平台的基础。
  dNOS 由硬件和软件组件组成:
  AT&amp;T 在这些场景中使用 dNOS 软件:
  
  dNOS功能及组件图
  简单分析一下上图中的三个层次:
  1、应用程序是路由器上控制平面或管理平面组件的任何网络功能。
  2、共享基础设施和数据。NOS 必须能够使用通用方法和协议在来自不同供应商的应用程序之间共享数据。dNOS 的一个关键目标是创建一个促进应用程序之间共享的开放环境。为此,dNOS 包括通用基础设施组件和共享数据结构。
  基本网络状态信息存储在一组通用共享数据结构中。这些数据结构包括有关接口状态、邻居解析表和转发信息库 (FIB) 状态的信息。应用程序使用通用方法更新相关的基本网络状态共享数据。
  所有共享基础设施数据都由使用合适的标准数据结构和/或数据建模语言(例如,YANG)表达的标准化数据模型定义。数据共享基础设施和基础网络状态共享数据结构实现了不同协议之间公共数据的共享(例如,经典IGP可访问的链路状态数据,如用于SDN控制应用的OSPF和ISIS和BGP-LS),以及优雅的协议选择的演变(例如,使用 gRPC 而不是 SNMP 来采集 OAM 数据)。
  用户、业务流程和数据导出接口提供了一个通用的基础设施,用于将应用程序和系统基础设施连接到外部系统以进行管理和分析。ONAP管控系统北向接口包括NetConf/YANG和gRPC,支持流式和(传统)轮询机制进行遥测数据采集。
  3、dNOS 包括一组支持多个不同转发层的组件。转发抽象层 (FAL) 负责从共享基础设施和数据组件获取高级网络状态输入,并将它们转换为供应商特定的 API,用于各种软件和硬件转发选项:
  FAL 的目标是让 ASIC 供应商多样化,多个 ASIC 共享一个与目标无关的公共抽象层。FAL 的长期目标是收录支持完全可编程硬件管道的抽象。这种抽象将基于正式的网络编程语言,例如 P4 或其他类似的行业认可的标准化语言。
  从 dNOS 到 DANOS
  AT&amp;T 于 2018 年初向 Linux 基金会贡献了 dNOS 作为种子代码,Linux 基金会据此建立了 DANOS 项目。DANOS(Dis-Aggregated Network Operating System)将提供一个开放的 NOS 框架,使用现有的开源资源和硬件平台,如白盒交换机、白盒路由器和 uCPE。Vyatta第四代架构引入了商用芯片+软件转发的混合转发模式。采用Vyatta第四代架构的DANOS预计将于2019年第一季度正式发布。
  
  DANOS专注于硬件/软件分解,超越云数据中心网络功能,创建和培育路由软件组件供应商生态系统,提供创新的网络解决方案,满足城域网/广域网(包括蜂窝网络)规模化、快速发展的功能需求。站点路由器、城域以太网服务和 RAN 回程路由器/交换机、互联网和 VPN 服务边缘路由器、运营商间 POP 互连结构、骨干核心路由器等)。DANOS 目前计划支持这五个操作系统:dNOS、FRR、SONiC、OpenSwitch 和 Stratum。
  DANOS的三大特点:
  
  DANOS/dNOS详细架构图(颜色对应之前的“dNOS功能和组件图”)
  对比上图,我粗略介绍一下DANOS的控制和管理平面、基础操作系统和数据平面:
  控制和管理平面:基本操作系统:数据平面:参考:
  1、%20whitepaper.pdf
  2、
  3、

使用新浪微博开放平台api同步微博内容至自己网站(基于python的开放平台签名、加密解密以及授权认证测试体系)

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

  使用新浪微博开放平台api同步微博内容至自己网站(基于python的开放平台签名、加密解密以及授权认证测试体系)
  目前,大型顶级公司拥有非常成熟的开放平台服务,如微信开放平台、新浪微博开放平台、支付宝开放平台等。开放平台的发展为第三方个人或公司提供了巨大的机会。开发者想要接入各大开放平台,必须遵守开放平台的安全机制,实现业务逻辑的前提。一是实现签名验证、加解密、授权鉴权机制。
  本文介绍了基于python的开放平台签名认证测试系统,可用于第三方应用的沙箱测试,也可应用于服务商相关系统的综合测试。
  
  一、简介
  开放平台是指大型企业以业务+场景+解决方案+技术的优势,将自身的数据能力、计算能力、用户系统、产品能力等资源打包,通过openAPI、openSDK等方式向第三方个人或个人开放,和 openH5。企业使用,实现第三方与服务商企业自身的互利共赢。
  目前各大厂商的开放平台都比较成熟,如微信开放平台、新浪微博开放平台、支付宝开放平台等。与此同时,各大商业银行也在大力发展自身的开放银行服务。作为第三方开发者,一般来说,接入开放平台有一个相对统一的流程。下图为微信开放平台开通流程。
  
  图1 微信开放平台接入流程
  如图1第三步所示,应用上线前,必须进行必要的测试。业务逻辑测试的前提是测试签名验证、加解密、授权认证等安全认证机制。python社区非常成熟,广泛应用于机器学习、数据分析、网络爬虫、自动化脚本等诸多领域。
  在web开发方面,目前有很多公司如Instagram、Quora、Lyft、Dropbox、知乎等后端使用python进行开发。本文介绍了基于python的签名验证、加解密、授权认证测试的实现。
  二、签名验证
  第三方个人或企业通过开放平台门户网站提交申请成为开发者。开发者资质认证通过后,开发者通常会从服务商处获得自己的appid、appsecret和证书。该证书收录第一个 第三方开发者的私钥和服务提供者的公钥。
  服务提供商保留第三方开发者的公钥和自己的私钥。开发者使用自己的私钥进行签名,并将消息发送到开放平台服务器。服务器验证通过后,会使用自己的私钥对返回给开发者的消息进行签名,开发者收到返回消息后,使用服务方提供的公钥进行验证。通过这个过程,开发者和服务端可以相互确认发送的消息没有被中间人篡改。
  本文的签名验证使用RSA算法进行演示。使用Python的Crypto库,安装时需要使用pip或conda等其他包管理工具。
  一般来说,开发者需要对消息的每个字段进行预处理。
  1.去除请求字典中的所有空值或不必要的参数(如sign、sign_type等);
  2. 对字典进行排序(按照ASCII码从小到大);
  3. 按照“参数=参数值”的模式,将字典中的所有元素用“&amp;”字符组合成一个字符串。
  数据预处理功能如下图所示:
  
  图2 数据预处理功能
  当开发者发送消息时,会使用Hash函数从消息中生成摘要,然后用私人消息对摘要进行加密。加密后的摘要用作消息的数字签名,并与消息一起发送到服务器。下图展示了RSA算法的签名函数的实现:
  
  图3 数字签名功能
  首先使用hash_method函数选择要使用的digest算法,可以根据实际情况重构函数。这里演示了 MD5 和 SHA256 算法的示例。签名函数首先要读取开发者的私钥,然后使用RSA算法完成签名。
  开发者收到服务器返回的消息后,使用相同的Hash函数从接收到的原创消息中计算出消息的摘要,然后使用发送方的公钥对消息所附的数字签名进行解密,如果两个摘要是一致,开发​​者可以确认消息是服务器发送的,没有被篡改。
  
  图4 签名验证功能
  三、加解密
  除了用于数字签名之外,RAS 算法还可以用于消息的非对称加密。非对称加密比对称加密更安全,但由于算法强度比对称加密复杂,因此加解密速度比对称加密慢。对称加密算法的特点是计算量小、加密速度快、加密效率高。缺点是交易双方使用相同的密钥,无法保证安全。常见的对称加密算法有DES、AES等。
  在互联网上传输消息时,要保证信息的安全,保证没有高延迟。因此,对称加密算法和非对称加密算法通常结合使用。使用非对称加密算法对对称加密算法使用的密钥进行数字签名和加密传输,然后使用对称加密算法对消息进行加密和解密,保证了消息传输的安全性和消息的传输速度改善用户体验。
  下面介绍AES加解密的python实现。其他加密算法类似。您可以根据服务方的要求选择使用哪种算法。AES 加密方式有五种:ECB、CBC、CTR、CFB、OFB。最常用的是CBC加密。CBC 加密需要一个 16 位的密钥和一个 16 位的偏移量。开发者使用服务器提供的appsecret作为加解密密钥。具体实现如下图所示:
  
  图5 AES加解密
  加密的数据应与签名一起发送到服务器。通常,消息是否使用对称加密是可选的。开发者可以根据开放平台的规定和交易的重要性来选择是否加密。
  四、授权
  各大开放平台都有自己的授权认证机制,最流行的机制是OAuth2.0。OAuth2.0 是一种开放的授权标准,允许用户授权第三方应用访问用户在某个服务(如微博、微信、QQ等)上的特定私有资源,而无需提供帐户密码给第三方。对于第三方应用,无需为第三方应用注册账号。如果要进行开放平台授权认证测试,必须按照OAuth2.0标准连接服务方。一般来说,服务提供者提供授权服务,主要提供两类接口:
  1.授权接口:接受第三方应用的授权请求。该接口通常收录以下参数:
  response_type:必需。该值固定为“代码”。
  client_id:必需。第三方应用的标识ID,即appID。
  状态:可选。第三方提供的字符串,服务器将原样返回。
  redirect_uri:必需。授权成功后的重定向地址。
  范围:可选。表示要访问的资源的授权范围。
  成功访问该接口后,将获得一个授权码。
  2.获取访问令牌(token)接口:使用授权接口提供的授权码向第三方应用发放访问令牌。通常收录以下参数:
  grant_type:必需。固定值“authorization_code”。
  代码:必填。授权码在授权界面响应。
  redirect_uri:必需。必须与授权接口中提供的redirect_uri相同。
  client_id:必需。必须与授权界面提供的appID一致。
  第三方应用获得令牌后,可以使用令牌请求用户授权其访问服务端存储的资源。
  以上接口的请求可以自己编码实现。Python的django-allauth库封装了GitHub、Twitter、微博、微信、百度等数十种第三方授权认证方式,通过简单的配置即可应对各大厂商开放平台的授权认证测试。下图展示了如何在django应用中注册django-allauth第三方登录服务。
  
  图6 使用django-allauth库完成第三方授权登录
  五、总结
  本文介绍了使用python连接各大开放平台实现签名验证、加解密、授权认证的测试方法,并给出了详细的例子。开发者可以将上述方法封装到django或其他框架的web应用中,形成便于测试人员操作的界面。在处理签名验证、加解密、授权认证等测试或开发工作时,可以大大提高工作效率。
  我是谁?
  我是一名资深的测试人员,从事软件测试工作多年。今年年初花了一个月时间整理了一份2020年最适合学习的软件测试学习干货,可以送给每一个对软件测试感兴趣的小伙伴。想要领取的话,可以关注我的头条号,后台给我发私信:【测试】,免费领取。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(基于python的开放平台签名、加密解密以及授权认证测试体系)
  目前,大型顶级公司拥有非常成熟的开放平台服务,如微信开放平台、新浪微博开放平台、支付宝开放平台等。开放平台的发展为第三方个人或公司提供了巨大的机会。开发者想要接入各大开放平台,必须遵守开放平台的安全机制,实现业务逻辑的前提。一是实现签名验证、加解密、授权鉴权机制。
  本文介绍了基于python的开放平台签名认证测试系统,可用于第三方应用的沙箱测试,也可应用于服务商相关系统的综合测试。
  
  一、简介
  开放平台是指大型企业以业务+场景+解决方案+技术的优势,将自身的数据能力、计算能力、用户系统、产品能力等资源打包,通过openAPI、openSDK等方式向第三方个人或个人开放,和 openH5。企业使用,实现第三方与服务商企业自身的互利共赢。
  目前各大厂商的开放平台都比较成熟,如微信开放平台、新浪微博开放平台、支付宝开放平台等。与此同时,各大商业银行也在大力发展自身的开放银行服务。作为第三方开发者,一般来说,接入开放平台有一个相对统一的流程。下图为微信开放平台开通流程。
  
  图1 微信开放平台接入流程
  如图1第三步所示,应用上线前,必须进行必要的测试。业务逻辑测试的前提是测试签名验证、加解密、授权认证等安全认证机制。python社区非常成熟,广泛应用于机器学习、数据分析、网络爬虫、自动化脚本等诸多领域。
  在web开发方面,目前有很多公司如Instagram、Quora、Lyft、Dropbox、知乎等后端使用python进行开发。本文介绍了基于python的签名验证、加解密、授权认证测试的实现。
  二、签名验证
  第三方个人或企业通过开放平台门户网站提交申请成为开发者。开发者资质认证通过后,开发者通常会从服务商处获得自己的appid、appsecret和证书。该证书收录第一个 第三方开发者的私钥和服务提供者的公钥。
  服务提供商保留第三方开发者的公钥和自己的私钥。开发者使用自己的私钥进行签名,并将消息发送到开放平台服务器。服务器验证通过后,会使用自己的私钥对返回给开发者的消息进行签名,开发者收到返回消息后,使用服务方提供的公钥进行验证。通过这个过程,开发者和服务端可以相互确认发送的消息没有被中间人篡改。
  本文的签名验证使用RSA算法进行演示。使用Python的Crypto库,安装时需要使用pip或conda等其他包管理工具。
  一般来说,开发者需要对消息的每个字段进行预处理。
  1.去除请求字典中的所有空值或不必要的参数(如sign、sign_type等);
  2. 对字典进行排序(按照ASCII码从小到大);
  3. 按照“参数=参数值”的模式,将字典中的所有元素用“&amp;”字符组合成一个字符串。
  数据预处理功能如下图所示:
  
  图2 数据预处理功能
  当开发者发送消息时,会使用Hash函数从消息中生成摘要,然后用私人消息对摘要进行加密。加密后的摘要用作消息的数字签名,并与消息一起发送到服务器。下图展示了RSA算法的签名函数的实现:
  
  图3 数字签名功能
  首先使用hash_method函数选择要使用的digest算法,可以根据实际情况重构函数。这里演示了 MD5 和 SHA256 算法的示例。签名函数首先要读取开发者的私钥,然后使用RSA算法完成签名。
  开发者收到服务器返回的消息后,使用相同的Hash函数从接收到的原创消息中计算出消息的摘要,然后使用发送方的公钥对消息所附的数字签名进行解密,如果两个摘要是一致,开发​​者可以确认消息是服务器发送的,没有被篡改。
  
  图4 签名验证功能
  三、加解密
  除了用于数字签名之外,RAS 算法还可以用于消息的非对称加密。非对称加密比对称加密更安全,但由于算法强度比对称加密复杂,因此加解密速度比对称加密慢。对称加密算法的特点是计算量小、加密速度快、加密效率高。缺点是交易双方使用相同的密钥,无法保证安全。常见的对称加密算法有DES、AES等。
  在互联网上传输消息时,要保证信息的安全,保证没有高延迟。因此,对称加密算法和非对称加密算法通常结合使用。使用非对称加密算法对对称加密算法使用的密钥进行数字签名和加密传输,然后使用对称加密算法对消息进行加密和解密,保证了消息传输的安全性和消息的传输速度改善用户体验。
  下面介绍AES加解密的python实现。其他加密算法类似。您可以根据服务方的要求选择使用哪种算法。AES 加密方式有五种:ECB、CBC、CTR、CFB、OFB。最常用的是CBC加密。CBC 加密需要一个 16 位的密钥和一个 16 位的偏移量。开发者使用服务器提供的appsecret作为加解密密钥。具体实现如下图所示:
  
  图5 AES加解密
  加密的数据应与签名一起发送到服务器。通常,消息是否使用对称加密是可选的。开发者可以根据开放平台的规定和交易的重要性来选择是否加密。
  四、授权
  各大开放平台都有自己的授权认证机制,最流行的机制是OAuth2.0。OAuth2.0 是一种开放的授权标准,允许用户授权第三方应用访问用户在某个服务(如微博、微信、QQ等)上的特定私有资源,而无需提供帐户密码给第三方。对于第三方应用,无需为第三方应用注册账号。如果要进行开放平台授权认证测试,必须按照OAuth2.0标准连接服务方。一般来说,服务提供者提供授权服务,主要提供两类接口:
  1.授权接口:接受第三方应用的授权请求。该接口通常收录以下参数:
  response_type:必需。该值固定为“代码”。
  client_id:必需。第三方应用的标识ID,即appID。
  状态:可选。第三方提供的字符串,服务器将原样返回。
  redirect_uri:必需。授权成功后的重定向地址。
  范围:可选。表示要访问的资源的授权范围。
  成功访问该接口后,将获得一个授权码。
  2.获取访问令牌(token)接口:使用授权接口提供的授权码向第三方应用发放访问令牌。通常收录以下参数:
  grant_type:必需。固定值“authorization_code”。
  代码:必填。授权码在授权界面响应。
  redirect_uri:必需。必须与授权接口中提供的redirect_uri相同。
  client_id:必需。必须与授权界面提供的appID一致。
  第三方应用获得令牌后,可以使用令牌请求用户授权其访问服务端存储的资源。
  以上接口的请求可以自己编码实现。Python的django-allauth库封装了GitHub、Twitter、微博、微信、百度等数十种第三方授权认证方式,通过简单的配置即可应对各大厂商开放平台的授权认证测试。下图展示了如何在django应用中注册django-allauth第三方登录服务。
  
  图6 使用django-allauth库完成第三方授权登录
  五、总结
  本文介绍了使用python连接各大开放平台实现签名验证、加解密、授权认证的测试方法,并给出了详细的例子。开发者可以将上述方法封装到django或其他框架的web应用中,形成便于测试人员操作的界面。在处理签名验证、加解密、授权认证等测试或开发工作时,可以大大提高工作效率。
  我是谁?
  我是一名资深的测试人员,从事软件测试工作多年。今年年初花了一个月时间整理了一份2020年最适合学习的软件测试学习干货,可以送给每一个对软件测试感兴趣的小伙伴。想要领取的话,可以关注我的头条号,后台给我发私信:【测试】,免费领取。

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

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台API调用和TWITTER接口一样的限定规则)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台API调用和TWITTER接口一样的限定规则)
  新浪微博开放平台API调用与TWITTER接口相同,有时间限制和限制。
  他有两个限制原则
  1.用户不基于IP限制登录,每小时1000次
  2. 用户以基于用户的限制登录,每小时1000次
  如果应用是用户未登录,则IP被限制。建议登录破解瓶颈,否则不讨论。
  新浪给出了具体限制
  开发者可以通过 rate_limit_status 接口查看调用频率
  rate_limit_status 接口文档
  接口返回如下信息
  数组([remaining_hits] =&gt; 999 [hourly_limit] =&gt; 1000 [reset_time_in_seconds] =&gt; 2717 [reset_time] =&gt; 12 月 14 日星期二 17:00:00 +0800 2010)
  代表
  剩余数量为999次,
  每小时限制1000次,
  计数器复位的剩余时间为 2717 秒,
  下次重置时间为 17:00。
  对于小型非授权应用程序,这样的调用频率已不再足够。最简单的方法是使用多个账号和多个APP_KEY,相当于做一个账号轮询。
  首先,多注册几个微博账号,存储在一个数组中,每次随机调用一个,这样可以轻松达到3000个。
  $wb_id = array('|password','|password','|password');
  列表($wb_name,$wb_password)=explode(“|”,$wb_id[array_rand($wb_id)]);
  如果用同样的方法列出几个APP_KEY,重复组合,就会更多。比如2个APP_KEY,3个账号,上限可以达到6000。
  我个人用了3个APP_KEY,4个账号,每小时1.20000的量就够了。
  另一种快速注册微博账号的方法
  第一步,
  去gmail注册一个长账号,多长时间?反正越长越好,一个原则信比你想注册的微博账号长
  例如
  第二步,
  使用此账号注册新浪
  第一次使用
  第二次使用
  第三次使用
  ....
  以此类推,一个邮箱可以注册多个新浪微博。无需来回重新注册邮箱。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台API调用和TWITTER接口一样的限定规则)
  新浪微博开放平台API调用与TWITTER接口相同,有时间限制和限制。
  他有两个限制原则
  1.用户不基于IP限制登录,每小时1000次
  2. 用户以基于用户的限制登录,每小时1000次
  如果应用是用户未登录,则IP被限制。建议登录破解瓶颈,否则不讨论。
  新浪给出了具体限制
  开发者可以通过 rate_limit_status 接口查看调用频率
  rate_limit_status 接口文档
  接口返回如下信息
  数组([remaining_hits] =&gt; 999 [hourly_limit] =&gt; 1000 [reset_time_in_seconds] =&gt; 2717 [reset_time] =&gt; 12 月 14 日星期二 17:00:00 +0800 2010)
  代表
  剩余数量为999次,
  每小时限制1000次,
  计数器复位的剩余时间为 2717 秒,
  下次重置时间为 17:00。
  对于小型非授权应用程序,这样的调用频率已不再足够。最简单的方法是使用多个账号和多个APP_KEY,相当于做一个账号轮询。
  首先,多注册几个微博账号,存储在一个数组中,每次随机调用一个,这样可以轻松达到3000个。
  $wb_id = array('|password','|password','|password');
  列表($wb_name,$wb_password)=explode(“|”,$wb_id[array_rand($wb_id)]);
  如果用同样的方法列出几个APP_KEY,重复组合,就会更多。比如2个APP_KEY,3个账号,上限可以达到6000。
  我个人用了3个APP_KEY,4个账号,每小时1.20000的量就够了。
  另一种快速注册微博账号的方法
  第一步,
  去gmail注册一个长账号,多长时间?反正越长越好,一个原则信比你想注册的微博账号长
  例如
  第二步,
  使用此账号注册新浪
  第一次使用
  第二次使用
  第三次使用
  ....
  以此类推,一个邮箱可以注册多个新浪微博。无需来回重新注册邮箱。

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台(api同步微博内容至自己网站))
  使用新浪微博开放平台api同步微博内容至自己网站新浪微博关注</a>
  前端把微博的链接请求发给后端服务器,会返回转发的url,服务器根据url里的id把这条微博转发给相应的网站。例如:微博用户页,微博转发页面url=""//新浪微博转发微博链接headerhref=""//新浪微博自定义地址sign="text/html,application/xhtml+xml,application/xml;q=0.9"//后端headerdata={"user-agent":"mozilla/5.0(windowsnt10.0;win64;x6。
  4)applewebkit/537.36(khtml,likegecko)chrome/74.0.3033.110safari/537.36","ispublishers":"keep-alive","mms":"5.0"}
  新浪官方做了一个可以对新浪微博中链接进行互访的api,很有用,我写了一个专门用于新浪微博互访的web框架,
  这个可以实现,先把新浪微博的数据抓到,然后微博数据库中查出微博地址转发给相应网站,然后转发到自己的网站上。
  刚遇到,使用互联网开放平台(api),然后后端转发给对应网站。开放平台把数据流转发给对应网站的服务器,再由对应网站服务器再把数据转发给后端。
  通过流分析收集微博内容,然后直接通过爬虫抓取过来。
  1、excel或者powerbi做流程图;
  2、用网页版新浪提供; 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台(api同步微博内容至自己网站))
  使用新浪微博开放平台api同步微博内容至自己网站新浪微博关注</a>
  前端把微博的链接请求发给后端服务器,会返回转发的url,服务器根据url里的id把这条微博转发给相应的网站。例如:微博用户页,微博转发页面url=""//新浪微博转发微博链接headerhref=""//新浪微博自定义地址sign="text/html,application/xhtml+xml,application/xml;q=0.9"//后端headerdata={"user-agent":"mozilla/5.0(windowsnt10.0;win64;x6。
  4)applewebkit/537.36(khtml,likegecko)chrome/74.0.3033.110safari/537.36","ispublishers":"keep-alive","mms":"5.0"}
  新浪官方做了一个可以对新浪微博中链接进行互访的api,很有用,我写了一个专门用于新浪微博互访的web框架,
  这个可以实现,先把新浪微博的数据抓到,然后微博数据库中查出微博地址转发给相应网站,然后转发到自己的网站上。
  刚遇到,使用互联网开放平台(api),然后后端转发给对应网站。开放平台把数据流转发给对应网站的服务器,再由对应网站服务器再把数据转发给后端。
  通过流分析收集微博内容,然后直接通过爬虫抓取过来。
  1、excel或者powerbi做流程图;
  2、用网页版新浪提供;

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站(图))
  使用新浪微博开放平台api同步微博内容至自己网站,方便所有中文字体开发者使用。
  开放平台不了解,不过我听说可以用apilink,国内比较领先的文字转引擎,支持的场景还是蛮多的,
  可以关注下“simplemouse”这款app,主要用来做文字转,
  微博开放平台::。
  有一个功能叫智能转换,可以达到所有人都可以使用,在googlereader里面登录账号,并授权,那么别人无论是手机端,还是网页端,只要有相同的标题,在阅读过程中,都可以收听你的内容。实现方法:登录谷歌reader账号,添加账号,当前用户是可以直接直接登录谷歌reader里面的账号的,同理,所有用户也都可以登录同一个账号。
  打开readitlater,新建文章,同一标题,同一内容,系统就会自动收听你的音频,省去你登录多个账号的步骤。音频的长度:所有未经过长短号转换的全免费音频,可以无限制的转换。音频的音量:音量是60即可,自己可以调节。转换之后文章不会加长或者减短。上传音频:文章上传的时候,选择文章文件大小,选择输出比特率,这样音频会根据你电脑是网络过载还是网络不好调整成其他形式,只要你能拿到音频长度,并且实时收听,基本上也是没有任何问题的。
  所以我相信国内一定还有很多人都在用,毕竟谷歌reader目前已经极度完善的情况下,还有那么多的问题,确实也有必要好好思考一下。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站(图))
  使用新浪微博开放平台api同步微博内容至自己网站,方便所有中文字体开发者使用。
  开放平台不了解,不过我听说可以用apilink,国内比较领先的文字转引擎,支持的场景还是蛮多的,
  可以关注下“simplemouse”这款app,主要用来做文字转,
  微博开放平台::。
  有一个功能叫智能转换,可以达到所有人都可以使用,在googlereader里面登录账号,并授权,那么别人无论是手机端,还是网页端,只要有相同的标题,在阅读过程中,都可以收听你的内容。实现方法:登录谷歌reader账号,添加账号,当前用户是可以直接直接登录谷歌reader里面的账号的,同理,所有用户也都可以登录同一个账号。
  打开readitlater,新建文章,同一标题,同一内容,系统就会自动收听你的音频,省去你登录多个账号的步骤。音频的长度:所有未经过长短号转换的全免费音频,可以无限制的转换。音频的音量:音量是60即可,自己可以调节。转换之后文章不会加长或者减短。上传音频:文章上传的时候,选择文章文件大小,选择输出比特率,这样音频会根据你电脑是网络过载还是网络不好调整成其他形式,只要你能拿到音频长度,并且实时收听,基本上也是没有任何问题的。
  所以我相信国内一定还有很多人都在用,毕竟谷歌reader目前已经极度完善的情况下,还有那么多的问题,确实也有必要好好思考一下。

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

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)

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

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API生成短链接,同时支持多个长链接。什么是短链接 短链接,通俗的讲就是通过程序计算将长网址网址转换为短网址字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  // APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p> 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  通过新浪微博API生成短链接,同时支持多个长链接。什么是短链接 短链接,通俗的讲就是通过程序计算将长网址网址转换为短网址字符串。短链接服务
  国内各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等。
  为什么选择新浪微博API新浪微博短链接API是开放的 新浪微博短链接API不需要用户登录文档查询链接使用方法
  拿到自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下图,$shortUrl为API请求地址
  // APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = '569452181';
// 转短连接API地址
protected $shortUrl = 'https://api.weibo.com/2/short_url/shorten.json?';
  其他的,基本不需要配置,直接实例化类ShortLink,然后调用getShortUrl方法,需要注意的是长链接URL数组$longUrl中的值可以传多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,满足自己的需求。
  源代码
<p>

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台创建应用的详细流程及应用)

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

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台创建应用的详细流程及应用)
  一、准备。
  1. 微博账号。注册很容易。
  2.微博账号成为开发者。
  登录微博开放平台登录您的注册账号,然后进入管理中心完成开发者基本信息和身份认证。
  这时候还需要浏览微博开放平台的文档,了解这个开放平台的一些规范术语。
  单击每个链接进行查看。顺便看一下微博API文档,里面有介绍,有些接口调用需要获取access_token。这篇文章就是为了达到这个目的。
  二、创建一个应用程序。
  比如我们要开发一个网站,然后在这个网站中连接微博开放平台,调用开放平台的接口。然后我们需要在登录微博开放平台后创建一个应用。
  创建应用程序后,您将获得应用程序的 App key 和 AppSecret。然后我们就是利用这个信息调用新浪微博的auth2.0认证获取access_token。
  拿到access_token后,我们就可以调用我们需要的接口了,比如发微博等。
  1. 创建引用的地方。开放平台--》点击上方导航菜单中的“微链接”,这里的微链接的概念也是这个开放平台的一个术语,具体含义可以查看相关文档。
  2.创建什么类型的应用程序?
  随意看看你的情况。测试时,您可以创建任何东西,尝试并充满信心地去做。我创建的是一个网页参考,所以我发现它很容易输入,不需要填写太多信息。
  如下所示:
  
  创建完成后,可以在我的应用中看到:
  
  单击以查看与应用程序相关的信息。一会儿我们需要用到这里的app key和app secret,还需要配置应用授权回调地址。
  三、下载微博开发SDK。
  开发SDK中有一些示例,可以直接作为参考。下载链接。我下载了 weibo4j 的 Java 版本。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在examples包下的oauth2包下找到OAuth4Code类。我们需要运行这个类。
  这个类完成oauth操作,这一步包括两个请求
  第一次:
https://api.weibo.com/oauth2/a ... Dcode
第二次:
https://api.weibo.com/oauth2/access_token
  请注意,第一个请求中有一个 client_id。这个参数需要在config.properties中配置,对应我们上面创建的应用的app key。
  同样,这个配置文件中有一个client_SERCRET,对应我们上面创建的应用的app sercret,复制进去。
  还有一个参数redirect_uri,比较关键。当我们运行OAuth4Code类时,第一次请求完成后,会回调这个地址,同时带入一个code参数。
  我们需要复制这个参数,在控制台中输入,然后回车。发起第二个请求,这个请求会返回我们需要的access_token。那么问题来了,如何配置这个地址呢?
  1. 在上面创建的参考中,找到接口管理--》授权机制也没有配置回调地址的地方,填写即可。
  2. 上面的链接应该在config.properties中配置,如下:
  client_ID = 1234567890
client_SERCRET = 890a2ab550cf8d7a0090ff2f19850f3a
redirect_URI = https\://api.weibo.com/oauth2/default.html
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/
  三、 运行程序获取access_token。
  上面第二步完成后,配置就完成了。运行以下类:
  public class OAuth4Code {
public static void main(String [] args) throws WeiboException, IOException{
Oauth oauth = new Oauth();
BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
System.out.println(oauth.authorize("code"));
System.out.print("Hit enter when it&#39;s done.[Enter]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();
Log.logInfo("code: " + code);
try{
System.out.println(oauth.getAccessTokenByCode(code));
} catch (WeiboException e) {
if(401 == e.getStatusCode()){
Log.logInfo("Unable to get the access token.");
}else{
e.printStackTrace();
}
}
}
}
  程序运行后,在控制台输入一行log后,进入等待控制台输入的状态,浏览器立即打开了一个页面,跳转后页面变成了如下:
  
  复制浏览器地址栏中的code参数值。回到myeclipse,粘贴这个值,然后回车。程序继续执行,使用这个code参数,再次发起请求,终于成功后就可以拿到access_token了
  整个过程的效果日志:
  
  四、本例中oauth授权流程总结。
  两次请求
  第一次:
  https://api.weibo.com/oauth2/a ... Dcode
  同意授权后,会重定向:
  //同意授权后会重定向
http://www.example.com/response&code=CODE
  第二次:
  按照上面的代码再次发起请求。获取 access_token
  会有一些问题,主要原因是授权地址配置不正确。根据本文中的示例配置,您可以成功运行程序。获取 access_token。
  错误代码如下:
  错误代码(error) 错误代码(error_code) 错误描述(error_description)
  redirect_uri_mismatch
  21322
  重定向地址不匹配
  无效请求
  21323
  请求是非法的
  invalid_client
  21324
  client_id 或 client_secret 参数无效
  invalid_grant
  21325
  提供的访问授权无效、已过期或已撤销
  未经授权的客户端
  21326
  客户端没有权限
  expired_token
  21327
  令牌过期
  unsupported_grant_type
  21328
  不支持的 GrantType
  unsupported_response_type
  21329
  不支持的响应类型
  拒绝访问
  21330
  用户或授权服务器拒绝授予数据访问权限
  暂时不可用
  21331
  该服务暂时不可用
  appkey权限被拒绝
  21337
  应用权限不足 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台创建应用的详细流程及应用)
  一、准备。
  1. 微博账号。注册很容易。
  2.微博账号成为开发者。
  登录微博开放平台登录您的注册账号,然后进入管理中心完成开发者基本信息和身份认证。
  这时候还需要浏览微博开放平台的文档,了解这个开放平台的一些规范术语。
  单击每个链接进行查看。顺便看一下微博API文档,里面有介绍,有些接口调用需要获取access_token。这篇文章就是为了达到这个目的。
  二、创建一个应用程序。
  比如我们要开发一个网站,然后在这个网站中连接微博开放平台,调用开放平台的接口。然后我们需要在登录微博开放平台后创建一个应用。
  创建应用程序后,您将获得应用程序的 App key 和 AppSecret。然后我们就是利用这个信息调用新浪微博的auth2.0认证获取access_token。
  拿到access_token后,我们就可以调用我们需要的接口了,比如发微博等。
  1. 创建引用的地方。开放平台--》点击上方导航菜单中的“微链接”,这里的微链接的概念也是这个开放平台的一个术语,具体含义可以查看相关文档。
  2.创建什么类型的应用程序?
  随意看看你的情况。测试时,您可以创建任何东西,尝试并充满信心地去做。我创建的是一个网页参考,所以我发现它很容易输入,不需要填写太多信息。
  如下所示:
  
  创建完成后,可以在我的应用中看到:
  
  单击以查看与应用程序相关的信息。一会儿我们需要用到这里的app key和app secret,还需要配置应用授权回调地址。
  三、下载微博开发SDK。
  开发SDK中有一些示例,可以直接作为参考。下载链接。我下载了 weibo4j 的 Java 版本。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在examples包下的oauth2包下找到OAuth4Code类。我们需要运行这个类。
  这个类完成oauth操作,这一步包括两个请求
  第一次:
https://api.weibo.com/oauth2/a ... Dcode
第二次:
https://api.weibo.com/oauth2/access_token
  请注意,第一个请求中有一个 client_id。这个参数需要在config.properties中配置,对应我们上面创建的应用的app key。
  同样,这个配置文件中有一个client_SERCRET,对应我们上面创建的应用的app sercret,复制进去。
  还有一个参数redirect_uri,比较关键。当我们运行OAuth4Code类时,第一次请求完成后,会回调这个地址,同时带入一个code参数。
  我们需要复制这个参数,在控制台中输入,然后回车。发起第二个请求,这个请求会返回我们需要的access_token。那么问题来了,如何配置这个地址呢?
  1. 在上面创建的参考中,找到接口管理--》授权机制也没有配置回调地址的地方,填写即可。
  2. 上面的链接应该在config.properties中配置,如下:
  client_ID = 1234567890
client_SERCRET = 890a2ab550cf8d7a0090ff2f19850f3a
redirect_URI = https\://api.weibo.com/oauth2/default.html

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/
  三、 运行程序获取access_token。
  上面第二步完成后,配置就完成了。运行以下类:
  public class OAuth4Code {
public static void main(String [] args) throws WeiboException, IOException{
Oauth oauth = new Oauth();
BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
System.out.println(oauth.authorize("code"));
System.out.print("Hit enter when it&#39;s done.[Enter]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();
Log.logInfo("code: " + code);
try{
System.out.println(oauth.getAccessTokenByCode(code));
} catch (WeiboException e) {
if(401 == e.getStatusCode()){
Log.logInfo("Unable to get the access token.");
}else{
e.printStackTrace();
}
}
}
}
  程序运行后,在控制台输入一行log后,进入等待控制台输入的状态,浏览器立即打开了一个页面,跳转后页面变成了如下:
  
  复制浏览器地址栏中的code参数值。回到myeclipse,粘贴这个值,然后回车。程序继续执行,使用这个code参数,再次发起请求,终于成功后就可以拿到access_token了
  整个过程的效果日志:
  
  四、本例中oauth授权流程总结。
  两次请求
  第一次:
  https://api.weibo.com/oauth2/a ... Dcode
  同意授权后,会重定向:
  //同意授权后会重定向
http://www.example.com/response&code=CODE
  第二次:
  按照上面的代码再次发起请求。获取 access_token
  会有一些问题,主要原因是授权地址配置不正确。根据本文中的示例配置,您可以成功运行程序。获取 access_token。
  错误代码如下:
  错误代码(error) 错误代码(error_code) 错误描述(error_description)
  redirect_uri_mismatch
  21322
  重定向地址不匹配
  无效请求
  21323
  请求是非法的
  invalid_client
  21324
  client_id 或 client_secret 参数无效
  invalid_grant
  21325
  提供的访问授权无效、已过期或已撤销
  未经授权的客户端
  21326
  客户端没有权限
  expired_token
  21327
  令牌过期
  unsupported_grant_type
  21328
  不支持的 GrantType
  unsupported_response_type
  21329
  不支持的响应类型
  拒绝访问
  21330
  用户或授权服务器拒绝授予数据访问权限
  暂时不可用
  21331
  该服务暂时不可用
  appkey权限被拒绝
  21337
  应用权限不足

官方客服QQ群

微信人工客服

QQ人工客服


线