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

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

使用新浪微博开放平台api同步微博内容至自己网站(就是.php新浪微博的操作类和认证类,就是SDK)

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

  使用新浪微博开放平台api同步微博内容至自己网站(就是.php新浪微博的操作类和认证类,就是SDK)
  saetv2.ex.class.php 的操作类和认证类是新浪微博的SDK,里面有很多注释可以作为API
  我们要在weibolist.php中实现的功能都在这个php页面
  文件执行顺序为:index.php->callback.php—>weibolist.php
  首先在index.php中请求授权,跳转到callback.php后表示授权成功,然后进入weibolist.php进行相应的操作。
  在weibolist.php中会实例化一个“微博操作类”,然后就可以进行一系列的方法调用。
  3、 具体代码实现
  首先修改config.php中的配置信息,填写我们刚刚记录的WB_AKEY和WB_SKEY,这里要特别注意填写WB_CALLBACK_URL回调页面地址,HTTP不能省略,必须填写完整的URL
  其实一看就明白了。导入配置文件、类库、实例化对象、传递参数、调用方法、返回值。
  例如:
  $c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['token']['access_token']);
  Saetv2.ex.class.php中有两个类:微博操作类SaeTClientV2,微博认证类SaeTOAuthV2。
  操作类实例化所需的参数($akey、$skey、$access_token),access_token需要从认证类中获取。只有获取到用户的access_token,才能对用户进行操作。
  在 callback.php 中:
  setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
  callback.php中获取的access_token保存在session中,可以在创建微博操作类时使用。
  $ms = $c->home_timeline();
  打开类库文件,找到home_timeline方法,获取当前登录用户及其关注用户的最新微博消息。API已经写得很清楚了。如果您有更多时间,可以阅读源代码。
   1 /**
2 * 获取当前登录用户及其所关注用户的最新微博消息。
3 *
4 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 http://weibo.com 后在“我的首页”中看到的内容相同。同friends_timeline()
5 * <br />对应API:{@link http://open.weibo.com/wiki/2/s ... eline statuses/home_timeline}
6 *
7 * @access public
8 * @param int $page 指定返回结果的页码。根据当前登录用户所关注的用户数及这些被关注用户发表的微博数,翻页功能最多能查看的总记录数会有所不同,通常最多能查看1000条左右。默认值1。可选。
9 * @param int $count 每次返回的记录数。缺省值50,最大值200。可选。
10 * @param int $since_id 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
11 * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的微博消息。可选。
12 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
13 * @param int $feature 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
14 * @return array
15 */
16 function home_timeline( $page = 1, $count = 50, $since_id = 0, $max_id = 0, $base_app = 0, $feature = 0 )
17 {
18 $params = array();
19 if ($since_id) {
20 $this->id_format($since_id);
21 $params['since_id'] = $since_id;
22 }
23 if ($max_id) {
24 $this->id_format($max_id);
25 $params['max_id'] = $max_id;
26 }
27 $params['count'] = intval($count);
28 $params['page'] = intval($page);
29 $params['base_app'] = intval($base_app);
30 $params['feature'] = intval($feature);
31
32 return $this->oauth->get('statuses/home_timeline', $params);
33 }
  是不是很简单?找几个方法试试。
  试着写个表格发微博
  
  
  
哈哈,是不是很简单呢?
再试试获取关注人ID
   1 /**
2 * 获取用户的双向关注uid列表
3 *
4 * 对应API:{@link http://open.weibo.com/wiki/2/f ... l/ids friendships/friends/bilateral/ids}
5 *
6 * @param int $uid 需要获取双向关注列表的用户UID。
7 * @param int $count 单页返回的记录条数,默认为50。
8 * @param int $page 返回结果的页码,默认为1。
9 * @param int $sort 排序类型,0:按关注时间最近排序,默认为0。
10 * @return array
11 **/
12 function bilateral_ids( $uid, $page = 1, $count = 50, $sort = 0)
13 {
14 $params = array();
15 $params['uid'] = $uid;
16 $params['count'] = $count;
17 $params['page'] = $page;
18 $params['sort'] = $sort;
19 return $this->oauth->get( 'friendships/friends/bilateral/ids', $params );
20 }
   1
  打开得到如下数据:
  Array
(
[ids] => Array
(
[0] => 2365402665
[1] => 2874824370
[2] => 2458103930
[3] => 2631415422
[4] => 1726492234
[5] => 3307625345
[6] => 1748961617
[7] => 1898400044
[8] => 5074409657
[9] => 1459729954
[10] => 1960937255
[11] => 3002010437
[12] => 1840024911
[13] => 1933041827
[14] => 3544004403
[15] => 2218615153
[16] => 1710952872
[17] => 3296525792
[18] => 2023869922
[19] => 1136908732
[20] => 5142045518
[21] => 2113440863
[22] => 2882182570
[23] => 2750918083
[24] => 5047720995
[25] => 3237485452
[26] => 2301448374
[27] => 2241922934
[28] => 3194061564
[29] => 1516453591
[30] => 3046227467
[31] => 2990824405
[32] => 2901804343
[33] => 2062251914
[34] => 1846033411
[35] => 3024328843
[36] => 3989444339
[37] => 3937835581
[38] => 2951303393
[39] => 38376110
[40] => 2403647687
[41] => 2637451094
[42] => 2257435150
[43] => 2997619907
[44] => 2272664314
[45] => 1858542007
[46] => 3566646574
[47] => 3017416653
[48] => 2017817897
[49] => 3270778184
)
[total_number] => 198
)
  然后我们可以根据UID获取更多的信息,比如用户名、基本信息等。
  
  内容比较多,就不一一演示了
  有兴趣的朋友可以看看 saetv2.ex.class.php 文件
  官网提供的API:%E5%BE%AE%E5%8D%9AAPI
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台站的应用介绍~再见 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(就是.php新浪微博的操作类和认证类,就是SDK)
  saetv2.ex.class.php 的操作类和认证类是新浪微博的SDK,里面有很多注释可以作为API
  我们要在weibolist.php中实现的功能都在这个php页面
  文件执行顺序为:index.php-&gt;callback.php—&gt;weibolist.php
  首先在index.php中请求授权,跳转到callback.php后表示授权成功,然后进入weibolist.php进行相应的操作。
  在weibolist.php中会实例化一个“微博操作类”,然后就可以进行一系列的方法调用。
  3、 具体代码实现
  首先修改config.php中的配置信息,填写我们刚刚记录的WB_AKEY和WB_SKEY,这里要特别注意填写WB_CALLBACK_URL回调页面地址,HTTP不能省略,必须填写完整的URL
  其实一看就明白了。导入配置文件、类库、实例化对象、传递参数、调用方法、返回值。
  例如:
  $c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['token']['access_token']);
  Saetv2.ex.class.php中有两个类:微博操作类SaeTClientV2,微博认证类SaeTOAuthV2。
  操作类实例化所需的参数($akey、$skey、$access_token),access_token需要从认证类中获取。只有获取到用户的access_token,才能对用户进行操作。
  在 callback.php 中:
  setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
  callback.php中获取的access_token保存在session中,可以在创建微博操作类时使用。
  $ms = $c-&gt;home_timeline();
  打开类库文件,找到home_timeline方法,获取当前登录用户及其关注用户的最新微博消息。API已经写得很清楚了。如果您有更多时间,可以阅读源代码。
   1 /**
2 * 获取当前登录用户及其所关注用户的最新微博消息。
3 *
4 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 http://weibo.com 后在“我的首页”中看到的内容相同。同friends_timeline()
5 * <br />对应API:{@link http://open.weibo.com/wiki/2/s ... eline statuses/home_timeline}
6 *
7 * @access public
8 * @param int $page 指定返回结果的页码。根据当前登录用户所关注的用户数及这些被关注用户发表的微博数,翻页功能最多能查看的总记录数会有所不同,通常最多能查看1000条左右。默认值1。可选。
9 * @param int $count 每次返回的记录数。缺省值50,最大值200。可选。
10 * @param int $since_id 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
11 * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的微博消息。可选。
12 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
13 * @param int $feature 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
14 * @return array
15 */
16 function home_timeline( $page = 1, $count = 50, $since_id = 0, $max_id = 0, $base_app = 0, $feature = 0 )
17 {
18 $params = array();
19 if ($since_id) {
20 $this->id_format($since_id);
21 $params['since_id'] = $since_id;
22 }
23 if ($max_id) {
24 $this->id_format($max_id);
25 $params['max_id'] = $max_id;
26 }
27 $params['count'] = intval($count);
28 $params['page'] = intval($page);
29 $params['base_app'] = intval($base_app);
30 $params['feature'] = intval($feature);
31
32 return $this->oauth->get('statuses/home_timeline', $params);
33 }
  是不是很简单?找几个方法试试。
  试着写个表格发微博
  
  
  
哈哈,是不是很简单呢?
再试试获取关注人ID
   1 /**
2 * 获取用户的双向关注uid列表
3 *
4 * 对应API:{@link http://open.weibo.com/wiki/2/f ... l/ids friendships/friends/bilateral/ids}
5 *
6 * @param int $uid 需要获取双向关注列表的用户UID。
7 * @param int $count 单页返回的记录条数,默认为50。
8 * @param int $page 返回结果的页码,默认为1。
9 * @param int $sort 排序类型,0:按关注时间最近排序,默认为0。
10 * @return array
11 **/
12 function bilateral_ids( $uid, $page = 1, $count = 50, $sort = 0)
13 {
14 $params = array();
15 $params['uid'] = $uid;
16 $params['count'] = $count;
17 $params['page'] = $page;
18 $params['sort'] = $sort;
19 return $this->oauth->get( 'friendships/friends/bilateral/ids', $params );
20 }
   1
  打开得到如下数据:
  Array
(
[ids] => Array
(
[0] => 2365402665
[1] => 2874824370
[2] => 2458103930
[3] => 2631415422
[4] => 1726492234
[5] => 3307625345
[6] => 1748961617
[7] => 1898400044
[8] => 5074409657
[9] => 1459729954
[10] => 1960937255
[11] => 3002010437
[12] => 1840024911
[13] => 1933041827
[14] => 3544004403
[15] => 2218615153
[16] => 1710952872
[17] => 3296525792
[18] => 2023869922
[19] => 1136908732
[20] => 5142045518
[21] => 2113440863
[22] => 2882182570
[23] => 2750918083
[24] => 5047720995
[25] => 3237485452
[26] => 2301448374
[27] => 2241922934
[28] => 3194061564
[29] => 1516453591
[30] => 3046227467
[31] => 2990824405
[32] => 2901804343
[33] => 2062251914
[34] => 1846033411
[35] => 3024328843
[36] => 3989444339
[37] => 3937835581
[38] => 2951303393
[39] => 38376110
[40] => 2403647687
[41] => 2637451094
[42] => 2257435150
[43] => 2997619907
[44] => 2272664314
[45] => 1858542007
[46] => 3566646574
[47] => 3017416653
[48] => 2017817897
[49] => 3270778184
)
[total_number] => 198
)
  然后我们可以根据UID获取更多的信息,比如用户名、基本信息等。
  
  内容比较多,就不一一演示了
  有兴趣的朋友可以看看 saetv2.ex.class.php 文件
  官网提供的API:%E5%BE%AE%E5%8D%9AAPI
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台站的应用介绍~再见

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  介绍
  最近不太忙,花了点时间学习android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我将以新浪微博开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是路标的OAuth组件,而不是微博的SDK。
  
  来源下载:新浪微博2
  下载源代码后,将后缀改为rar,使用压缩软件解压即可。
  关于 OAuth 身份验证
  OAuth 是目前流行的授权方案。twitter、facebook、google等大型开放平台均支持oauth认证模式,国内新浪微博、腾讯微博、163微博等开放平台也已支持。这种验证方式。
  引用维基百科的相关说明
  “Oauth 是一个开放的标准,它允许用户允许第三方应用程序以 网站 的形式访问用户的私有资源,而无需将用户名和密码传递给第三方应用程序。oauth 允许用户提供令牌,而不是访问他们存储在特定服务提供商中的数据的用户名和密码。”
  例如:
  用户A在服务提供者B上存储了一些资源,B支持oauth授权方式。A 是 B 上的注册用户,拥有用户名和密码。您可以使用用户名和密码登录B查看您的资源。假设有一个应用程序C,用户A在使用C时需要将资源存储在B上,实现C在B上展示自己的资源有两种方式。
  这时候C可以使用B开启的oauth授权机制,当用户A想要展示B上的资源时,C会跳转到B的认证页面,用户在B的页面输入用户名和密码。通过后,会询问用户是否为C应用开发相关资源。用户可以自定义C可以访问的资源,然后跳转回C应用。这样就不用担心用户名和密码,也不会因为同时存储多个资源而导致维护问题。
  你可以通过下面的网站了解更多关于oauth的具体技术细节。
  
  从上图我们可以看出,实际的流程分为消费者和提供者两部分。Consumer是例子中的c应用,provider是例子中的B服务提供者。
  使用OAuth进行认证授权的过程如下:
  用户访问客户端的网站,想要操作服务提供者中存储的用户资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博开放平台上创建一个新的应用时,我们会为这个新的应用分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_token,后面需要传递。访问令牌访问开放平台提供的需要验证的接口。
  当然,那些不需要验证就可以访问的接口,直接使用key就可以访问。具体请参考开放平台提供的API文档。
  腾讯微博和163微博的开放平台在原理和实现上是相似的。
  package com.sinaweibo2;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;
public class OAuth {
private OAuthConsumer mConsumer;
private OAuthProvider mProvider;
public static final String CALLBACK_URL = "sinaweibo2://WeiboListActivity";

public static final String CONSUMER_KEY = "1849239616";
public static final String CONSUMER_SECRET = "b2137bf782bf6cae004b8a8394d5d5d6";
public static final String REQUEST_TOKEN_URL = "http://api.t.sina.com.cn/oauth ... 3B%3B
public static final String ACCESS_TOKEN_URL = "http://api.t.sina.com.cn/oauth/access_token";
public static final String AUTHORIZE_URL = "http://api.t.sina.com.cn/oauth/authorize";
public OAuth() {
}
public String RetrieveAuthUrl() throws OAuthMessageSignerException,
OAuthNotAuthorizedException, OAuthExpectationFailedException,
OAuthCommunicationException {
mConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider = new CommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);

String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);

return authUrl;
}
public void RetrieveAccessToken(String verifier)
throws OAuthMessageSignerException, OAuthNotAuthorizedException,
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, verifier);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}

}
  更多功能
  接下来主要有两个功能需要改进,一个是分页浏览,一个是发布微博。
  未来可能会支持图片发布等实用功能。
  有UI美化和性能优化。
  总结
  学习过程中看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527).pdf,都是很不错的入门书籍,我没有全部看完,看了大部分之后,我会一边看一边写demo。
  同时,我每天都会在论坛,eoe的开发者门户。回答问题、解决问题、提问、发帖,简而言之就是锻炼自己,强迫自己锻炼基础和思维。
  论坛上有很多中文pdf教程,但大部分都是从android开发者中心的Dev Guide和Resources中的内容翻译过来的。所以我觉得如果英文不是很差的话,还是建议直接阅读上面两节,同时练习里面的例子,保证两周内会有很大的进步。
  参考
  Technorati 标签:android、开放平台、oauth、新浪微博 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  介绍
  最近不太忙,花了点时间学习android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我将以新浪微博开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是路标的OAuth组件,而不是微博的SDK。
  
  来源下载:新浪微博2
  下载源代码后,将后缀改为rar,使用压缩软件解压即可。
  关于 OAuth 身份验证
  OAuth 是目前流行的授权方案。twitter、facebook、google等大型开放平台均支持oauth认证模式,国内新浪微博、腾讯微博、163微博等开放平台也已支持。这种验证方式。
  引用维基百科的相关说明
  “Oauth 是一个开放的标准,它允许用户允许第三方应用程序以 网站 的形式访问用户的私有资源,而无需将用户名和密码传递给第三方应用程序。oauth 允许用户提供令牌,而不是访问他们存储在特定服务提供商中的数据的用户名和密码。”
  例如:
  用户A在服务提供者B上存储了一些资源,B支持oauth授权方式。A 是 B 上的注册用户,拥有用户名和密码。您可以使用用户名和密码登录B查看您的资源。假设有一个应用程序C,用户A在使用C时需要将资源存储在B上,实现C在B上展示自己的资源有两种方式。
  这时候C可以使用B开启的oauth授权机制,当用户A想要展示B上的资源时,C会跳转到B的认证页面,用户在B的页面输入用户名和密码。通过后,会询问用户是否为C应用开发相关资源。用户可以自定义C可以访问的资源,然后跳转回C应用。这样就不用担心用户名和密码,也不会因为同时存储多个资源而导致维护问题。
  你可以通过下面的网站了解更多关于oauth的具体技术细节。
  
  从上图我们可以看出,实际的流程分为消费者和提供者两部分。Consumer是例子中的c应用,provider是例子中的B服务提供者。
  使用OAuth进行认证授权的过程如下:
  用户访问客户端的网站,想要操作服务提供者中存储的用户资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博开放平台上创建一个新的应用时,我们会为这个新的应用分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_token,后面需要传递。访问令牌访问开放平台提供的需要验证的接口。
  当然,那些不需要验证就可以访问的接口,直接使用key就可以访问。具体请参考开放平台提供的API文档。
  腾讯微博和163微博的开放平台在原理和实现上是相似的。
  package com.sinaweibo2;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;
public class OAuth {
private OAuthConsumer mConsumer;
private OAuthProvider mProvider;
public static final String CALLBACK_URL = "sinaweibo2://WeiboListActivity";

public static final String CONSUMER_KEY = "1849239616";
public static final String CONSUMER_SECRET = "b2137bf782bf6cae004b8a8394d5d5d6";
public static final String REQUEST_TOKEN_URL = "http://api.t.sina.com.cn/oauth ... 3B%3B
public static final String ACCESS_TOKEN_URL = "http://api.t.sina.com.cn/oauth/access_token";
public static final String AUTHORIZE_URL = "http://api.t.sina.com.cn/oauth/authorize";
public OAuth() {
}
public String RetrieveAuthUrl() throws OAuthMessageSignerException,
OAuthNotAuthorizedException, OAuthExpectationFailedException,
OAuthCommunicationException {
mConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider = new CommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);

String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);

return authUrl;
}
public void RetrieveAccessToken(String verifier)
throws OAuthMessageSignerException, OAuthNotAuthorizedException,
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, verifier);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}

}
  更多功能
  接下来主要有两个功能需要改进,一个是分页浏览,一个是发布微博。
  未来可能会支持图片发布等实用功能。
  有UI美化和性能优化。
  总结
  学习过程中看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527).pdf,都是很不错的入门书籍,我没有全部看完,看了大部分之后,我会一边看一边写demo。
  同时,我每天都会在论坛,eoe的开发者门户。回答问题、解决问题、提问、发帖,简而言之就是锻炼自己,强迫自己锻炼基础和思维。
  论坛上有很多中文pdf教程,但大部分都是从android开发者中心的Dev Guide和Resources中的内容翻译过来的。所以我觉得如果英文不是很差的话,还是建议直接阅读上面两节,同时练习里面的例子,保证两周内会有很大的进步。
  参考
  Technorati 标签:android、开放平台、oauth、新浪微博

使用新浪微博开放平台api同步微博内容至自己网站(3.1修改配置文件根据新浪微博开放平台的应用的信息修改)

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

  使用新浪微博开放平台api同步微博内容至自己网站(3.1修改配置文件根据新浪微博开放平台的应用的信息修改)
  由于博客于2015年12月10日从Typecho转移到Pelican,在将这个Typecho同步新浪微博插件放到Github后,就被遗漏了。最近有同学在Github上提了一个issue,所以写了这篇文章,对插件进行了详细的介绍,希望对大家有所帮助。
  该插件基于新浪微博开放平台最新的OAuth2认证方式调用相关API接口将文章同步到微博。微博发布后,会显示来源(即应用名称,如图BZ为TypeCodes)和缩略图(需要在插件后台设置)。
  
  1 插件说明:
  由于插件基于OAuth2认证方式,调用相关微博API时需要用户的access_token(有效期30天)和uid数据,所以需要自己额外搭建一个新浪微博应用服务。
  2 搭建新浪微博应用服务:
  首先,用户必须在新浪微博开放平台上有一个已经通过审核的申请。申请方法这里不再赘述,具体请参考官方说明。
  2.1 修改配置文件
  根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调地址。
  
  2.2 博客构建回调服务
  将此目录(微博)上传到对应的新浪微博应用服务器。如果可以访问回调地址(例如),则表示该服务已设置。
  3 安装插件:
  设置好新浪微博应用服务后,即可安装新浪微博同步插件。
  3.1 修改配置文件
  如2.第1节所示,根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调。地址。
  3.2 上传插件程序
  将此目录(WeiboSync)上传到Typecho插件目录(默认为/usr/plugins)。
  4 插件设置
  进入typecho后台,开启微博同步插件,然后点击设置按钮,进入微博同步插件信息设置页面。
  
  点击“用微博账号登录”按钮,跳转到新浪微博登录授权界面。授权登录后会自动跳转到2.2部分设置的回调地址接口。
  如下图,这个界面会输出用户的access_token(有效期30天)和uid数据。将这两个值填入上图中的新浪微博访问令牌和个人微博ID。
  
  5 插件维护
  目前整个项目已经放到了GitHub上,地址是:。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(3.1修改配置文件根据新浪微博开放平台的应用的信息修改)
  由于博客于2015年12月10日从Typecho转移到Pelican,在将这个Typecho同步新浪微博插件放到Github后,就被遗漏了。最近有同学在Github上提了一个issue,所以写了这篇文章,对插件进行了详细的介绍,希望对大家有所帮助。
  该插件基于新浪微博开放平台最新的OAuth2认证方式调用相关API接口将文章同步到微博。微博发布后,会显示来源(即应用名称,如图BZ为TypeCodes)和缩略图(需要在插件后台设置)。
  
  1 插件说明:
  由于插件基于OAuth2认证方式,调用相关微博API时需要用户的access_token(有效期30天)和uid数据,所以需要自己额外搭建一个新浪微博应用服务。
  2 搭建新浪微博应用服务:
  首先,用户必须在新浪微博开放平台上有一个已经通过审核的申请。申请方法这里不再赘述,具体请参考官方说明。
  2.1 修改配置文件
  根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调地址。
  
  2.2 博客构建回调服务
  将此目录(微博)上传到对应的新浪微博应用服务器。如果可以访问回调地址(例如),则表示该服务已设置。
  3 安装插件:
  设置好新浪微博应用服务后,即可安装新浪微博同步插件。
  3.1 修改配置文件
  如2.第1节所示,根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调。地址。
  3.2 上传插件程序
  将此目录(WeiboSync)上传到Typecho插件目录(默认为/usr/plugins)。
  4 插件设置
  进入typecho后台,开启微博同步插件,然后点击设置按钮,进入微博同步插件信息设置页面。
  
  点击“用微博账号登录”按钮,跳转到新浪微博登录授权界面。授权登录后会自动跳转到2.2部分设置的回调地址接口。
  如下图,这个界面会输出用户的access_token(有效期30天)和uid数据。将这两个值填入上图中的新浪微博访问令牌和个人微博ID。
  
  5 插件维护
  目前整个项目已经放到了GitHub上,地址是:。

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台开发记录方便查用(图)名词介绍)

网站优化优采云 发表了文章 • 0 个评论 • 147 次浏览 • 2021-09-28 19:30 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台开发记录方便查用(图)名词介绍)
  因为工作需要,接触了微博开放平台的开发。本记录是为方便查阅和使用而特制的。
  一、准备。
  1. 微博账号。注册很容易。
  2.微博账号成为开发者。
  登录微博开放平台登录您的注册账号,然后进入管理中心完成开发者基本信息和身份认证。
  这时候还需要浏览微博开放平台的文档,了解这个开放平台的一些规范术语。
  单击每个链接进行查看。顺便看一下微博API文档,里面有介绍,有些接口调用需要获取access_token。这篇文章就是为了达到这个目的。
  二、创建一个应用程序。
  比如我们要开发一个网站,然后在这个网站中连接微博开放平台,调用开放平台的接口。然后我们需要在登录微博开放平台后创建一个应用。
  创建应用程序后,您将获得应用程序的 App key 和 AppSecret。然后我们就是利用这个信息调用新浪微博的auth2.0认证获取access_token。
  拿到access_token后,我们就可以调用我们需要的接口了,比如发微博等。
  1. 创建引用的地方。开放平台--》点击上方导航菜单中的“微链接”,这里的微链接的概念也是这个开放平台的一个术语,具体含义可以查看相关文档。
  2.创建什么类型的应用程序?
  随意看看你的情况。测试时,您可以创建任何东西,尝试并充满信心地去做。我创建的是一个网页引用,所以我发现它很容易输入,不需要填写太多信息。
  如下所示:
  
  创建完成后,可以在我的应用中看到:
  
  单击以查看与应用程序相关的信息。一会儿我们需要用到这里的app key和app secret,还需要配置应用授权回调地址。
  三、下载微博开发SDK。
  开发SDK中有一些示例,可以直接作为参考。下载链接。我下载了Java版的weibo4j。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在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'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中有一些示例,可以直接作为参考。下载链接。我下载了Java版的weibo4j。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在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'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同步微博内容至自己网站(网站接入第三方平台登录--QQ篇网站登录平台)

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

  使用新浪微博开放平台api同步微博内容至自己网站(网站接入第三方平台登录--QQ篇网站登录平台)
  网站获取第三方平台登录--QQ篇
  网站获取第三方平台登录--微信文章
  内容
  准备注册开放平台并创建新应用
  在新创建的应用程序的信息中,以下信息需要正确,否则在后续请求中重定向地址会不正确。
  
  
  调试应该在上面的回调地址上进行
  获取 App Key 和 App Secret
  如上图
  业务分析指导用户授权。获得授权码后,前往微博兑换token。如果需要其他操作,token会调用对应的接口。我的业务逻辑
  注意:官方不推荐使用uid来判断登录。我这里求简单,就是账号是否绑定
  
  实际开发环境
  前端:VUE
  后端:SpringBoot
  代码
  官方开发文档,参考Web网站部分,这个是没用的JS SDK,因为VUE中无法解析SDK的按钮组件
  放置登录按钮
  在适当的地方放置引导用户登录的元素,按钮等没有具体要求
  
...
// 微博图标点击按钮
weiboClick() {
window.location.href = "https://api.weibo.com/oauth2/authorize?client_id=你的appKey&redirect_uri=你的回调地址";
}
  用户点击链接后,会打开微博授权界面
  
  登录后会自动重定向到回调地址,在url中拼接授权成功的代码
  
  因为vue的路由默认是带hash的,所以无法获取url中的参数。这里请直接通过字符串获取参数。
   // 截取url参数
getSearchString(key, search) {
let str = search;
str = str.substring(1, str.length);
let arr = str.split(&#39;&&#39;);
let obj = {};
for (let i = 0; i < arr.length; i++) {
let tmp_arr = arr[i].split("=");
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
}
return obj[key];
}
  带代码到后台兑换微博token登录
  从创建的hook中获取code,并使用code去后端确定登录(后端收到code后去微博界面换取token、uid等信息,并在库判断是否是系统的用户,如果是则通过,不返回绑定提示)
  created() {
let code = this.getSearchString("code",window.location.search)
if (code) {
// 获取微博token
user.getWeiBoToken({code: code}).then(res => {
this.afterLogin(res);
})
}
}
// 登录请求后的逻辑处理
afterLogin(res) {
if (res.code === 200) {
let {data} =res
this.set_token(data.token)
this.set_userInfo(data)
this.$message.success(res.msg);
this.$router.push(&#39;/dashboard&#39;);
} else if (res.code === 201) {
// 将uid赋值到登录的参数对象中用以登录绑定
this.param.weiboId = res.data;
this.$message.error("你的微博尚未绑定账户,请进行密码登录进行绑定!");
} else {
this.$message.error(res.msg);
}
}
  后端接口
  代币文件的官方交换
  /**
* 微博token接口返回对象
* @ClassName WeiBo
* @Author snow
* @Date 2021/1/21 17:58
*/
@Getter
@Setter
public class WeiBoToken {
private String access_token;
private String remind_in;
private String expires_in;
private String uid;
private String isRealName;
}
  /**
* 微博登录
* @param code 微博回调获取的code
* @return 登录成功、失败、需要绑定账号
*/
@GetMapping("/getWeiBoToken")
public JSONObject getWeiBoToken(String code) {
if (DataOperateUtil.isNull(code)) {
return fail("缺少code");
}
RestTemplate restTemplate = new RestTemplate();
MultiValueMap header = new LinkedMultiValueMap();
header.put(HttpHeaders.CONTENT_TYPE, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
header.put(HttpHeaders.ACCEPT, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
HttpEntity request = new HttpEntity(new JSONObject(), header);
String url = "https://api.weibo.com/oauth2/a ... ot%3B + code;
try {
// 请求微博换取token、uid等信息
ResponseEntity exchangeResult = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
System.out.println(exchangeResult);
WeiBoToken weiBoToken = JSON.toJavaObject(JSONObject.parseObject(exchangeResult.getBody()), WeiBoToken.class);
// 判断该微博id是否在库中关联了用户
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("weibo_id", weiBoToken.getUid());
queryWrapper.ne("`status`", 0);
SysUser sysUser = sysUserService.getOne(queryWrapper);
if (sysUser == null) {
// 没有绑定账号
return success(201, weiBoToken.getUid());
} else {
// 已获取到用户信息,进行登录(token处理、日志记录等操作)
return loginService(sysUser);
}
} catch (HttpClientErrorException e) {
e.printStackTrace();
}
return fail("请求微博token异常");
}
  如果没有绑定账号,在前端用账号和密码登录,在login方法中判断uid是否有值,如果有则进行登录绑定操作。
  submitForm() {
this.$refs.login.validate(valid => {
if (valid) {
if (this.param.weiboId) {
// 进行登录绑定
user.weiboBindAccount(this.param).then(res=>{
this.afterLogin(res)
})
} else {
user.login(this.param).then(res=>{
this.afterLogin(res)
})
}
} else {
this.$message.error(&#39;请输入账号和密码&#39;);
console.log(&#39;error submit!!&#39;);
return false;
}
});
}
  登录绑定接口
  /**
* 微博绑定账号
* @param param username、password、微博id
* @return 绑定后进行登录
*/
@PostMapping("/weiboBindAccount")
public JSONObject weiboBindAccount(@RequestBody SysUser param) {
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(param.getUsername(), param.getPassword());
try {
...
SysUser sysUser = ...
...
// 登录成功
// 绑定weiboId到账户
sysUser.setWeiboId(param.getWeiboId());
sysUserService.updateById(sysUser);
return loginService(sysUser);
} catch (AuthenticationException e) {
LogUtil.addLogToFile(param.toString(), "登录异常", "", LogUtil.LogLevel.error, e.getMessage());
return fail("账号或密码错误");
}
}
  以上,微博登录完成! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(网站接入第三方平台登录--QQ篇网站登录平台)
  网站获取第三方平台登录--QQ篇
  网站获取第三方平台登录--微信文章
  内容
  准备注册开放平台并创建新应用
  在新创建的应用程序的信息中,以下信息需要正确,否则在后续请求中重定向地址会不正确。
  
  
  调试应该在上面的回调地址上进行
  获取 App Key 和 App Secret
  如上图
  业务分析指导用户授权。获得授权码后,前往微博兑换token。如果需要其他操作,token会调用对应的接口。我的业务逻辑
  注意:官方不推荐使用uid来判断登录。我这里求简单,就是账号是否绑定
  
  实际开发环境
  前端:VUE
  后端:SpringBoot
  代码
  官方开发文档,参考Web网站部分,这个是没用的JS SDK,因为VUE中无法解析SDK的按钮组件
  放置登录按钮
  在适当的地方放置引导用户登录的元素,按钮等没有具体要求
  
...
// 微博图标点击按钮
weiboClick() {
window.location.href = "https://api.weibo.com/oauth2/authorize?client_id=你的appKey&redirect_uri=你的回调地址";
}
  用户点击链接后,会打开微博授权界面
  
  登录后会自动重定向到回调地址,在url中拼接授权成功的代码
  
  因为vue的路由默认是带hash的,所以无法获取url中的参数。这里请直接通过字符串获取参数。
   // 截取url参数
getSearchString(key, search) {
let str = search;
str = str.substring(1, str.length);
let arr = str.split(&#39;&&#39;);
let obj = {};
for (let i = 0; i < arr.length; i++) {
let tmp_arr = arr[i].split("=");
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
}
return obj[key];
}
  带代码到后台兑换微博token登录
  从创建的hook中获取code,并使用code去后端确定登录(后端收到code后去微博界面换取token、uid等信息,并在库判断是否是系统的用户,如果是则通过,不返回绑定提示)
  created() {
let code = this.getSearchString("code",window.location.search)
if (code) {
// 获取微博token
user.getWeiBoToken({code: code}).then(res => {
this.afterLogin(res);
})
}
}
// 登录请求后的逻辑处理
afterLogin(res) {
if (res.code === 200) {
let {data} =res
this.set_token(data.token)
this.set_userInfo(data)
this.$message.success(res.msg);
this.$router.push(&#39;/dashboard&#39;);
} else if (res.code === 201) {
// 将uid赋值到登录的参数对象中用以登录绑定
this.param.weiboId = res.data;
this.$message.error("你的微博尚未绑定账户,请进行密码登录进行绑定!");
} else {
this.$message.error(res.msg);
}
}
  后端接口
  代币文件的官方交换
  /**
* 微博token接口返回对象
* @ClassName WeiBo
* @Author snow
* @Date 2021/1/21 17:58
*/
@Getter
@Setter
public class WeiBoToken {
private String access_token;
private String remind_in;
private String expires_in;
private String uid;
private String isRealName;
}
  /**
* 微博登录
* @param code 微博回调获取的code
* @return 登录成功、失败、需要绑定账号
*/
@GetMapping("/getWeiBoToken")
public JSONObject getWeiBoToken(String code) {
if (DataOperateUtil.isNull(code)) {
return fail("缺少code");
}
RestTemplate restTemplate = new RestTemplate();
MultiValueMap header = new LinkedMultiValueMap();
header.put(HttpHeaders.CONTENT_TYPE, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
header.put(HttpHeaders.ACCEPT, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
HttpEntity request = new HttpEntity(new JSONObject(), header);
String url = "https://api.weibo.com/oauth2/a ... ot%3B + code;
try {
// 请求微博换取token、uid等信息
ResponseEntity exchangeResult = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
System.out.println(exchangeResult);
WeiBoToken weiBoToken = JSON.toJavaObject(JSONObject.parseObject(exchangeResult.getBody()), WeiBoToken.class);
// 判断该微博id是否在库中关联了用户
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("weibo_id", weiBoToken.getUid());
queryWrapper.ne("`status`", 0);
SysUser sysUser = sysUserService.getOne(queryWrapper);
if (sysUser == null) {
// 没有绑定账号
return success(201, weiBoToken.getUid());
} else {
// 已获取到用户信息,进行登录(token处理、日志记录等操作)
return loginService(sysUser);
}
} catch (HttpClientErrorException e) {
e.printStackTrace();
}
return fail("请求微博token异常");
}
  如果没有绑定账号,在前端用账号和密码登录,在login方法中判断uid是否有值,如果有则进行登录绑定操作。
  submitForm() {
this.$refs.login.validate(valid => {
if (valid) {
if (this.param.weiboId) {
// 进行登录绑定
user.weiboBindAccount(this.param).then(res=>{
this.afterLogin(res)
})
} else {
user.login(this.param).then(res=>{
this.afterLogin(res)
})
}
} else {
this.$message.error(&#39;请输入账号和密码&#39;);
console.log(&#39;error submit!!&#39;);
return false;
}
});
}
  登录绑定接口
  /**
* 微博绑定账号
* @param param username、password、微博id
* @return 绑定后进行登录
*/
@PostMapping("/weiboBindAccount")
public JSONObject weiboBindAccount(@RequestBody SysUser param) {
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(param.getUsername(), param.getPassword());
try {
...
SysUser sysUser = ...
...
// 登录成功
// 绑定weiboId到账户
sysUser.setWeiboId(param.getWeiboId());
sysUserService.updateById(sysUser);
return loginService(sysUser);
} catch (AuthenticationException e) {
LogUtil.addLogToFile(param.toString(), "登录异常", "", LogUtil.LogLevel.error, e.getMessage());
return fail("账号或密码错误");
}
}
  以上,微博登录完成!

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博写应用开发的经验分享(一):通过OAuth验证方式)

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API新特点与百度地图API相比,我理解)

网站优化优采云 发表了文章 • 0 个评论 • 62 次浏览 • 2021-09-28 18:07 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API新特点与百度地图API相比,我理解)
  查看 API 使用流程
  通过百度地图API的使用,了解到API调用的大致流程是:按照API指定的格式生成url-&gt;通过urllib读取url中的数据-&gt;解析json格式的数据。接下来开始研究新浪微博API的使用。
  准备
  新浪微博开放平台是一个使用新浪微博API的平台。使用微博账号登录平台后,申请成为开发者,创建新应用后将获得唯一的App Key和App Secret。(注:申请不需要提交审核,只要新建一个申请系统,就会分配Key和Secret)这两个信息也可以在“我的申请/申请信息/基本信息”中找到. 此页面还有一项“我的申请/申请信息/高级信息”。点击进入设置OAuth2.0授权回调页面的相关信息。如果您不知道要填写什么,可以将其设置为默认回调。页:。后面需要这三个信息,
  微博API新特性
  相比百度地图API,新浪微博API增加了OAuth2.0协议进行用户认证和授权。这里只做一个简单的说明(感兴趣的同学请查看在线文档图):通过这个协议,第三方应用可以获取用户授权,然后使用license从授权服务器获取token,用于后续的查询。 API 服务器在数据时验证身份。
  这个验证过程增加了 url 生成的复杂性。好在已经有廖雪峰老师提供的SDK工具包:sinaweibopy on 网站(廖的github地址好像改名了,所以网上很多旧链接失效了,这是新的有效链接),但是这个程序是基于python2环境编写的,python3的一些系统库发生了变化,调用程序时经常报错。作为一个python初学者,让程序适应python3环境无疑是困难的。幸运的是,一位伟大的上帝做了这项工作。感谢owolf为python3重写的SDK:sinaweibopy3。我用过,运行正常。你可以下载它。我也推荐owolf的文章全网最详细的:
  简单的例子
  先介绍一下新浪微博API的使用过程,供新同学参考。
  1.参数设置
  import sinaweibopy3
import webbrowser
import json
APP_KEY =' 填入你的App Key'
APP_SECRET=' 填入你的App Secret'
REDIRECT_URL =' 填入你的授权回调页'
  笔记:
  说一个我不小心造成的bug,给大家提个醒。当我开始运行程序时,每次都出现“重定向地址不匹配”的错误信息:
  使用微博账号登录时出错!授权第三方应用程序时出错。请联系第三方应用开​​发者:XXX或稍后重试。
  错误代码:21322 重定向地址不匹配
  在网上找解决办法,需要设置一个回调页面,不过我在前面的步骤中已经设置好了。为什么我还是有这个问题?后来在文章看到一篇文章,提到回调页面地址要和程序中的REDIRECT_URL一致。我想到了程序示例,一开始使用http:。我填的时候看到的是同一个地址,所以没改。,而且网站是https:开头的,'s'的区别,当时还以为是地址,结果区别很大!
  2.OAuth2.0认证生成的url
  client = sinaweibopy3.APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
url = client.get_authorize_url()
webbrowser.open_new(url)
result = client.request_access_token(input("please input code : "))
client.set_access_token(result.access_token, result.expires_in)
  注:这是在OAuth2.0-&gt;Token获取中调用sinaweibopy3实现用户授权的过程。当程序运行到client.request_access_token时,会弹出输入提示“请输入代码:”,询问代码?这是什么意思?打开浏览器会看到OAuth2.0验证回调页面,地址栏'code='后面有一串字符,这就是我们要的Token信息,复制粘贴进去,程序继续运行。
  3.从API读取数据
  运行以下代码读取公众微博数据并显示结果。
  result=client.public_timeline()
print(json.dumps(result,indent=2,ensure_ascii=False))
  通过查看数据结构,可以提取特定信息。例如,使用以下代码输出用户的微博昵称、位置和最新的微博文本。
  number=result["total_number"]
print(number,"users:")
for u in result["statuses"]:
print(u["user"]["screen_name"])
print(u["user"]["location"])
print(u["text"])
  先进的 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API新特点与百度地图API相比,我理解)
  查看 API 使用流程
  通过百度地图API的使用,了解到API调用的大致流程是:按照API指定的格式生成url-&gt;通过urllib读取url中的数据-&gt;解析json格式的数据。接下来开始研究新浪微博API的使用。
  准备
  新浪微博开放平台是一个使用新浪微博API的平台。使用微博账号登录平台后,申请成为开发者,创建新应用后将获得唯一的App Key和App Secret。(注:申请不需要提交审核,只要新建一个申请系统,就会分配Key和Secret)这两个信息也可以在“我的申请/申请信息/基本信息”中找到. 此页面还有一项“我的申请/申请信息/高级信息”。点击进入设置OAuth2.0授权回调页面的相关信息。如果您不知道要填写什么,可以将其设置为默认回调。页:。后面需要这三个信息,
  微博API新特性
  相比百度地图API,新浪微博API增加了OAuth2.0协议进行用户认证和授权。这里只做一个简单的说明(感兴趣的同学请查看在线文档图):通过这个协议,第三方应用可以获取用户授权,然后使用license从授权服务器获取token,用于后续的查询。 API 服务器在数据时验证身份。
  这个验证过程增加了 url 生成的复杂性。好在已经有廖雪峰老师提供的SDK工具包:sinaweibopy on 网站(廖的github地址好像改名了,所以网上很多旧链接失效了,这是新的有效链接),但是这个程序是基于python2环境编写的,python3的一些系统库发生了变化,调用程序时经常报错。作为一个python初学者,让程序适应python3环境无疑是困难的。幸运的是,一位伟大的上帝做了这项工作。感谢owolf为python3重写的SDK:sinaweibopy3。我用过,运行正常。你可以下载它。我也推荐owolf的文章全网最详细的:
  简单的例子
  先介绍一下新浪微博API的使用过程,供新同学参考。
  1.参数设置
  import sinaweibopy3
import webbrowser
import json
APP_KEY =' 填入你的App Key'
APP_SECRET=' 填入你的App Secret'
REDIRECT_URL =' 填入你的授权回调页'
  笔记:
  说一个我不小心造成的bug,给大家提个醒。当我开始运行程序时,每次都出现“重定向地址不匹配”的错误信息:
  使用微博账号登录时出错!授权第三方应用程序时出错。请联系第三方应用开​​发者:XXX或稍后重试。
  错误代码:21322 重定向地址不匹配
  在网上找解决办法,需要设置一个回调页面,不过我在前面的步骤中已经设置好了。为什么我还是有这个问题?后来在文章看到一篇文章,提到回调页面地址要和程序中的REDIRECT_URL一致。我想到了程序示例,一开始使用http:。我填的时候看到的是同一个地址,所以没改。,而且网站是https:开头的,'s'的区别,当时还以为是地址,结果区别很大!
  2.OAuth2.0认证生成的url
  client = sinaweibopy3.APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
url = client.get_authorize_url()
webbrowser.open_new(url)
result = client.request_access_token(input("please input code : "))
client.set_access_token(result.access_token, result.expires_in)
  注:这是在OAuth2.0-&gt;Token获取中调用sinaweibopy3实现用户授权的过程。当程序运行到client.request_access_token时,会弹出输入提示“请输入代码:”,询问代码?这是什么意思?打开浏览器会看到OAuth2.0验证回调页面,地址栏'code='后面有一串字符,这就是我们要的Token信息,复制粘贴进去,程序继续运行。
  3.从API读取数据
  运行以下代码读取公众微博数据并显示结果。
  result=client.public_timeline()
print(json.dumps(result,indent=2,ensure_ascii=False))
  通过查看数据结构,可以提取特定信息。例如,使用以下代码输出用户的微博昵称、位置和最新的微博文本。
  number=result["total_number"]
print(number,"users:")
for u in result["statuses"]:
print(u["user"]["screen_name"])
print(u["user"]["location"])
print(u["text"])
  先进的

使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK微博链接多种语言2API应用(组图))

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号)

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

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号)
  使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号,为微博记录重复关注信息,方便在单个用户的多条微博被不同用户多次关注后管理或回收。示例:收费服务主要是针对你针对内容来提供收费服务,涉及到你的网站seo优化,网站运营以及个人的关注记录管理问题。好处是可以保存原有博文的重复关注,一键同步到自己的网站或者微信公众号。如果有需要,可以联系他们。希望对你有帮助。
  简单来说就是一个个推送一条条的推送,全新上线的微博转发生态服务,基于新浪微博ssp全量扩展ugc的实时推送,
  经过搜索,
  看起来好像是使用新浪官方的服务,他们家并没有提供收费服务,不过如果将使用者转发的微博与之关注的其他帐号无缝连接,可以收费2万开始使用(不要求微博注册并实名)。
  这个官方确实没有提供收费服务,但有类似免费服务,具体不做回复,如果想买的话请私信,可作为参考。关注我,拿到更多的内部内容。
  关注,无需注册,
  经过对比,并没有发现有直接收费的功能。不知道现在有没有?回答不权威,不知道是否合理。但可以肯定是:我, 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号)
  使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号,为微博记录重复关注信息,方便在单个用户的多条微博被不同用户多次关注后管理或回收。示例:收费服务主要是针对你针对内容来提供收费服务,涉及到你的网站seo优化,网站运营以及个人的关注记录管理问题。好处是可以保存原有博文的重复关注,一键同步到自己的网站或者微信公众号。如果有需要,可以联系他们。希望对你有帮助。
  简单来说就是一个个推送一条条的推送,全新上线的微博转发生态服务,基于新浪微博ssp全量扩展ugc的实时推送,
  经过搜索,
  看起来好像是使用新浪官方的服务,他们家并没有提供收费服务,不过如果将使用者转发的微博与之关注的其他帐号无缝连接,可以收费2万开始使用(不要求微博注册并实名)。
  这个官方确实没有提供收费服务,但有类似免费服务,具体不做回复,如果想买的话请私信,可作为参考。关注我,拿到更多的内部内容。
  关注,无需注册,
  经过对比,并没有发现有直接收费的功能。不知道现在有没有?回答不权威,不知道是否合理。但可以肯定是:我,

使用新浪微博开放平台api同步微博内容至自己网站(用django-social-auth做中国社交网站三方登录(QQ,微博,))

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

  使用新浪微博开放平台api同步微博内容至自己网站(用django-social-auth做中国社交网站三方登录(QQ,微博,))
  前言
  此前,网络公司在做新官网时,就计划有第三方账号的登录功能。但是由于当时一些开放平台的申请步骤比较繁琐(尤其是微信开放平台),所以被推迟了。最近只能自己添加相关的了。功能。
  由于刚接触Python和Django,期间找了很多视频和资料学习和实践,慢慢摸索出MVT的结构。在第三方登录方面,百度发现了两个非常有用的文章,并从中学到了很多:
  1. python实现微信第三方网站扫码登录(Django)
  2. 使用django-social-auth做中文社交网站 三路登录(QQ、微博、豆瓣、百度、人人、微信)
  在实现QQ和微博登录的时候,我深深的体会到,使用social-auth实现第三方登录是非常简单、方便、直接、完美的。只需要添加配置内容,不需要写一句代码。真的是一个处理的句子。无需编写代码!
  但是在微信上没找到同样的实现方法(上面第二篇文章有标题,但是文章根本没有提到);从social-auth的解读文件来看,也是一脸懵逼。微信的内容没找到,因为官网已经有对应的User数据表和第三方的UserSocialAuth数据网格,非常规范。使用上面第一种方法后,对用户数据表的添加和修改很困扰。我真的不想破坏它。那种结构,就在我重新获得了social-auth,想了解数据库存储方式的时候,在social-backends中找到了weixin.py。不是说我们可以支持微信吗?
  注意实际步骤
  安装社交认证:
  由于官网使用的是python-social-auth==0.2.12,下载源码后发现social-backends中也有weixin.py,证明是可用的( Ubuntu + Python2.7 + Django1.7);
  pip install python-social-auth==0.2.12
  社会认证配置:
  配置完成后,运行你的网站,使用域名.com/login/weixin访问对应的页面,但是有没有报错:Scope parameter error or no scope permission,在实际操作中发现social-auth自动生成的二维码访问链接缺少scope参数,微信官方给出的二维码访问链接是这样的:
  https://open.weixin.qq.com/con ... irect
  如上所述,有5个参数,state可以省略,但是scope是必须的。对于网页授权,scope参数为固定值scope=snsapi_login。这种情况下,我们需要上面social-auth中的源码,加上这个参数值,根据你实际的site-packages安装路径找到/social/backends/weixin.py文件。例如,我使用 VirtualEnv 构建的路径是:
  /home/ubuntu/env/mppython/lib/python2.7/site-packages/social/backends/weixin.py
  打开这个文件,找到def auth_params()的内容(原文):
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  在params字典中,只增加一个scope参数,修改如下:
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
'scope': 'snsapi_login',
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  修改保存后,重新运行项目,再次访问域名.com/login/weixin看看效果!
  后记
  本文内容在《使用django-social-auth做中文社交网站三方登录(QQ、微博、豆瓣、百度、人人、微信)》的基础上进行了扩展,部分区域不细化或深入讲解(如urls配置等),不明白的请到上面文章查找相关资料或留言交流,谢谢! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(用django-social-auth做中国社交网站三方登录(QQ,微博,))
  前言
  此前,网络公司在做新官网时,就计划有第三方账号的登录功能。但是由于当时一些开放平台的申请步骤比较繁琐(尤其是微信开放平台),所以被推迟了。最近只能自己添加相关的了。功能。
  由于刚接触Python和Django,期间找了很多视频和资料学习和实践,慢慢摸索出MVT的结构。在第三方登录方面,百度发现了两个非常有用的文章,并从中学到了很多:
  1. python实现微信第三方网站扫码登录(Django)
  2. 使用django-social-auth做中文社交网站 三路登录(QQ、微博、豆瓣、百度、人人、微信)
  在实现QQ和微博登录的时候,我深深的体会到,使用social-auth实现第三方登录是非常简单、方便、直接、完美的。只需要添加配置内容,不需要写一句代码。真的是一个处理的句子。无需编写代码!
  但是在微信上没找到同样的实现方法(上面第二篇文章有标题,但是文章根本没有提到);从social-auth的解读文件来看,也是一脸懵逼。微信的内容没找到,因为官网已经有对应的User数据表和第三方的UserSocialAuth数据网格,非常规范。使用上面第一种方法后,对用户数据表的添加和修改很困扰。我真的不想破坏它。那种结构,就在我重新获得了social-auth,想了解数据库存储方式的时候,在social-backends中找到了weixin.py。不是说我们可以支持微信吗?
  注意实际步骤
  安装社交认证:
  由于官网使用的是python-social-auth==0.2.12,下载源码后发现social-backends中也有weixin.py,证明是可用的( Ubuntu + Python2.7 + Django1.7);
  pip install python-social-auth==0.2.12
  社会认证配置:
  配置完成后,运行你的网站,使用域名.com/login/weixin访问对应的页面,但是有没有报错:Scope parameter error or no scope permission,在实际操作中发现social-auth自动生成的二维码访问链接缺少scope参数,微信官方给出的二维码访问链接是这样的:
  https://open.weixin.qq.com/con ... irect
  如上所述,有5个参数,state可以省略,但是scope是必须的。对于网页授权,scope参数为固定值scope=snsapi_login。这种情况下,我们需要上面social-auth中的源码,加上这个参数值,根据你实际的site-packages安装路径找到/social/backends/weixin.py文件。例如,我使用 VirtualEnv 构建的路径是:
  /home/ubuntu/env/mppython/lib/python2.7/site-packages/social/backends/weixin.py
  打开这个文件,找到def auth_params()的内容(原文):
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  在params字典中,只增加一个scope参数,修改如下:
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
'scope': 'snsapi_login',
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  修改保存后,重新运行项目,再次访问域名.com/login/weixin看看效果!
  后记
  本文内容在《使用django-social-auth做中文社交网站三方登录(QQ、微博、豆瓣、百度、人人、微信)》的基础上进行了扩展,部分区域不细化或深入讲解(如urls配置等),不明白的请到上面文章查找相关资料或留言交流,谢谢!

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台今日推Xweibo开源系统(推荐使用5.2系列最新版本))

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台今日推Xweibo开源系统(推荐使用5.2系列最新版本))
  站长之家()10月14日消息:新浪微博开放平台今天推出新浪微博开源系统。Xweibo是一个基于新浪微博开放API网站的免费开源微博程序,运营商只需下载Xweibo安装文件,并根据安装向导在服务器上完成安装,即可获得完整的微博平台。微博平台包括微博内容接收、发送、评论、关注、私信等常用功能,并可定制功能和界面
  为了使xweibo系统适合不同行业和运营需求,同时也为客户带来新的运营支持,帮助运营商激活用户,丰富互动内容。Xweibo在以往案例成功经验的基础上推出了一系列标准化解决方案,为网站运营商提供免费服务,包括标准微博系统、才艺展示活动平台、客户服务平台等,同时,新浪还将继续努力,不断优化系统,推出更多解决方案,满足每个人的需求
  (汤姆微博案例展示)
  程序配置要求:
  推荐配置:Linux+Apache+MySQL+PHP
  操作系统:Linux(支持UNIX/FreeBSD/Solaris/Windows NT(2000)/2003)其他操作系统)
  Web服务器:Apache(支持httpd、Zeus、IIS和其他Web服务器)
  程序支持:PHP4.3.0及以上(推荐)5.2系列(最新版本)
  程序安装预览:
  (后台登录界面) 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台今日推Xweibo开源系统(推荐使用5.2系列最新版本))
  站长之家()10月14日消息:新浪微博开放平台今天推出新浪微博开源系统。Xweibo是一个基于新浪微博开放API网站的免费开源微博程序,运营商只需下载Xweibo安装文件,并根据安装向导在服务器上完成安装,即可获得完整的微博平台。微博平台包括微博内容接收、发送、评论、关注、私信等常用功能,并可定制功能和界面
  为了使xweibo系统适合不同行业和运营需求,同时也为客户带来新的运营支持,帮助运营商激活用户,丰富互动内容。Xweibo在以往案例成功经验的基础上推出了一系列标准化解决方案,为网站运营商提供免费服务,包括标准微博系统、才艺展示活动平台、客户服务平台等,同时,新浪还将继续努力,不断优化系统,推出更多解决方案,满足每个人的需求
  (汤姆微博案例展示)
  程序配置要求:
  推荐配置:Linux+Apache+MySQL+PHP
  操作系统:Linux(支持UNIX/FreeBSD/Solaris/Windows NT(2000)/2003)其他操作系统)
  Web服务器:Apache(支持httpd、Zeus、IIS和其他Web服务器)
  程序支持:PHP4.3.0及以上(推荐)5.2系列(最新版本)
  程序安装预览:
  (后台登录界面)

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(如何利用新浪微博开放平台api同步微博内容至自己网站)
  使用新浪微博开放平台api同步微博内容至自己网站,例如自己搭建个博客,把自己网站同步微博内容至新浪微博。如果要批量抓取,必须配置个第三方抓取工具来做内容抓取。
  谢邀,个人认为这个业务必须要做!个人能力不足,试举一例如何利用第三方爬虫工具抓取自己网站的数据。
  1、第三方爬虫工具:比如:新浪微博开放平台,官方提供的开放平台服务注意:新浪云最近收费了,
  2、找个网站,
  经过市场调研,真正能满足的回答只有一个。
  国内在做这个的不超过十家,基本还是从网站抓起,当然前提是经过本人同意。
  我也想搞这个,
  题主做过数据爬取么?搞过爬虫的基本上,网站上都会有爬虫接口,
  通过电脑直接抓包就可以获取一条微博的各种数据了,除了文字。然后结合上面的信息源,可以基本采集出微博的主要内容。当然这只是一个粗略的方法,精准的信息量可能需要自己找文章自己发掘。
  多做几个链接换着试试
  1)在专门的渠道接收信息,
  2)做成一个爬虫系统,输入新浪微博开放平台api,但这个门槛有点高,需要自己去开发或者找人写爬虫系统。一条新浪微博能抓到的字段是固定的,并且放在同一个网页,很难打通。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(如何利用新浪微博开放平台api同步微博内容至自己网站)
  使用新浪微博开放平台api同步微博内容至自己网站,例如自己搭建个博客,把自己网站同步微博内容至新浪微博。如果要批量抓取,必须配置个第三方抓取工具来做内容抓取。
  谢邀,个人认为这个业务必须要做!个人能力不足,试举一例如何利用第三方爬虫工具抓取自己网站的数据。
  1、第三方爬虫工具:比如:新浪微博开放平台,官方提供的开放平台服务注意:新浪云最近收费了,
  2、找个网站,
  经过市场调研,真正能满足的回答只有一个。
  国内在做这个的不超过十家,基本还是从网站抓起,当然前提是经过本人同意。
  我也想搞这个,
  题主做过数据爬取么?搞过爬虫的基本上,网站上都会有爬虫接口,
  通过电脑直接抓包就可以获取一条微博的各种数据了,除了文字。然后结合上面的信息源,可以基本采集出微博的主要内容。当然这只是一个粗略的方法,精准的信息量可能需要自己找文章自己发掘。
  多做几个链接换着试试
  1)在专门的渠道接收信息,
  2)做成一个爬虫系统,输入新浪微博开放平台api,但这个门槛有点高,需要自己去开发或者找人写爬虫系统。一条新浪微博能抓到的字段是固定的,并且放在同一个网页,很难打通。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的API一共验证机制(一)_光明网)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的API一共验证机制(一)_光明网)
  最近,我遇到了一个项目,其中用户的微博信息需要与他自己的网站项目同步。幸运的是,新浪微博提供了一个API。检查之后,同步需要调用的信息是验证用户的登录并以JSON格式返回数据
  在授权机制的描述中,新浪微博的API有两种认证机制:OAuth和basic auth。OAuth没有仔细观察它。《基本授权简介》中提到cnblogs上的一篇文章文章给出了get如何提交HTTP请求以及返回内容的代码,按照这个文章找到博客公园团队的另一个文章:这个文章实现了站外发送微博的功能。结合这两篇文章文章,实现了新浪微博同步功能
  以下是实现微博同步的步骤:
  1.first,为了实现HTTP请求,使用系统。Net需要引入;命名空间。同时,在转换字符集和获取返回内容部分还需要另外两个名称空间:usingsystem。文本;并使用system.io
  接下来,您可以开始编写代码来获取JSON数据
  (1)准备用户身份验证数据
  string usernamePassword = username + ":" + password;
  用户名是你的微博登录用户名,密码是你的博客密码
  (2)准备API的URL,URL中的参数在get模式下直接附加到URL上,起初博客花园中的文章没有仔细查看,直接粘贴代码并将参数附加到数据上,总是返回400错误,后来检查MSDN发现默认的Httpw请求方法ebrequest是get。此外,由于它是get模式,所以参数应该在URL中传输
  string url = "https://api.weibo.com/2/status ... 3B%3B
  以上apikey是作为新浪微博用户的开发者申请的,应该是唯一一个。在文章博客公园,据说我需要发送一封电子邮件以获得批准。我没有发送电子邮件,但我直接申请并获得了apikey。信息也可以同步。但是,当在站外发送微博信息时源部分将是:未批准的应用程序。Uid和屏幕名称将跟随参数,具体参数在API文档中描述 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的API一共验证机制(一)_光明网)
  最近,我遇到了一个项目,其中用户的微博信息需要与他自己的网站项目同步。幸运的是,新浪微博提供了一个API。检查之后,同步需要调用的信息是验证用户的登录并以JSON格式返回数据
  在授权机制的描述中,新浪微博的API有两种认证机制:OAuth和basic auth。OAuth没有仔细观察它。《基本授权简介》中提到cnblogs上的一篇文章文章给出了get如何提交HTTP请求以及返回内容的代码,按照这个文章找到博客公园团队的另一个文章:这个文章实现了站外发送微博的功能。结合这两篇文章文章,实现了新浪微博同步功能
  以下是实现微博同步的步骤:
  1.first,为了实现HTTP请求,使用系统。Net需要引入;命名空间。同时,在转换字符集和获取返回内容部分还需要另外两个名称空间:usingsystem。文本;并使用system.io
  接下来,您可以开始编写代码来获取JSON数据
  (1)准备用户身份验证数据
  string usernamePassword = username + ":" + password;
  用户名是你的微博登录用户名,密码是你的博客密码
  (2)准备API的URL,URL中的参数在get模式下直接附加到URL上,起初博客花园中的文章没有仔细查看,直接粘贴代码并将参数附加到数据上,总是返回400错误,后来检查MSDN发现默认的Httpw请求方法ebrequest是get。此外,由于它是get模式,所以参数应该在URL中传输
  string url = "https://api.weibo.com/2/status ... 3B%3B
  以上apikey是作为新浪微博用户的开发者申请的,应该是唯一一个。在文章博客公园,据说我需要发送一封电子邮件以获得批准。我没有发送电子邮件,但我直接申请并获得了apikey。信息也可以同步。但是,当在站外发送微博信息时源部分将是:未批准的应用程序。Uid和屏幕名称将跟随参数,具体参数在API文档中描述

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  导言
  我最近不太忙。我花了一些时间学习Android应用程序开发。经过两周的学习,我还编写了许多演示示例,可以从基本控件和基本动画效果的示例演示集合中播放,并不断更新和下载
  从本周开始,我们将以新浪微博开放平台为例,开发一个简单的安卓客户端,它将尽可能地改进功能
  今天的内容
  
  上图是客户端的主界面。目前,只获得了前20个数据。也可以单击“刷新”刷新数据。功能相对简单
  操作系统是android2.2.
  使用的技术点包括listview、自定义listadapter、与多线程相关的消息、处理程序、与身份验证相关的OAuth以及用户映像的异步加载
  新浪微博的验证使用了signpost的OAuth组件,而不是微博的SDK
  
  源代码下载:
  关于OAuth身份验证
  OAuth是目前流行的授权方案。twitter、Facebook和Google等大型网站开放平台支持OAuth认证模式。新浪微博、腾讯微博、163微博等国内开放平台也纷纷支持这种认证模式
  参考维基百科
  “OAuth是一种开放标准,允许用户允许第三方应用程序访问用户在网站上放置的私有资源,而无需将用户名和密码传递给第三方应用程序。OAuth允许用户提供令牌而不是用户名和密码来访问存储在特定服务提供商中的数据。”
  例如:
  用户a在服务提供商B上存储一些资源。B支持OAuth授权模式。a是B上的注册用户,具有用户名和密码。您可以使用用户名和密码登录B以查看您的资源。假设存在应用程序C。使用C时,用户a需要在B上存储自己的资源。有两种方法可以把你的资源放在B和C上
  此时,C可以使用B打开的OAuth授权机制。当用户a想要在B上显示资源时,C将跳转到B的身份验证页面。用户将在B的页面上输入用户名和密码。通过后,它将询问用户是否为C应用程序开发相关资源。用户可以自定义C可以访问的资源,然后跳回C应用程序。这样,就不需要担心用户名和密码,也不需要同时存储多个资源
  您可以通过以下网站details学习OAuth的具体技术细节
  
  从上图可以看出,实际流程分为两部分:使用者和提供者。在本例中,使用者是C应用程序,提供者是B服务提供者
  使用OAuth进行身份验证和授权的过程如下:
  用户访问客户端的网站并希望操作用户在服务提供商中存储的资源。客户端向服务提供商请求一个临时令牌。服务提供商对客户端进行身份验证后,将授予一个临时令牌。在获得临时令牌后,客户端将用户引导至授权方请求用户授权的服务提供商的授权页面。在此过程中,客户端的临时令牌和回调连接被发送给服务提供商。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问请求的资源。成功授权后此时,服务提供商引导用户返回到客户端的网页。客户端根据临时令牌从服务提供商处获取访问令牌。服务提供商根据临时令牌和用户的授权授予客户端访问令牌。客户端使用获取的访问令牌访问pr存储在服务提供程序上的受保护资源
  新浪微博的OAuth
  
  借用新浪微博OAuth验证流程图
  当我们在新浪微博开放平台上创建一个新的应用程序时,我们会为新的应用程序分配一个密钥和密码,即consumerkey和ConsumerCret。通过这两件事,我们去请求令牌,然后将用户重定向到新浪微博平台的授权页面。授权后,根据回调,URL是一个地址ss,我们再次使用request uGet access with token uToken,以后需要通过access token访问开放平台提供的待验证接口
  当然,那些不需要验证就可以访问的接口也可以通过密钥直接访问,具体请参考开放平台提供的API文档
  腾讯微博和163微博的开放平台在原则和实施上都是相似的
  packagecom.sinaweibo2
  importoauth.signpost.OAuthConsumer
  importoauth.signpost.OAuthProvider
  monshttp.CommonHttpOAuthConsumer
  monshttp.CommonHttpOAuthProvider
  importoauth.signpost.exception.OAuthCommunicationException
  ImportToAuth.signpost.exception.OAutheExpectationFailedException
  importoauth.signpost.exception.oauthmessagesignereexception
  importoauth.signpost.exception.OAuthNotAuthorizedException
  publicclassOAuth{
  私人消费者
  私有OAuthProvider
  publicstaticfinalString回调_URL=“sinaweibo2://weibolistativity”
  publicstaticfinalString CONSUMER_KEY=“1849239616”
  publicstaticfinalString CONSUMER_SECRET=“B2137BF782BF6CAE004B8A8394D5D5D6D6”
  publicstaticfinalString请求_TOKEN_URL=“”
  publicstaticfinalString访问权_令牌_URL=“”
  publicstaticfinalString AUTHORIZE_URL=“”
  publicOAuth(){
  }
  publicString RetrieveAuthUrl()通过OAuthMessageSignerException
  OAuthNotAuthorizedException,OAuthExpectationFailedException
  OAuthCommunicationException{
  mConsumer=newcommMonsHttpOAuthConsumer(消费者密钥,消费者密钥)
  mProvider=newCommonsHttpOAuthProvider(请求\u令牌\u URL
  访问\u令牌\u URL,授权\u URL)
  String authUrl=mProvider.retrieveRequestToken(mConsumer,CALLBACK\u URL)
  returnauthUrl
  }
  publicvoidRetrieveAccessToken(字符串验证器)
  通过OAuthMessageSignerException、OAuthNotAuthorizedException、
  OAuthExpectationFailedException,OAuthCommunicationException{
  mProvider.setOAuth10a(正确)
  mProvider.retrieveAccessToken(mConsumer,验证器)
  OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst(“用户ID”)
  OAuthUser.ACCESS_TOKEN=mConsumer.getToken()
  OAuthUser.ACCESS_TOKEN_SECRET=mConsumer.getTokenSecret()
  }
  }
  更多功能
  接下来,将改进两个主要功能,一个是分页浏览,另一个是微博
  将来,它可能支持实际功能,如图片发布
  还有UI美化和性能优化
  总结
  我在学习过程中读了两本书,pro.Android2.pdf和professional.android2.Application.Development.(Wrox,.2010,。0470565527).PDF,是非常好的介绍性书籍。我还没有读完所有的书。读完大部分书后,我会边读边写一个演示
  同时,我每天去论坛,EOE的开发者门户,回答问题,解决问题,提出问题和发表文章。总之,我锻炼自己,强迫自己锻炼基础和思考
  论坛上有很多中文PDF教程,但发现大部分都是从Android开发者中心的开发指南和资源中翻译过来的。因此,如果英语不是很差,建议直接阅读以上两部分,同时练习示例,以确保你能取得很好的进步两周后
  参考资料
  Technorati标签:Android、开放平台、OAuth、新浪微博 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  导言
  我最近不太忙。我花了一些时间学习Android应用程序开发。经过两周的学习,我还编写了许多演示示例,可以从基本控件和基本动画效果的示例演示集合中播放,并不断更新和下载
  从本周开始,我们将以新浪微博开放平台为例,开发一个简单的安卓客户端,它将尽可能地改进功能
  今天的内容
  
  上图是客户端的主界面。目前,只获得了前20个数据。也可以单击“刷新”刷新数据。功能相对简单
  操作系统是android2.2.
  使用的技术点包括listview、自定义listadapter、与多线程相关的消息、处理程序、与身份验证相关的OAuth以及用户映像的异步加载
  新浪微博的验证使用了signpost的OAuth组件,而不是微博的SDK
  
  源代码下载:
  关于OAuth身份验证
  OAuth是目前流行的授权方案。twitter、Facebook和Google等大型网站开放平台支持OAuth认证模式。新浪微博、腾讯微博、163微博等国内开放平台也纷纷支持这种认证模式
  参考维基百科
  “OAuth是一种开放标准,允许用户允许第三方应用程序访问用户在网站上放置的私有资源,而无需将用户名和密码传递给第三方应用程序。OAuth允许用户提供令牌而不是用户名和密码来访问存储在特定服务提供商中的数据。”
  例如:
  用户a在服务提供商B上存储一些资源。B支持OAuth授权模式。a是B上的注册用户,具有用户名和密码。您可以使用用户名和密码登录B以查看您的资源。假设存在应用程序C。使用C时,用户a需要在B上存储自己的资源。有两种方法可以把你的资源放在B和C上
  此时,C可以使用B打开的OAuth授权机制。当用户a想要在B上显示资源时,C将跳转到B的身份验证页面。用户将在B的页面上输入用户名和密码。通过后,它将询问用户是否为C应用程序开发相关资源。用户可以自定义C可以访问的资源,然后跳回C应用程序。这样,就不需要担心用户名和密码,也不需要同时存储多个资源
  您可以通过以下网站details学习OAuth的具体技术细节
  
  从上图可以看出,实际流程分为两部分:使用者和提供者。在本例中,使用者是C应用程序,提供者是B服务提供者
  使用OAuth进行身份验证和授权的过程如下:
  用户访问客户端的网站并希望操作用户在服务提供商中存储的资源。客户端向服务提供商请求一个临时令牌。服务提供商对客户端进行身份验证后,将授予一个临时令牌。在获得临时令牌后,客户端将用户引导至授权方请求用户授权的服务提供商的授权页面。在此过程中,客户端的临时令牌和回调连接被发送给服务提供商。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问请求的资源。成功授权后此时,服务提供商引导用户返回到客户端的网页。客户端根据临时令牌从服务提供商处获取访问令牌。服务提供商根据临时令牌和用户的授权授予客户端访问令牌。客户端使用获取的访问令牌访问pr存储在服务提供程序上的受保护资源
  新浪微博的OAuth
  
  借用新浪微博OAuth验证流程图
  当我们在新浪微博开放平台上创建一个新的应用程序时,我们会为新的应用程序分配一个密钥和密码,即consumerkey和ConsumerCret。通过这两件事,我们去请求令牌,然后将用户重定向到新浪微博平台的授权页面。授权后,根据回调,URL是一个地址ss,我们再次使用request uGet access with token uToken,以后需要通过access token访问开放平台提供的待验证接口
  当然,那些不需要验证就可以访问的接口也可以通过密钥直接访问,具体请参考开放平台提供的API文档
  腾讯微博和163微博的开放平台在原则和实施上都是相似的
  packagecom.sinaweibo2
  importoauth.signpost.OAuthConsumer
  importoauth.signpost.OAuthProvider
  monshttp.CommonHttpOAuthConsumer
  monshttp.CommonHttpOAuthProvider
  importoauth.signpost.exception.OAuthCommunicationException
  ImportToAuth.signpost.exception.OAutheExpectationFailedException
  importoauth.signpost.exception.oauthmessagesignereexception
  importoauth.signpost.exception.OAuthNotAuthorizedException
  publicclassOAuth{
  私人消费者
  私有OAuthProvider
  publicstaticfinalString回调_URL=“sinaweibo2://weibolistativity”
  publicstaticfinalString CONSUMER_KEY=“1849239616”
  publicstaticfinalString CONSUMER_SECRET=“B2137BF782BF6CAE004B8A8394D5D5D6D6”
  publicstaticfinalString请求_TOKEN_URL=“”
  publicstaticfinalString访问权_令牌_URL=“”
  publicstaticfinalString AUTHORIZE_URL=“”
  publicOAuth(){
  }
  publicString RetrieveAuthUrl()通过OAuthMessageSignerException
  OAuthNotAuthorizedException,OAuthExpectationFailedException
  OAuthCommunicationException{
  mConsumer=newcommMonsHttpOAuthConsumer(消费者密钥,消费者密钥)
  mProvider=newCommonsHttpOAuthProvider(请求\u令牌\u URL
  访问\u令牌\u URL,授权\u URL)
  String authUrl=mProvider.retrieveRequestToken(mConsumer,CALLBACK\u URL)
  returnauthUrl
  }
  publicvoidRetrieveAccessToken(字符串验证器)
  通过OAuthMessageSignerException、OAuthNotAuthorizedException、
  OAuthExpectationFailedException,OAuthCommunicationException{
  mProvider.setOAuth10a(正确)
  mProvider.retrieveAccessToken(mConsumer,验证器)
  OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst(“用户ID”)
  OAuthUser.ACCESS_TOKEN=mConsumer.getToken()
  OAuthUser.ACCESS_TOKEN_SECRET=mConsumer.getTokenSecret()
  }
  }
  更多功能
  接下来,将改进两个主要功能,一个是分页浏览,另一个是微博
  将来,它可能支持实际功能,如图片发布
  还有UI美化和性能优化
  总结
  我在学习过程中读了两本书,pro.Android2.pdf和professional.android2.Application.Development.(Wrox,.2010,。0470565527).PDF,是非常好的介绍性书籍。我还没有读完所有的书。读完大部分书后,我会边读边写一个演示
  同时,我每天去论坛,EOE的开发者门户,回答问题,解决问题,提出问题和发表文章。总之,我锻炼自己,强迫自己锻炼基础和思考
  论坛上有很多中文PDF教程,但发现大部分都是从Android开发者中心的开发指南和资源中翻译过来的。因此,如果英语不是很差,建议直接阅读以上两部分,同时练习示例,以确保你能取得很好的进步两周后
  参考资料
  Technorati标签:Android、开放平台、OAuth、新浪微博

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  短链接通过新浪微博API生成,该API支持一次转换多个长链接。什么是短链接?一般来说,它是通过程序计算将一个长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,需要说明的是$longUrl中的long link URL数组值可以传输多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,以满足自己的需要
  源代码
<p> 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  短链接通过新浪微博API生成,该API支持一次转换多个长链接。什么是短链接?一般来说,它是通过程序计算将一个长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,需要说明的是$longUrl中的long link URL数组值可以传输多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,以满足自己的需要
  源代码
<p>

使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5 )

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

  使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5
)
  最近,我登录并访问了联合第三方平台,并首先联系了开放平台。我在这里做个记录
  开发前的准备工作如下:
  1、注册新浪微博
  2、访问新浪微博开发平台,如果是企业,申请企业访问,并提交相关材料进行审核;如果您是个人开发者,请申请个人开发者应用程序。以开发者为例
  3、要使用新浪微博的开放API,您需要向新浪申请appkey和AppSecret。这是入口。您必须先获得这两个,然后才能访问下一个工作
  4、完成个人信息后,您还必须完成身份验证审核。审核完成后,新浪开放平台将给出appkey和AppSecret
  5、下一步是如何使用appkey和AppSecret。您需要在开放平台中下载文档或演示代码。事实上,提供的文件基本上是技术文件。很多事情没有解释清楚。第一次接触的人仍然会遇到很多麻烦
  6、Sina开放平台提供了许多不同开发语言的SDK。这里我选择JavaSDK并下载一个(包括新的接口和OAuth2.0)的zip文件解压后可以直接导入eclipse。结构如下,包括weibo4j源代码和示例代码
  
  这是一个配置文件。请按如下方式打开它:
  
  以前应用的appkey和app secret很方便。此处的客户端id是appkey,客户端sercret是app secret。请填写相应的内容,重定向uri是回调地址
  点击“第三方”--“跳转到微博登录”--“登录确定,授权”--“回调您自己的应用程序。下面是回调地址的含义
  7、start运行测试程序。测试程序在示例中,类oauth4code在包weibo4j.examples.oauth2下。这里我们需要做一些修改来修改程序中的代码
  OAuth.Authorize(“code”,args[0],args[1])。将本段更改为OAuth.Authorize(“code”,“all”)。至于原因,请阅读接口文档中有关使用OAuth.Authorize的说明
  假设我们这里没有回调地址,配置文件中的redirect_uri为空,运行后会自动打开浏览器运行测试,如下图:
  
  此时的URL地址为:
  这表明我的appkey和appsecret是有效的。由于我们没有创建正式的应用程序,新浪无法识别我的来源
  8、在开放平台上创建一个应用程序,如下图所示
  
  有三种类型的应用程序,网站access、现场应用程序和移动应用程序。如果是企业行为,有一个可以访问的公共域名,并且应用程序通过域名访问,任何一种方式都可以在这里使用。但是,如果我们只是简单的开发人员,没有公共域名,例如内部LAN模式,IP是内部网地址192. 168.1.*头部,局部127.0.@0.1在这里,您只能选择创建站内应用程序
  
  红色框中标记的位置是回调地址。如果我没有公共IP和域名,可以填写LAN以供播放,但我不能使用localhost127.0.@0.1,是按照配置要求完成的,本次配置要求非常严格
  特别是,以下应用程序图标很麻烦。完成后,您可以提交它们以供审批
  9、提交审核后,新浪开放平台将在大约一天内首次向您的电子邮件发送一封电子邮件,通知您审核结果。但是,审核结果是否失败并不重要。关键是提交审核。如果审核不成功,可以照常使用
  
  10、完成测试项目中的配置文件redirect_uri后,必须与创建应用时填写的[actual application address]一致,即回调地址!完成配置后,再次运行oauth4code.java,如图所示
  
  在这里,您将跳转到新浪微博的登录页面,登录新浪微博账号后,您需要点击授权,这意味着您的微博账号的相关内容可以与访问平台共享。授权完成后
  将返回一个代码,这个代码非常重要,它是我们整个访问第三方平台的关键,通过这个代码,我们可以获得用户的访问令牌、uid等内容,相当于打开整个访问过程
  11、Call新浪微博开放API
  在这里,您需要学习这些API以满足访问需求。首先要熟悉的是OAuth2.0您可以在上检查授权界面,如下所示:
  
  12、通过servlet程序调用OpenAPI,获取新浪微博uid和微博名称示例
  
  response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;

Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;


} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5
)
  最近,我登录并访问了联合第三方平台,并首先联系了开放平台。我在这里做个记录
  开发前的准备工作如下:
  1、注册新浪微博
  2、访问新浪微博开发平台,如果是企业,申请企业访问,并提交相关材料进行审核;如果您是个人开发者,请申请个人开发者应用程序。以开发者为例
  3、要使用新浪微博的开放API,您需要向新浪申请appkey和AppSecret。这是入口。您必须先获得这两个,然后才能访问下一个工作
  4、完成个人信息后,您还必须完成身份验证审核。审核完成后,新浪开放平台将给出appkey和AppSecret
  5、下一步是如何使用appkey和AppSecret。您需要在开放平台中下载文档或演示代码。事实上,提供的文件基本上是技术文件。很多事情没有解释清楚。第一次接触的人仍然会遇到很多麻烦
  6、Sina开放平台提供了许多不同开发语言的SDK。这里我选择JavaSDK并下载一个(包括新的接口和OAuth2.0)的zip文件解压后可以直接导入eclipse。结构如下,包括weibo4j源代码和示例代码
  
  这是一个配置文件。请按如下方式打开它:
  
  以前应用的appkey和app secret很方便。此处的客户端id是appkey,客户端sercret是app secret。请填写相应的内容,重定向uri是回调地址
  点击“第三方”--“跳转到微博登录”--“登录确定,授权”--“回调您自己的应用程序。下面是回调地址的含义
  7、start运行测试程序。测试程序在示例中,类oauth4code在包weibo4j.examples.oauth2下。这里我们需要做一些修改来修改程序中的代码
  OAuth.Authorize(“code”,args[0],args[1])。将本段更改为OAuth.Authorize(“code”,“all”)。至于原因,请阅读接口文档中有关使用OAuth.Authorize的说明
  假设我们这里没有回调地址,配置文件中的redirect_uri为空,运行后会自动打开浏览器运行测试,如下图:
  
  此时的URL地址为:
  这表明我的appkey和appsecret是有效的。由于我们没有创建正式的应用程序,新浪无法识别我的来源
  8、在开放平台上创建一个应用程序,如下图所示
  
  有三种类型的应用程序,网站access、现场应用程序和移动应用程序。如果是企业行为,有一个可以访问的公共域名,并且应用程序通过域名访问,任何一种方式都可以在这里使用。但是,如果我们只是简单的开发人员,没有公共域名,例如内部LAN模式,IP是内部网地址192. 168.1.*头部,局部127.0.@0.1在这里,您只能选择创建站内应用程序
  
  红色框中标记的位置是回调地址。如果我没有公共IP和域名,可以填写LAN以供播放,但我不能使用localhost127.0.@0.1,是按照配置要求完成的,本次配置要求非常严格
  特别是,以下应用程序图标很麻烦。完成后,您可以提交它们以供审批
  9、提交审核后,新浪开放平台将在大约一天内首次向您的电子邮件发送一封电子邮件,通知您审核结果。但是,审核结果是否失败并不重要。关键是提交审核。如果审核不成功,可以照常使用
  
  10、完成测试项目中的配置文件redirect_uri后,必须与创建应用时填写的[actual application address]一致,即回调地址!完成配置后,再次运行oauth4code.java,如图所示
  
  在这里,您将跳转到新浪微博的登录页面,登录新浪微博账号后,您需要点击授权,这意味着您的微博账号的相关内容可以与访问平台共享。授权完成后
  将返回一个代码,这个代码非常重要,它是我们整个访问第三方平台的关键,通过这个代码,我们可以获得用户的访问令牌、uid等内容,相当于打开整个访问过程
  11、Call新浪微博开放API
  在这里,您需要学习这些API以满足访问需求。首先要熟悉的是OAuth2.0您可以在上检查授权界面,如下所示:
  
  12、通过servlet程序调用OpenAPI,获取新浪微博uid和微博名称示例
  
  response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;

Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;


} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/
  

使用新浪微博开放平台api同步微博内容至自己网站(几个微博免费服务,让你绑定多个微博或社交网站)

网站优化优采云 发表了文章 • 0 个评论 • 109 次浏览 • 2021-09-14 07:11 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(几个微博免费服务,让你绑定多个微博或社交网站)
  随着越来越多的朋友接触和使用微博,很多人逐渐发现他们的朋友分散在许多不同的微博平台上。为此,我经常不得不在腾讯微博、新浪微博、人人网和豆瓣等多个不同的微博平台上更新新闻。但是为了保持多个账号同步,同一个微博经常被多次发送,真的很麻烦。
  今天给大家介绍几款可以一键发布消息到多个微博的免费服务。您可以绑定多个微博或社交网站账号,写好内容提交一次,然后上传微博同时发送到这些多个社交平台。并且可以将多个微博平台的更新汇总显示在同一个地方,是拥有多个不同微博的朋友必不可少的工具...
  先派微博通:
  把香派微博通放在第一位,其实是因为我目前只用了这个服务,我觉得已经满足了我的需求,所以我没有实际使用过,后面会讲到。当然,我仍然应该介绍所有类似的服务。毕竟,您可以比较和对比多种服务。其实,试试看哪一个适合你的喜好。这种微博同步工具其实使用起来很简单,无非就是绑定几个账号然后发个消息而已,用法就不介绍了。
  使用香派微博通网页版的实际效果:
  
  支持的微博平台:
  
  除了WEB网页版,祥拍微博通还提供iPhone、iPad、Android、S60、Chrome插件、Adobe Air客户端(跨平台支持Win、Mac、Linux)、WAP手机版、等,客户端相似丰富,发微博到任何地方都很方便!
  微博通:
  是的,这也叫微博通,应该和前者没有直接关系。功能上和香派微博通基本一样,所以大家都喜欢。遗憾的是,客户端没有象牌微博通那么丰富。不过微博通支持的网站也很丰富,可以通过QQ、Gtalk、MSN等通讯工具发微博。
  
  :
   也是一个微博聚合平台,可以同时绑定多条微博,同时发布。消息同步、转发、评论、采集等。客户端有网页版、iPhone、Android、手机网页版,并有一些热点文字聚合功能。我没有亲自测试过,所以只能自己测试!
  
  写在后面:
  其实也有一些类似的微博同步工具,比如Follow5、FaWave等,我觉得这些工具没有一个特别强大或者特别差。它们基本可以满足你自己的习惯和需求,所以没关系。 NS。希望这种工具可以在现实生活和工作中为您提供帮助!如果你知道还有一个特别好用的工具,也欢迎大家推荐补充。最后希望玩微博的朋友可以关注我的新浪微博和腾讯微博! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(几个微博免费服务,让你绑定多个微博或社交网站)
  随着越来越多的朋友接触和使用微博,很多人逐渐发现他们的朋友分散在许多不同的微博平台上。为此,我经常不得不在腾讯微博、新浪微博、人人网和豆瓣等多个不同的微博平台上更新新闻。但是为了保持多个账号同步,同一个微博经常被多次发送,真的很麻烦。
  今天给大家介绍几款可以一键发布消息到多个微博的免费服务。您可以绑定多个微博或社交网站账号,写好内容提交一次,然后上传微博同时发送到这些多个社交平台。并且可以将多个微博平台的更新汇总显示在同一个地方,是拥有多个不同微博的朋友必不可少的工具...
  先派微博通:
  把香派微博通放在第一位,其实是因为我目前只用了这个服务,我觉得已经满足了我的需求,所以我没有实际使用过,后面会讲到。当然,我仍然应该介绍所有类似的服务。毕竟,您可以比较和对比多种服务。其实,试试看哪一个适合你的喜好。这种微博同步工具其实使用起来很简单,无非就是绑定几个账号然后发个消息而已,用法就不介绍了。
  使用香派微博通网页版的实际效果:
  
  支持的微博平台:
  
  除了WEB网页版,祥拍微博通还提供iPhone、iPad、Android、S60、Chrome插件、Adobe Air客户端(跨平台支持Win、Mac、Linux)、WAP手机版、等,客户端相似丰富,发微博到任何地方都很方便!
  微博通:
  是的,这也叫微博通,应该和前者没有直接关系。功能上和香派微博通基本一样,所以大家都喜欢。遗憾的是,客户端没有象牌微博通那么丰富。不过微博通支持的网站也很丰富,可以通过QQ、Gtalk、MSN等通讯工具发微博。
  
  :
   也是一个微博聚合平台,可以同时绑定多条微博,同时发布。消息同步、转发、评论、采集等。客户端有网页版、iPhone、Android、手机网页版,并有一些热点文字聚合功能。我没有亲自测试过,所以只能自己测试!
  
  写在后面:
  其实也有一些类似的微博同步工具,比如Follow5、FaWave等,我觉得这些工具没有一个特别强大或者特别差。它们基本可以满足你自己的习惯和需求,所以没关系。 NS。希望这种工具可以在现实生活和工作中为您提供帮助!如果你知道还有一个特别好用的工具,也欢迎大家推荐补充。最后希望玩微博的朋友可以关注我的新浪微博和腾讯微博!

使用新浪微博开放平台api同步微博内容至自己网站(一条微博审核之后,希望能提取摘要,自动同步发布)

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

  使用新浪微博开放平台api同步微博内容至自己网站(一条微博审核之后,希望能提取摘要,自动同步发布)
  任务
  发完博客,希望提取摘要,自动同步发一条微博;
  准备工作
  作为新浪微博的开发者,需要进行身份验证;
  个人身份认证审核一般需要一个工作日;
  接下来是提交网站审核,国内提交备案号。海外申请者,只需提交网站的海外证明;也是一个工作日左右;
  个人身份审核通过后,可以创建应用和调用接口,此时获得的权限比较低;
  网站不送审或审核不通过,对微博没有影响;它只会在微博下显示“未审核的申请”;
  审核后显示网站app名称:
  
  调用接口
  微博开放平台提供测试工具;
  开发接入前,首先要保证测试微博可以通过本测试工具发送;
  %E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAAPI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85% B7
  微博的api参考文档是:
  所有微博接口都需要授权认证;认证后,会得到一个access_token(访问密钥);密钥的有效期因用户级别而异;
  网络审核不通过者1天;审核通过的普通用户7天;
  在有效期内,无需与新浪服务器交互进行权限认证。只要token存储在本地,就可以调用各种微博API(读、写、获取受众信息等)
  授权
  授权认证的三种方式:
  通过用户名和密码;
  这是最容易理解的。在程序中写入微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,该接口是提供给开发应用使用的,不能使用web应用;
  网络回调;
  需要与新浪服务器交互并提供回调地址;在回调地址中获取access_token;
  第三种方法是代码方法。没仔细看,略过;
  Web 应用仅支持第二种授权方式;下面详细介绍第二种方法的使用:
  下载新浪提供的SDK,收录demo和api打包类;
  访问页面:
  call.php:
  include_once( 'sina_config.php' );
include_once( 'saetv2.ex.class.php' );
//获取到授权的url
$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
request()->redirect($code_url);
  回调地址页面(WB_CALLBACK_URL):
  回调.php
  $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = WB_CALLBACK_URL;
try {
$token = $o->getAccessToken( 'code', $keys ) ;
} catch (OAuthException $e) {
echo "weibo.com get access token err.";
LOG_ERR("weibo.com get access token err.");
return ;
}
}
if ($token) {
//取到授权后的api调用密钥,可用存起来,在有效期内多次调用api接口就不用再授权了
$_SESSION['token'] = $token;
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$ret = $c->update( $weiboStr ); //发送微博
if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {
$str = "Weibo.com Send failed. err info:" . $ret['error_code'] . '/' . $ret['error'];
LOG_ERR($str);
} else {
LOG_INFO("Weibo.com Send Success.");
}
}
  博客摘要提取
  微博字数为140字;其中,一个汉字为1个字;我们必须选择一个计数功能;对于一个汉字,strlen()计为3个字符,多字节统计函数mb_strlen()计为1个字,符合我们的要求;
  最后,您需要清除 html 标签等。
   //获取当前微博内容(140字)
public function getWeibo()
{
$titleLen = mb_strlen($this->title, 'UTF-8');
//140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
$summaryLen = 115 - $titleLen ;
$pubPaper = cutstr_html($this->summary);
if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
$pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
$pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
return $pubPaper;
}
//完全的去除html标记
function cutstr_html($string)
{
$string = strip_tags($string);
$string = preg_replace ('/n/is', '', $string);
$string = preg_replace ('/ | /is', '', $string);
$string = preg_replace ('/ /is', '', $string);
return $string;
}
  结束。
  发布者:大CC | 2013年11月30日
  博客:
  微博:新浪微博 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(一条微博审核之后,希望能提取摘要,自动同步发布)
  任务
  发完博客,希望提取摘要,自动同步发一条微博;
  准备工作
  作为新浪微博的开发者,需要进行身份验证;
  个人身份认证审核一般需要一个工作日;
  接下来是提交网站审核,国内提交备案号。海外申请者,只需提交网站的海外证明;也是一个工作日左右;
  个人身份审核通过后,可以创建应用和调用接口,此时获得的权限比较低;
  网站不送审或审核不通过,对微博没有影响;它只会在微博下显示“未审核的申请”;
  审核后显示网站app名称:
  
  调用接口
  微博开放平台提供测试工具;
  开发接入前,首先要保证测试微博可以通过本测试工具发送;
  %E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAAPI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85% B7
  微博的api参考文档是:
  所有微博接口都需要授权认证;认证后,会得到一个access_token(访问密钥);密钥的有效期因用户级别而异;
  网络审核不通过者1天;审核通过的普通用户7天;
  在有效期内,无需与新浪服务器交互进行权限认证。只要token存储在本地,就可以调用各种微博API(读、写、获取受众信息等)
  授权
  授权认证的三种方式:
  通过用户名和密码;
  这是最容易理解的。在程序中写入微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,该接口是提供给开发应用使用的,不能使用web应用;
  网络回调;
  需要与新浪服务器交互并提供回调地址;在回调地址中获取access_token;
  第三种方法是代码方法。没仔细看,略过;
  Web 应用仅支持第二种授权方式;下面详细介绍第二种方法的使用:
  下载新浪提供的SDK,收录demo和api打包类;
  访问页面:
  call.php:
  include_once( 'sina_config.php' );
include_once( 'saetv2.ex.class.php' );
//获取到授权的url
$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
request()->redirect($code_url);
  回调地址页面(WB_CALLBACK_URL):
  回调.php
  $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = WB_CALLBACK_URL;
try {
$token = $o->getAccessToken( 'code', $keys ) ;
} catch (OAuthException $e) {
echo "weibo.com get access token err.";
LOG_ERR("weibo.com get access token err.");
return ;
}
}
if ($token) {
//取到授权后的api调用密钥,可用存起来,在有效期内多次调用api接口就不用再授权了
$_SESSION['token'] = $token;
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$ret = $c->update( $weiboStr ); //发送微博
if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {
$str = "Weibo.com Send failed. err info:" . $ret['error_code'] . '/' . $ret['error'];
LOG_ERR($str);
} else {
LOG_INFO("Weibo.com Send Success.");
}
}
  博客摘要提取
  微博字数为140字;其中,一个汉字为1个字;我们必须选择一个计数功能;对于一个汉字,strlen()计为3个字符,多字节统计函数mb_strlen()计为1个字,符合我们的要求;
  最后,您需要清除 html 标签等。
   //获取当前微博内容(140字)
public function getWeibo()
{
$titleLen = mb_strlen($this->title, 'UTF-8');
//140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
$summaryLen = 115 - $titleLen ;
$pubPaper = cutstr_html($this->summary);
if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
$pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
$pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
return $pubPaper;
}
//完全的去除html标记
function cutstr_html($string)
{
$string = strip_tags($string);
$string = preg_replace ('/n/is', '', $string);
$string = preg_replace ('/ | /is', '', $string);
$string = preg_replace ('/ /is', '', $string);
return $string;
}
  结束。
  发布者:大CC | 2013年11月30日
  博客:
  微博:新浪微博

使用新浪微博开放平台api同步微博内容至自己网站(新浪云存储SCS插件和新浪微博同步插件维护行动)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪云存储SCS插件和新浪微博同步插件维护行动)
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想把 TP 的所有开源插件都集成到 GitHub 上进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果你把它放在 typecho-fans 上进行维护,它将用于用户和开发。这对人来说非常方便。但是当时不知道如何将GitHub上维护的三个插件库作为子目录/库同步到typecho-fans的插件库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想整合TP的所有开源插件进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果把它放在 typecho-fans 上进行维护,对于用户和开发人员来说都会非常方便。 .但是当时我不知道怎么把放在GitHub上维护的三个插件仓库作为子目录/仓库同步到typecho-fans的插件仓库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  非IDE文本编辑器如Emacs、Vim、UEStudio/UltraEdit、Sublime text等,没有语言编译功能,对于不想打开IDE的程序员来说是非常痛苦的。尤其是当你需要切换到不同的语言进行开发时,非常不方便。你不能在这里打开一个 VS 而在那里打开一个 Eclipse。所以我自己折腾了下,通过配置可以直接在UEStudio或者UltraEdit中编写C/C++/C#/JAVA等代码编译运行输出结果。
  
  1 实现思路
  实现在UEStudio或UltraEdit中直接编译执行的功能... 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪云存储SCS插件和新浪微博同步插件维护行动)
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想把 TP 的所有开源插件都集成到 GitHub 上进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果你把它放在 typecho-fans 上进行维护,它将用于用户和开发。这对人来说非常方便。但是当时不知道如何将GitHub上维护的三个插件库作为子目录/库同步到typecho-fans的插件库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想整合TP的所有开源插件进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果把它放在 typecho-fans 上进行维护,对于用户和开发人员来说都会非常方便。 .但是当时我不知道怎么把放在GitHub上维护的三个插件仓库作为子目录/仓库同步到typecho-fans的插件仓库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  非IDE文本编辑器如Emacs、Vim、UEStudio/UltraEdit、Sublime text等,没有语言编译功能,对于不想打开IDE的程序员来说是非常痛苦的。尤其是当你需要切换到不同的语言进行开发时,非常不方便。你不能在这里打开一个 VS 而在那里打开一个 Eclipse。所以我自己折腾了下,通过配置可以直接在UEStudio或者UltraEdit中编写C/C++/C#/JAVA等代码编译运行输出结果。
  
  1 实现思路
  实现在UEStudio或UltraEdit中直接编译执行的功能...

使用新浪微博开放平台api同步微博内容至自己网站(轻量无忧计划LighthouseCare,无忧实例终身享有与新购同价的续费优惠)

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

  使用新浪微博开放平台api同步微博内容至自己网站(轻量无忧计划LighthouseCare,无忧实例终身享有与新购同价的续费优惠)
  前言
  5月,腾讯云推出轻量无忧计划灯塔关怀。无忧实例享受与新购同价的终身续费优惠,无需担心新购便宜、续费贵。终身续费优惠可与部分代金券共享,优惠更省心。 618期间,腾讯云也开展了很多活动。爆发式尖峰中的轻量级应用服务器也相对昂贵。仍然有很多大玩家购买了轻量级服务器,有的甚至买了好几台。小伙伴们哈哈哈,今天小君继续为大家带来腾讯云轻量级应用服务器玩法。每个人通常都需要一个同步盘,同步盘一般是需要付费的,但是我们可以自己搭建一个私人的同步盘。现在就开始吧!
  准备工作
  腾讯云轻量级应用服务器一台(香港或国内存储包最好
  为什么要使用腾讯云轻量级应用服务器?当我们在腾讯云训练应用服务器上重装系统时,我们可以选择应用镜像,然后选择“Docker”,然后我们就可以使用“Docker”部署来构建我们需要的程序!
  腾讯云轻量级应用服务器在此期间有活动。可以关注一下。
  腾讯云轻量级应用服务器购买地址:
  腾讯云轻量无忧项目灯塔关怀:
  2021年腾讯云618上云:
  同步介绍
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  同步官网
  
  界面演示
  
  注意
  本文软件基于腾讯云轻量级应用服务器安装使用。本教程使用的腾讯云轻量级应用服务器系统为Docker CE 19.03.9!理论上,腾讯云轻量级应用服务器为Docker CE 19.03.9。服务器操作应该和本文基本一致(包括流程和报错,其他服务器应该和本文类似!
  安装Syncthing1.并拉取Syncthing镜像
  docker pull syncthing/syncthing
  
  2. 创建一个新容器并运行 Syncthing
  docker run -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  启动成功后,在浏览器中输入,显示如下页面,设置成功!然后进入SSH关闭Dorker操作(Ctrl+C)
  
  Ps:可以自定义主机名,也可以根据需要自定义端口。
  3. 设置 Syncthing 在后台运行
  docker run -d --restart=always -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  此时,我们已经安装了 Syncthing。
  浏览器访问ip:8384即可访问!进入设置账号密码(可选设置),即可享用Syncthing私人同步盘,实现文件同步! Syncthing 支持中文! ! !
  Ps:需要在腾讯云轻量级应用服务器后台防火墙打开相应端口! , 8384 tcp和22000 tcp&udp需要默认开启。
  我的博客即将同步到腾讯云+社区,诚邀大家加入:
  喜欢4 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(轻量无忧计划LighthouseCare,无忧实例终身享有与新购同价的续费优惠)
  前言
  5月,腾讯云推出轻量无忧计划灯塔关怀。无忧实例享受与新购同价的终身续费优惠,无需担心新购便宜、续费贵。终身续费优惠可与部分代金券共享,优惠更省心。 618期间,腾讯云也开展了很多活动。爆发式尖峰中的轻量级应用服务器也相对昂贵。仍然有很多大玩家购买了轻量级服务器,有的甚至买了好几台。小伙伴们哈哈哈,今天小君继续为大家带来腾讯云轻量级应用服务器玩法。每个人通常都需要一个同步盘,同步盘一般是需要付费的,但是我们可以自己搭建一个私人的同步盘。现在就开始吧!
  准备工作
  腾讯云轻量级应用服务器一台(香港或国内存储包最好
  为什么要使用腾讯云轻量级应用服务器?当我们在腾讯云训练应用服务器上重装系统时,我们可以选择应用镜像,然后选择“Docker”,然后我们就可以使用“Docker”部署来构建我们需要的程序!
  腾讯云轻量级应用服务器在此期间有活动。可以关注一下。
  腾讯云轻量级应用服务器购买地址:
  腾讯云轻量无忧项目灯塔关怀:
  2021年腾讯云618上云:
  同步介绍
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  同步官网
  
  界面演示
  
  注意
  本文软件基于腾讯云轻量级应用服务器安装使用。本教程使用的腾讯云轻量级应用服务器系统为Docker CE 19.03.9!理论上,腾讯云轻量级应用服务器为Docker CE 19.03.9。服务器操作应该和本文基本一致(包括流程和报错,其他服务器应该和本文类似!
  安装Syncthing1.并拉取Syncthing镜像
  docker pull syncthing/syncthing
  
  2. 创建一个新容器并运行 Syncthing
  docker run -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  启动成功后,在浏览器中输入,显示如下页面,设置成功!然后进入SSH关闭Dorker操作(Ctrl+C)
  
  Ps:可以自定义主机名,也可以根据需要自定义端口。
  3. 设置 Syncthing 在后台运行
  docker run -d --restart=always -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  此时,我们已经安装了 Syncthing。
  浏览器访问ip:8384即可访问!进入设置账号密码(可选设置),即可享用Syncthing私人同步盘,实现文件同步! Syncthing 支持中文! ! !
  Ps:需要在腾讯云轻量级应用服务器后台防火墙打开相应端口! , 8384 tcp和22000 tcp&udp需要默认开启。
  我的博客即将同步到腾讯云+社区,诚邀大家加入:
  喜欢4

使用新浪微博开放平台api同步微博内容至自己网站(就是.php新浪微博的操作类和认证类,就是SDK)

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

  使用新浪微博开放平台api同步微博内容至自己网站(就是.php新浪微博的操作类和认证类,就是SDK)
  saetv2.ex.class.php 的操作类和认证类是新浪微博的SDK,里面有很多注释可以作为API
  我们要在weibolist.php中实现的功能都在这个php页面
  文件执行顺序为:index.php-&gt;callback.php—&gt;weibolist.php
  首先在index.php中请求授权,跳转到callback.php后表示授权成功,然后进入weibolist.php进行相应的操作。
  在weibolist.php中会实例化一个“微博操作类”,然后就可以进行一系列的方法调用。
  3、 具体代码实现
  首先修改config.php中的配置信息,填写我们刚刚记录的WB_AKEY和WB_SKEY,这里要特别注意填写WB_CALLBACK_URL回调页面地址,HTTP不能省略,必须填写完整的URL
  其实一看就明白了。导入配置文件、类库、实例化对象、传递参数、调用方法、返回值。
  例如:
  $c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['token']['access_token']);
  Saetv2.ex.class.php中有两个类:微博操作类SaeTClientV2,微博认证类SaeTOAuthV2。
  操作类实例化所需的参数($akey、$skey、$access_token),access_token需要从认证类中获取。只有获取到用户的access_token,才能对用户进行操作。
  在 callback.php 中:
  setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
  callback.php中获取的access_token保存在session中,可以在创建微博操作类时使用。
  $ms = $c-&gt;home_timeline();
  打开类库文件,找到home_timeline方法,获取当前登录用户及其关注用户的最新微博消息。API已经写得很清楚了。如果您有更多时间,可以阅读源代码。
   1 /**
2 * 获取当前登录用户及其所关注用户的最新微博消息。
3 *
4 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 http://weibo.com 后在“我的首页”中看到的内容相同。同friends_timeline()
5 * <br />对应API:{@link http://open.weibo.com/wiki/2/s ... eline statuses/home_timeline}
6 *
7 * @access public
8 * @param int $page 指定返回结果的页码。根据当前登录用户所关注的用户数及这些被关注用户发表的微博数,翻页功能最多能查看的总记录数会有所不同,通常最多能查看1000条左右。默认值1。可选。
9 * @param int $count 每次返回的记录数。缺省值50,最大值200。可选。
10 * @param int $since_id 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
11 * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的微博消息。可选。
12 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
13 * @param int $feature 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
14 * @return array
15 */
16 function home_timeline( $page = 1, $count = 50, $since_id = 0, $max_id = 0, $base_app = 0, $feature = 0 )
17 {
18 $params = array();
19 if ($since_id) {
20 $this->id_format($since_id);
21 $params['since_id'] = $since_id;
22 }
23 if ($max_id) {
24 $this->id_format($max_id);
25 $params['max_id'] = $max_id;
26 }
27 $params['count'] = intval($count);
28 $params['page'] = intval($page);
29 $params['base_app'] = intval($base_app);
30 $params['feature'] = intval($feature);
31
32 return $this->oauth->get('statuses/home_timeline', $params);
33 }
  是不是很简单?找几个方法试试。
  试着写个表格发微博
  
  
  
哈哈,是不是很简单呢?
再试试获取关注人ID
   1 /**
2 * 获取用户的双向关注uid列表
3 *
4 * 对应API:{@link http://open.weibo.com/wiki/2/f ... l/ids friendships/friends/bilateral/ids}
5 *
6 * @param int $uid 需要获取双向关注列表的用户UID。
7 * @param int $count 单页返回的记录条数,默认为50。
8 * @param int $page 返回结果的页码,默认为1。
9 * @param int $sort 排序类型,0:按关注时间最近排序,默认为0。
10 * @return array
11 **/
12 function bilateral_ids( $uid, $page = 1, $count = 50, $sort = 0)
13 {
14 $params = array();
15 $params['uid'] = $uid;
16 $params['count'] = $count;
17 $params['page'] = $page;
18 $params['sort'] = $sort;
19 return $this->oauth->get( 'friendships/friends/bilateral/ids', $params );
20 }
   1
  打开得到如下数据:
  Array
(
[ids] => Array
(
[0] => 2365402665
[1] => 2874824370
[2] => 2458103930
[3] => 2631415422
[4] => 1726492234
[5] => 3307625345
[6] => 1748961617
[7] => 1898400044
[8] => 5074409657
[9] => 1459729954
[10] => 1960937255
[11] => 3002010437
[12] => 1840024911
[13] => 1933041827
[14] => 3544004403
[15] => 2218615153
[16] => 1710952872
[17] => 3296525792
[18] => 2023869922
[19] => 1136908732
[20] => 5142045518
[21] => 2113440863
[22] => 2882182570
[23] => 2750918083
[24] => 5047720995
[25] => 3237485452
[26] => 2301448374
[27] => 2241922934
[28] => 3194061564
[29] => 1516453591
[30] => 3046227467
[31] => 2990824405
[32] => 2901804343
[33] => 2062251914
[34] => 1846033411
[35] => 3024328843
[36] => 3989444339
[37] => 3937835581
[38] => 2951303393
[39] => 38376110
[40] => 2403647687
[41] => 2637451094
[42] => 2257435150
[43] => 2997619907
[44] => 2272664314
[45] => 1858542007
[46] => 3566646574
[47] => 3017416653
[48] => 2017817897
[49] => 3270778184
)
[total_number] => 198
)
  然后我们可以根据UID获取更多的信息,比如用户名、基本信息等。
  
  内容比较多,就不一一演示了
  有兴趣的朋友可以看看 saetv2.ex.class.php 文件
  官网提供的API:%E5%BE%AE%E5%8D%9AAPI
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台站的应用介绍~再见 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(就是.php新浪微博的操作类和认证类,就是SDK)
  saetv2.ex.class.php 的操作类和认证类是新浪微博的SDK,里面有很多注释可以作为API
  我们要在weibolist.php中实现的功能都在这个php页面
  文件执行顺序为:index.php-&gt;callback.php—&gt;weibolist.php
  首先在index.php中请求授权,跳转到callback.php后表示授权成功,然后进入weibolist.php进行相应的操作。
  在weibolist.php中会实例化一个“微博操作类”,然后就可以进行一系列的方法调用。
  3、 具体代码实现
  首先修改config.php中的配置信息,填写我们刚刚记录的WB_AKEY和WB_SKEY,这里要特别注意填写WB_CALLBACK_URL回调页面地址,HTTP不能省略,必须填写完整的URL
  其实一看就明白了。导入配置文件、类库、实例化对象、传递参数、调用方法、返回值。
  例如:
  $c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['token']['access_token']);
  Saetv2.ex.class.php中有两个类:微博操作类SaeTClientV2,微博认证类SaeTOAuthV2。
  操作类实例化所需的参数($akey、$skey、$access_token),access_token需要从认证类中获取。只有获取到用户的access_token,才能对用户进行操作。
  在 callback.php 中:
  setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
  callback.php中获取的access_token保存在session中,可以在创建微博操作类时使用。
  $ms = $c-&gt;home_timeline();
  打开类库文件,找到home_timeline方法,获取当前登录用户及其关注用户的最新微博消息。API已经写得很清楚了。如果您有更多时间,可以阅读源代码。
   1 /**
2 * 获取当前登录用户及其所关注用户的最新微博消息。
3 *
4 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 http://weibo.com 后在“我的首页”中看到的内容相同。同friends_timeline()
5 * <br />对应API:{@link http://open.weibo.com/wiki/2/s ... eline statuses/home_timeline}
6 *
7 * @access public
8 * @param int $page 指定返回结果的页码。根据当前登录用户所关注的用户数及这些被关注用户发表的微博数,翻页功能最多能查看的总记录数会有所不同,通常最多能查看1000条左右。默认值1。可选。
9 * @param int $count 每次返回的记录数。缺省值50,最大值200。可选。
10 * @param int $since_id 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
11 * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的微博消息。可选。
12 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
13 * @param int $feature 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
14 * @return array
15 */
16 function home_timeline( $page = 1, $count = 50, $since_id = 0, $max_id = 0, $base_app = 0, $feature = 0 )
17 {
18 $params = array();
19 if ($since_id) {
20 $this->id_format($since_id);
21 $params['since_id'] = $since_id;
22 }
23 if ($max_id) {
24 $this->id_format($max_id);
25 $params['max_id'] = $max_id;
26 }
27 $params['count'] = intval($count);
28 $params['page'] = intval($page);
29 $params['base_app'] = intval($base_app);
30 $params['feature'] = intval($feature);
31
32 return $this->oauth->get('statuses/home_timeline', $params);
33 }
  是不是很简单?找几个方法试试。
  试着写个表格发微博
  
  
  
哈哈,是不是很简单呢?
再试试获取关注人ID
   1 /**
2 * 获取用户的双向关注uid列表
3 *
4 * 对应API:{@link http://open.weibo.com/wiki/2/f ... l/ids friendships/friends/bilateral/ids}
5 *
6 * @param int $uid 需要获取双向关注列表的用户UID。
7 * @param int $count 单页返回的记录条数,默认为50。
8 * @param int $page 返回结果的页码,默认为1。
9 * @param int $sort 排序类型,0:按关注时间最近排序,默认为0。
10 * @return array
11 **/
12 function bilateral_ids( $uid, $page = 1, $count = 50, $sort = 0)
13 {
14 $params = array();
15 $params['uid'] = $uid;
16 $params['count'] = $count;
17 $params['page'] = $page;
18 $params['sort'] = $sort;
19 return $this->oauth->get( 'friendships/friends/bilateral/ids', $params );
20 }
   1
  打开得到如下数据:
  Array
(
[ids] => Array
(
[0] => 2365402665
[1] => 2874824370
[2] => 2458103930
[3] => 2631415422
[4] => 1726492234
[5] => 3307625345
[6] => 1748961617
[7] => 1898400044
[8] => 5074409657
[9] => 1459729954
[10] => 1960937255
[11] => 3002010437
[12] => 1840024911
[13] => 1933041827
[14] => 3544004403
[15] => 2218615153
[16] => 1710952872
[17] => 3296525792
[18] => 2023869922
[19] => 1136908732
[20] => 5142045518
[21] => 2113440863
[22] => 2882182570
[23] => 2750918083
[24] => 5047720995
[25] => 3237485452
[26] => 2301448374
[27] => 2241922934
[28] => 3194061564
[29] => 1516453591
[30] => 3046227467
[31] => 2990824405
[32] => 2901804343
[33] => 2062251914
[34] => 1846033411
[35] => 3024328843
[36] => 3989444339
[37] => 3937835581
[38] => 2951303393
[39] => 38376110
[40] => 2403647687
[41] => 2637451094
[42] => 2257435150
[43] => 2997619907
[44] => 2272664314
[45] => 1858542007
[46] => 3566646574
[47] => 3017416653
[48] => 2017817897
[49] => 3270778184
)
[total_number] => 198
)
  然后我们可以根据UID获取更多的信息,比如用户名、基本信息等。
  
  内容比较多,就不一一演示了
  有兴趣的朋友可以看看 saetv2.ex.class.php 文件
  官网提供的API:%E5%BE%AE%E5%8D%9AAPI
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台站的应用介绍~再见

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  介绍
  最近不太忙,花了点时间学习android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我将以新浪微博开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是路标的OAuth组件,而不是微博的SDK。
  
  来源下载:新浪微博2
  下载源代码后,将后缀改为rar,使用压缩软件解压即可。
  关于 OAuth 身份验证
  OAuth 是目前流行的授权方案。twitter、facebook、google等大型开放平台均支持oauth认证模式,国内新浪微博、腾讯微博、163微博等开放平台也已支持。这种验证方式。
  引用维基百科的相关说明
  “Oauth 是一个开放的标准,它允许用户允许第三方应用程序以 网站 的形式访问用户的私有资源,而无需将用户名和密码传递给第三方应用程序。oauth 允许用户提供令牌,而不是访问他们存储在特定服务提供商中的数据的用户名和密码。”
  例如:
  用户A在服务提供者B上存储了一些资源,B支持oauth授权方式。A 是 B 上的注册用户,拥有用户名和密码。您可以使用用户名和密码登录B查看您的资源。假设有一个应用程序C,用户A在使用C时需要将资源存储在B上,实现C在B上展示自己的资源有两种方式。
  这时候C可以使用B开启的oauth授权机制,当用户A想要展示B上的资源时,C会跳转到B的认证页面,用户在B的页面输入用户名和密码。通过后,会询问用户是否为C应用开发相关资源。用户可以自定义C可以访问的资源,然后跳转回C应用。这样就不用担心用户名和密码,也不会因为同时存储多个资源而导致维护问题。
  你可以通过下面的网站了解更多关于oauth的具体技术细节。
  
  从上图我们可以看出,实际的流程分为消费者和提供者两部分。Consumer是例子中的c应用,provider是例子中的B服务提供者。
  使用OAuth进行认证授权的过程如下:
  用户访问客户端的网站,想要操作服务提供者中存储的用户资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博开放平台上创建一个新的应用时,我们会为这个新的应用分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_token,后面需要传递。访问令牌访问开放平台提供的需要验证的接口。
  当然,那些不需要验证就可以访问的接口,直接使用key就可以访问。具体请参考开放平台提供的API文档。
  腾讯微博和163微博的开放平台在原理和实现上是相似的。
  package com.sinaweibo2;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;
public class OAuth {
private OAuthConsumer mConsumer;
private OAuthProvider mProvider;
public static final String CALLBACK_URL = "sinaweibo2://WeiboListActivity";

public static final String CONSUMER_KEY = "1849239616";
public static final String CONSUMER_SECRET = "b2137bf782bf6cae004b8a8394d5d5d6";
public static final String REQUEST_TOKEN_URL = "http://api.t.sina.com.cn/oauth ... 3B%3B
public static final String ACCESS_TOKEN_URL = "http://api.t.sina.com.cn/oauth/access_token";
public static final String AUTHORIZE_URL = "http://api.t.sina.com.cn/oauth/authorize";
public OAuth() {
}
public String RetrieveAuthUrl() throws OAuthMessageSignerException,
OAuthNotAuthorizedException, OAuthExpectationFailedException,
OAuthCommunicationException {
mConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider = new CommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);

String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);

return authUrl;
}
public void RetrieveAccessToken(String verifier)
throws OAuthMessageSignerException, OAuthNotAuthorizedException,
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, verifier);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}

}
  更多功能
  接下来主要有两个功能需要改进,一个是分页浏览,一个是发布微博。
  未来可能会支持图片发布等实用功能。
  有UI美化和性能优化。
  总结
  学习过程中看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527).pdf,都是很不错的入门书籍,我没有全部看完,看了大部分之后,我会一边看一边写demo。
  同时,我每天都会在论坛,eoe的开发者门户。回答问题、解决问题、提问、发帖,简而言之就是锻炼自己,强迫自己锻炼基础和思维。
  论坛上有很多中文pdf教程,但大部分都是从android开发者中心的Dev Guide和Resources中的内容翻译过来的。所以我觉得如果英文不是很差的话,还是建议直接阅读上面两节,同时练习里面的例子,保证两周内会有很大的进步。
  参考
  Technorati 标签:android、开放平台、oauth、新浪微博 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  介绍
  最近不太忙,花了点时间学习android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我将以新浪微博开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是路标的OAuth组件,而不是微博的SDK。
  
  来源下载:新浪微博2
  下载源代码后,将后缀改为rar,使用压缩软件解压即可。
  关于 OAuth 身份验证
  OAuth 是目前流行的授权方案。twitter、facebook、google等大型开放平台均支持oauth认证模式,国内新浪微博、腾讯微博、163微博等开放平台也已支持。这种验证方式。
  引用维基百科的相关说明
  “Oauth 是一个开放的标准,它允许用户允许第三方应用程序以 网站 的形式访问用户的私有资源,而无需将用户名和密码传递给第三方应用程序。oauth 允许用户提供令牌,而不是访问他们存储在特定服务提供商中的数据的用户名和密码。”
  例如:
  用户A在服务提供者B上存储了一些资源,B支持oauth授权方式。A 是 B 上的注册用户,拥有用户名和密码。您可以使用用户名和密码登录B查看您的资源。假设有一个应用程序C,用户A在使用C时需要将资源存储在B上,实现C在B上展示自己的资源有两种方式。
  这时候C可以使用B开启的oauth授权机制,当用户A想要展示B上的资源时,C会跳转到B的认证页面,用户在B的页面输入用户名和密码。通过后,会询问用户是否为C应用开发相关资源。用户可以自定义C可以访问的资源,然后跳转回C应用。这样就不用担心用户名和密码,也不会因为同时存储多个资源而导致维护问题。
  你可以通过下面的网站了解更多关于oauth的具体技术细节。
  
  从上图我们可以看出,实际的流程分为消费者和提供者两部分。Consumer是例子中的c应用,provider是例子中的B服务提供者。
  使用OAuth进行认证授权的过程如下:
  用户访问客户端的网站,想要操作服务提供者中存储的用户资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博开放平台上创建一个新的应用时,我们会为这个新的应用分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_token,后面需要传递。访问令牌访问开放平台提供的需要验证的接口。
  当然,那些不需要验证就可以访问的接口,直接使用key就可以访问。具体请参考开放平台提供的API文档。
  腾讯微博和163微博的开放平台在原理和实现上是相似的。
  package com.sinaweibo2;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;
public class OAuth {
private OAuthConsumer mConsumer;
private OAuthProvider mProvider;
public static final String CALLBACK_URL = "sinaweibo2://WeiboListActivity";

public static final String CONSUMER_KEY = "1849239616";
public static final String CONSUMER_SECRET = "b2137bf782bf6cae004b8a8394d5d5d6";
public static final String REQUEST_TOKEN_URL = "http://api.t.sina.com.cn/oauth ... 3B%3B
public static final String ACCESS_TOKEN_URL = "http://api.t.sina.com.cn/oauth/access_token";
public static final String AUTHORIZE_URL = "http://api.t.sina.com.cn/oauth/authorize";
public OAuth() {
}
public String RetrieveAuthUrl() throws OAuthMessageSignerException,
OAuthNotAuthorizedException, OAuthExpectationFailedException,
OAuthCommunicationException {
mConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider = new CommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);

String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);

return authUrl;
}
public void RetrieveAccessToken(String verifier)
throws OAuthMessageSignerException, OAuthNotAuthorizedException,
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, verifier);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}

}
  更多功能
  接下来主要有两个功能需要改进,一个是分页浏览,一个是发布微博。
  未来可能会支持图片发布等实用功能。
  有UI美化和性能优化。
  总结
  学习过程中看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527).pdf,都是很不错的入门书籍,我没有全部看完,看了大部分之后,我会一边看一边写demo。
  同时,我每天都会在论坛,eoe的开发者门户。回答问题、解决问题、提问、发帖,简而言之就是锻炼自己,强迫自己锻炼基础和思维。
  论坛上有很多中文pdf教程,但大部分都是从android开发者中心的Dev Guide和Resources中的内容翻译过来的。所以我觉得如果英文不是很差的话,还是建议直接阅读上面两节,同时练习里面的例子,保证两周内会有很大的进步。
  参考
  Technorati 标签:android、开放平台、oauth、新浪微博

使用新浪微博开放平台api同步微博内容至自己网站(3.1修改配置文件根据新浪微博开放平台的应用的信息修改)

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

  使用新浪微博开放平台api同步微博内容至自己网站(3.1修改配置文件根据新浪微博开放平台的应用的信息修改)
  由于博客于2015年12月10日从Typecho转移到Pelican,在将这个Typecho同步新浪微博插件放到Github后,就被遗漏了。最近有同学在Github上提了一个issue,所以写了这篇文章,对插件进行了详细的介绍,希望对大家有所帮助。
  该插件基于新浪微博开放平台最新的OAuth2认证方式调用相关API接口将文章同步到微博。微博发布后,会显示来源(即应用名称,如图BZ为TypeCodes)和缩略图(需要在插件后台设置)。
  
  1 插件说明:
  由于插件基于OAuth2认证方式,调用相关微博API时需要用户的access_token(有效期30天)和uid数据,所以需要自己额外搭建一个新浪微博应用服务。
  2 搭建新浪微博应用服务:
  首先,用户必须在新浪微博开放平台上有一个已经通过审核的申请。申请方法这里不再赘述,具体请参考官方说明。
  2.1 修改配置文件
  根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调地址。
  
  2.2 博客构建回调服务
  将此目录(微博)上传到对应的新浪微博应用服务器。如果可以访问回调地址(例如),则表示该服务已设置。
  3 安装插件:
  设置好新浪微博应用服务后,即可安装新浪微博同步插件。
  3.1 修改配置文件
  如2.第1节所示,根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调。地址。
  3.2 上传插件程序
  将此目录(WeiboSync)上传到Typecho插件目录(默认为/usr/plugins)。
  4 插件设置
  进入typecho后台,开启微博同步插件,然后点击设置按钮,进入微博同步插件信息设置页面。
  
  点击“用微博账号登录”按钮,跳转到新浪微博登录授权界面。授权登录后会自动跳转到2.2部分设置的回调地址接口。
  如下图,这个界面会输出用户的access_token(有效期30天)和uid数据。将这两个值填入上图中的新浪微博访问令牌和个人微博ID。
  
  5 插件维护
  目前整个项目已经放到了GitHub上,地址是:。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(3.1修改配置文件根据新浪微博开放平台的应用的信息修改)
  由于博客于2015年12月10日从Typecho转移到Pelican,在将这个Typecho同步新浪微博插件放到Github后,就被遗漏了。最近有同学在Github上提了一个issue,所以写了这篇文章,对插件进行了详细的介绍,希望对大家有所帮助。
  该插件基于新浪微博开放平台最新的OAuth2认证方式调用相关API接口将文章同步到微博。微博发布后,会显示来源(即应用名称,如图BZ为TypeCodes)和缩略图(需要在插件后台设置)。
  
  1 插件说明:
  由于插件基于OAuth2认证方式,调用相关微博API时需要用户的access_token(有效期30天)和uid数据,所以需要自己额外搭建一个新浪微博应用服务。
  2 搭建新浪微博应用服务:
  首先,用户必须在新浪微博开放平台上有一个已经通过审核的申请。申请方法这里不再赘述,具体请参考官方说明。
  2.1 修改配置文件
  根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调地址。
  
  2.2 博客构建回调服务
  将此目录(微博)上传到对应的新浪微博应用服务器。如果可以访问回调地址(例如),则表示该服务已设置。
  3 安装插件:
  设置好新浪微博应用服务后,即可安装新浪微博同步插件。
  3.1 修改配置文件
  如2.第1节所示,根据新浪微博开放平台的应用信息修改config.php文件中的三个变量WB_AKEY、WB_SKEY和WB_CALLBACK_URL。它们分别代表应用程序的 App Key、App Secret 和回调。地址。
  3.2 上传插件程序
  将此目录(WeiboSync)上传到Typecho插件目录(默认为/usr/plugins)。
  4 插件设置
  进入typecho后台,开启微博同步插件,然后点击设置按钮,进入微博同步插件信息设置页面。
  
  点击“用微博账号登录”按钮,跳转到新浪微博登录授权界面。授权登录后会自动跳转到2.2部分设置的回调地址接口。
  如下图,这个界面会输出用户的access_token(有效期30天)和uid数据。将这两个值填入上图中的新浪微博访问令牌和个人微博ID。
  
  5 插件维护
  目前整个项目已经放到了GitHub上,地址是:。

使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台开发记录方便查用(图)名词介绍)

网站优化优采云 发表了文章 • 0 个评论 • 147 次浏览 • 2021-09-28 19:30 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(微博开放平台开发记录方便查用(图)名词介绍)
  因为工作需要,接触了微博开放平台的开发。本记录是为方便查阅和使用而特制的。
  一、准备。
  1. 微博账号。注册很容易。
  2.微博账号成为开发者。
  登录微博开放平台登录您的注册账号,然后进入管理中心完成开发者基本信息和身份认证。
  这时候还需要浏览微博开放平台的文档,了解这个开放平台的一些规范术语。
  单击每个链接进行查看。顺便看一下微博API文档,里面有介绍,有些接口调用需要获取access_token。这篇文章就是为了达到这个目的。
  二、创建一个应用程序。
  比如我们要开发一个网站,然后在这个网站中连接微博开放平台,调用开放平台的接口。然后我们需要在登录微博开放平台后创建一个应用。
  创建应用程序后,您将获得应用程序的 App key 和 AppSecret。然后我们就是利用这个信息调用新浪微博的auth2.0认证获取access_token。
  拿到access_token后,我们就可以调用我们需要的接口了,比如发微博等。
  1. 创建引用的地方。开放平台--》点击上方导航菜单中的“微链接”,这里的微链接的概念也是这个开放平台的一个术语,具体含义可以查看相关文档。
  2.创建什么类型的应用程序?
  随意看看你的情况。测试时,您可以创建任何东西,尝试并充满信心地去做。我创建的是一个网页引用,所以我发现它很容易输入,不需要填写太多信息。
  如下所示:
  
  创建完成后,可以在我的应用中看到:
  
  单击以查看与应用程序相关的信息。一会儿我们需要用到这里的app key和app secret,还需要配置应用授权回调地址。
  三、下载微博开发SDK。
  开发SDK中有一些示例,可以直接作为参考。下载链接。我下载了Java版的weibo4j。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在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'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中有一些示例,可以直接作为参考。下载链接。我下载了Java版的weibo4j。下载后,我导入了开发工具。如下所示:
  
  代码很多,不要慌,先在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'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同步微博内容至自己网站(网站接入第三方平台登录--QQ篇网站登录平台)

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

  使用新浪微博开放平台api同步微博内容至自己网站(网站接入第三方平台登录--QQ篇网站登录平台)
  网站获取第三方平台登录--QQ篇
  网站获取第三方平台登录--微信文章
  内容
  准备注册开放平台并创建新应用
  在新创建的应用程序的信息中,以下信息需要正确,否则在后续请求中重定向地址会不正确。
  
  
  调试应该在上面的回调地址上进行
  获取 App Key 和 App Secret
  如上图
  业务分析指导用户授权。获得授权码后,前往微博兑换token。如果需要其他操作,token会调用对应的接口。我的业务逻辑
  注意:官方不推荐使用uid来判断登录。我这里求简单,就是账号是否绑定
  
  实际开发环境
  前端:VUE
  后端:SpringBoot
  代码
  官方开发文档,参考Web网站部分,这个是没用的JS SDK,因为VUE中无法解析SDK的按钮组件
  放置登录按钮
  在适当的地方放置引导用户登录的元素,按钮等没有具体要求
  
...
// 微博图标点击按钮
weiboClick() {
window.location.href = "https://api.weibo.com/oauth2/authorize?client_id=你的appKey&redirect_uri=你的回调地址";
}
  用户点击链接后,会打开微博授权界面
  
  登录后会自动重定向到回调地址,在url中拼接授权成功的代码
  
  因为vue的路由默认是带hash的,所以无法获取url中的参数。这里请直接通过字符串获取参数。
   // 截取url参数
getSearchString(key, search) {
let str = search;
str = str.substring(1, str.length);
let arr = str.split(&#39;&&#39;);
let obj = {};
for (let i = 0; i < arr.length; i++) {
let tmp_arr = arr[i].split("=");
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
}
return obj[key];
}
  带代码到后台兑换微博token登录
  从创建的hook中获取code,并使用code去后端确定登录(后端收到code后去微博界面换取token、uid等信息,并在库判断是否是系统的用户,如果是则通过,不返回绑定提示)
  created() {
let code = this.getSearchString("code",window.location.search)
if (code) {
// 获取微博token
user.getWeiBoToken({code: code}).then(res => {
this.afterLogin(res);
})
}
}
// 登录请求后的逻辑处理
afterLogin(res) {
if (res.code === 200) {
let {data} =res
this.set_token(data.token)
this.set_userInfo(data)
this.$message.success(res.msg);
this.$router.push(&#39;/dashboard&#39;);
} else if (res.code === 201) {
// 将uid赋值到登录的参数对象中用以登录绑定
this.param.weiboId = res.data;
this.$message.error("你的微博尚未绑定账户,请进行密码登录进行绑定!");
} else {
this.$message.error(res.msg);
}
}
  后端接口
  代币文件的官方交换
  /**
* 微博token接口返回对象
* @ClassName WeiBo
* @Author snow
* @Date 2021/1/21 17:58
*/
@Getter
@Setter
public class WeiBoToken {
private String access_token;
private String remind_in;
private String expires_in;
private String uid;
private String isRealName;
}
  /**
* 微博登录
* @param code 微博回调获取的code
* @return 登录成功、失败、需要绑定账号
*/
@GetMapping("/getWeiBoToken")
public JSONObject getWeiBoToken(String code) {
if (DataOperateUtil.isNull(code)) {
return fail("缺少code");
}
RestTemplate restTemplate = new RestTemplate();
MultiValueMap header = new LinkedMultiValueMap();
header.put(HttpHeaders.CONTENT_TYPE, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
header.put(HttpHeaders.ACCEPT, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
HttpEntity request = new HttpEntity(new JSONObject(), header);
String url = "https://api.weibo.com/oauth2/a ... ot%3B + code;
try {
// 请求微博换取token、uid等信息
ResponseEntity exchangeResult = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
System.out.println(exchangeResult);
WeiBoToken weiBoToken = JSON.toJavaObject(JSONObject.parseObject(exchangeResult.getBody()), WeiBoToken.class);
// 判断该微博id是否在库中关联了用户
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("weibo_id", weiBoToken.getUid());
queryWrapper.ne("`status`", 0);
SysUser sysUser = sysUserService.getOne(queryWrapper);
if (sysUser == null) {
// 没有绑定账号
return success(201, weiBoToken.getUid());
} else {
// 已获取到用户信息,进行登录(token处理、日志记录等操作)
return loginService(sysUser);
}
} catch (HttpClientErrorException e) {
e.printStackTrace();
}
return fail("请求微博token异常");
}
  如果没有绑定账号,在前端用账号和密码登录,在login方法中判断uid是否有值,如果有则进行登录绑定操作。
  submitForm() {
this.$refs.login.validate(valid => {
if (valid) {
if (this.param.weiboId) {
// 进行登录绑定
user.weiboBindAccount(this.param).then(res=>{
this.afterLogin(res)
})
} else {
user.login(this.param).then(res=>{
this.afterLogin(res)
})
}
} else {
this.$message.error(&#39;请输入账号和密码&#39;);
console.log(&#39;error submit!!&#39;);
return false;
}
});
}
  登录绑定接口
  /**
* 微博绑定账号
* @param param username、password、微博id
* @return 绑定后进行登录
*/
@PostMapping("/weiboBindAccount")
public JSONObject weiboBindAccount(@RequestBody SysUser param) {
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(param.getUsername(), param.getPassword());
try {
...
SysUser sysUser = ...
...
// 登录成功
// 绑定weiboId到账户
sysUser.setWeiboId(param.getWeiboId());
sysUserService.updateById(sysUser);
return loginService(sysUser);
} catch (AuthenticationException e) {
LogUtil.addLogToFile(param.toString(), "登录异常", "", LogUtil.LogLevel.error, e.getMessage());
return fail("账号或密码错误");
}
}
  以上,微博登录完成! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(网站接入第三方平台登录--QQ篇网站登录平台)
  网站获取第三方平台登录--QQ篇
  网站获取第三方平台登录--微信文章
  内容
  准备注册开放平台并创建新应用
  在新创建的应用程序的信息中,以下信息需要正确,否则在后续请求中重定向地址会不正确。
  
  
  调试应该在上面的回调地址上进行
  获取 App Key 和 App Secret
  如上图
  业务分析指导用户授权。获得授权码后,前往微博兑换token。如果需要其他操作,token会调用对应的接口。我的业务逻辑
  注意:官方不推荐使用uid来判断登录。我这里求简单,就是账号是否绑定
  
  实际开发环境
  前端:VUE
  后端:SpringBoot
  代码
  官方开发文档,参考Web网站部分,这个是没用的JS SDK,因为VUE中无法解析SDK的按钮组件
  放置登录按钮
  在适当的地方放置引导用户登录的元素,按钮等没有具体要求
  
...
// 微博图标点击按钮
weiboClick() {
window.location.href = "https://api.weibo.com/oauth2/authorize?client_id=你的appKey&redirect_uri=你的回调地址";
}
  用户点击链接后,会打开微博授权界面
  
  登录后会自动重定向到回调地址,在url中拼接授权成功的代码
  
  因为vue的路由默认是带hash的,所以无法获取url中的参数。这里请直接通过字符串获取参数。
   // 截取url参数
getSearchString(key, search) {
let str = search;
str = str.substring(1, str.length);
let arr = str.split(&#39;&&#39;);
let obj = {};
for (let i = 0; i < arr.length; i++) {
let tmp_arr = arr[i].split("=");
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
}
return obj[key];
}
  带代码到后台兑换微博token登录
  从创建的hook中获取code,并使用code去后端确定登录(后端收到code后去微博界面换取token、uid等信息,并在库判断是否是系统的用户,如果是则通过,不返回绑定提示)
  created() {
let code = this.getSearchString("code",window.location.search)
if (code) {
// 获取微博token
user.getWeiBoToken({code: code}).then(res => {
this.afterLogin(res);
})
}
}
// 登录请求后的逻辑处理
afterLogin(res) {
if (res.code === 200) {
let {data} =res
this.set_token(data.token)
this.set_userInfo(data)
this.$message.success(res.msg);
this.$router.push(&#39;/dashboard&#39;);
} else if (res.code === 201) {
// 将uid赋值到登录的参数对象中用以登录绑定
this.param.weiboId = res.data;
this.$message.error("你的微博尚未绑定账户,请进行密码登录进行绑定!");
} else {
this.$message.error(res.msg);
}
}
  后端接口
  代币文件的官方交换
  /**
* 微博token接口返回对象
* @ClassName WeiBo
* @Author snow
* @Date 2021/1/21 17:58
*/
@Getter
@Setter
public class WeiBoToken {
private String access_token;
private String remind_in;
private String expires_in;
private String uid;
private String isRealName;
}
  /**
* 微博登录
* @param code 微博回调获取的code
* @return 登录成功、失败、需要绑定账号
*/
@GetMapping("/getWeiBoToken")
public JSONObject getWeiBoToken(String code) {
if (DataOperateUtil.isNull(code)) {
return fail("缺少code");
}
RestTemplate restTemplate = new RestTemplate();
MultiValueMap header = new LinkedMultiValueMap();
header.put(HttpHeaders.CONTENT_TYPE, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
header.put(HttpHeaders.ACCEPT, Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
HttpEntity request = new HttpEntity(new JSONObject(), header);
String url = "https://api.weibo.com/oauth2/a ... ot%3B + code;
try {
// 请求微博换取token、uid等信息
ResponseEntity exchangeResult = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
System.out.println(exchangeResult);
WeiBoToken weiBoToken = JSON.toJavaObject(JSONObject.parseObject(exchangeResult.getBody()), WeiBoToken.class);
// 判断该微博id是否在库中关联了用户
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("weibo_id", weiBoToken.getUid());
queryWrapper.ne("`status`", 0);
SysUser sysUser = sysUserService.getOne(queryWrapper);
if (sysUser == null) {
// 没有绑定账号
return success(201, weiBoToken.getUid());
} else {
// 已获取到用户信息,进行登录(token处理、日志记录等操作)
return loginService(sysUser);
}
} catch (HttpClientErrorException e) {
e.printStackTrace();
}
return fail("请求微博token异常");
}
  如果没有绑定账号,在前端用账号和密码登录,在login方法中判断uid是否有值,如果有则进行登录绑定操作。
  submitForm() {
this.$refs.login.validate(valid => {
if (valid) {
if (this.param.weiboId) {
// 进行登录绑定
user.weiboBindAccount(this.param).then(res=>{
this.afterLogin(res)
})
} else {
user.login(this.param).then(res=>{
this.afterLogin(res)
})
}
} else {
this.$message.error(&#39;请输入账号和密码&#39;);
console.log(&#39;error submit!!&#39;);
return false;
}
});
}
  登录绑定接口
  /**
* 微博绑定账号
* @param param username、password、微博id
* @return 绑定后进行登录
*/
@PostMapping("/weiboBindAccount")
public JSONObject weiboBindAccount(@RequestBody SysUser param) {
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(param.getUsername(), param.getPassword());
try {
...
SysUser sysUser = ...
...
// 登录成功
// 绑定weiboId到账户
sysUser.setWeiboId(param.getWeiboId());
sysUserService.updateById(sysUser);
return loginService(sysUser);
} catch (AuthenticationException e) {
LogUtil.addLogToFile(param.toString(), "登录异常", "", LogUtil.LogLevel.error, e.getMessage());
return fail("账号或密码错误");
}
}
  以上,微博登录完成!

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博写应用开发的经验分享(一):通过OAuth验证方式)

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API新特点与百度地图API相比,我理解)

网站优化优采云 发表了文章 • 0 个评论 • 62 次浏览 • 2021-09-28 18:07 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API新特点与百度地图API相比,我理解)
  查看 API 使用流程
  通过百度地图API的使用,了解到API调用的大致流程是:按照API指定的格式生成url-&gt;通过urllib读取url中的数据-&gt;解析json格式的数据。接下来开始研究新浪微博API的使用。
  准备
  新浪微博开放平台是一个使用新浪微博API的平台。使用微博账号登录平台后,申请成为开发者,创建新应用后将获得唯一的App Key和App Secret。(注:申请不需要提交审核,只要新建一个申请系统,就会分配Key和Secret)这两个信息也可以在“我的申请/申请信息/基本信息”中找到. 此页面还有一项“我的申请/申请信息/高级信息”。点击进入设置OAuth2.0授权回调页面的相关信息。如果您不知道要填写什么,可以将其设置为默认回调。页:。后面需要这三个信息,
  微博API新特性
  相比百度地图API,新浪微博API增加了OAuth2.0协议进行用户认证和授权。这里只做一个简单的说明(感兴趣的同学请查看在线文档图):通过这个协议,第三方应用可以获取用户授权,然后使用license从授权服务器获取token,用于后续的查询。 API 服务器在数据时验证身份。
  这个验证过程增加了 url 生成的复杂性。好在已经有廖雪峰老师提供的SDK工具包:sinaweibopy on 网站(廖的github地址好像改名了,所以网上很多旧链接失效了,这是新的有效链接),但是这个程序是基于python2环境编写的,python3的一些系统库发生了变化,调用程序时经常报错。作为一个python初学者,让程序适应python3环境无疑是困难的。幸运的是,一位伟大的上帝做了这项工作。感谢owolf为python3重写的SDK:sinaweibopy3。我用过,运行正常。你可以下载它。我也推荐owolf的文章全网最详细的:
  简单的例子
  先介绍一下新浪微博API的使用过程,供新同学参考。
  1.参数设置
  import sinaweibopy3
import webbrowser
import json
APP_KEY =' 填入你的App Key'
APP_SECRET=' 填入你的App Secret'
REDIRECT_URL =' 填入你的授权回调页'
  笔记:
  说一个我不小心造成的bug,给大家提个醒。当我开始运行程序时,每次都出现“重定向地址不匹配”的错误信息:
  使用微博账号登录时出错!授权第三方应用程序时出错。请联系第三方应用开​​发者:XXX或稍后重试。
  错误代码:21322 重定向地址不匹配
  在网上找解决办法,需要设置一个回调页面,不过我在前面的步骤中已经设置好了。为什么我还是有这个问题?后来在文章看到一篇文章,提到回调页面地址要和程序中的REDIRECT_URL一致。我想到了程序示例,一开始使用http:。我填的时候看到的是同一个地址,所以没改。,而且网站是https:开头的,'s'的区别,当时还以为是地址,结果区别很大!
  2.OAuth2.0认证生成的url
  client = sinaweibopy3.APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
url = client.get_authorize_url()
webbrowser.open_new(url)
result = client.request_access_token(input("please input code : "))
client.set_access_token(result.access_token, result.expires_in)
  注:这是在OAuth2.0-&gt;Token获取中调用sinaweibopy3实现用户授权的过程。当程序运行到client.request_access_token时,会弹出输入提示“请输入代码:”,询问代码?这是什么意思?打开浏览器会看到OAuth2.0验证回调页面,地址栏'code='后面有一串字符,这就是我们要的Token信息,复制粘贴进去,程序继续运行。
  3.从API读取数据
  运行以下代码读取公众微博数据并显示结果。
  result=client.public_timeline()
print(json.dumps(result,indent=2,ensure_ascii=False))
  通过查看数据结构,可以提取特定信息。例如,使用以下代码输出用户的微博昵称、位置和最新的微博文本。
  number=result["total_number"]
print(number,"users:")
for u in result["statuses"]:
print(u["user"]["screen_name"])
print(u["user"]["location"])
print(u["text"])
  先进的 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API新特点与百度地图API相比,我理解)
  查看 API 使用流程
  通过百度地图API的使用,了解到API调用的大致流程是:按照API指定的格式生成url-&gt;通过urllib读取url中的数据-&gt;解析json格式的数据。接下来开始研究新浪微博API的使用。
  准备
  新浪微博开放平台是一个使用新浪微博API的平台。使用微博账号登录平台后,申请成为开发者,创建新应用后将获得唯一的App Key和App Secret。(注:申请不需要提交审核,只要新建一个申请系统,就会分配Key和Secret)这两个信息也可以在“我的申请/申请信息/基本信息”中找到. 此页面还有一项“我的申请/申请信息/高级信息”。点击进入设置OAuth2.0授权回调页面的相关信息。如果您不知道要填写什么,可以将其设置为默认回调。页:。后面需要这三个信息,
  微博API新特性
  相比百度地图API,新浪微博API增加了OAuth2.0协议进行用户认证和授权。这里只做一个简单的说明(感兴趣的同学请查看在线文档图):通过这个协议,第三方应用可以获取用户授权,然后使用license从授权服务器获取token,用于后续的查询。 API 服务器在数据时验证身份。
  这个验证过程增加了 url 生成的复杂性。好在已经有廖雪峰老师提供的SDK工具包:sinaweibopy on 网站(廖的github地址好像改名了,所以网上很多旧链接失效了,这是新的有效链接),但是这个程序是基于python2环境编写的,python3的一些系统库发生了变化,调用程序时经常报错。作为一个python初学者,让程序适应python3环境无疑是困难的。幸运的是,一位伟大的上帝做了这项工作。感谢owolf为python3重写的SDK:sinaweibopy3。我用过,运行正常。你可以下载它。我也推荐owolf的文章全网最详细的:
  简单的例子
  先介绍一下新浪微博API的使用过程,供新同学参考。
  1.参数设置
  import sinaweibopy3
import webbrowser
import json
APP_KEY =' 填入你的App Key'
APP_SECRET=' 填入你的App Secret'
REDIRECT_URL =' 填入你的授权回调页'
  笔记:
  说一个我不小心造成的bug,给大家提个醒。当我开始运行程序时,每次都出现“重定向地址不匹配”的错误信息:
  使用微博账号登录时出错!授权第三方应用程序时出错。请联系第三方应用开​​发者:XXX或稍后重试。
  错误代码:21322 重定向地址不匹配
  在网上找解决办法,需要设置一个回调页面,不过我在前面的步骤中已经设置好了。为什么我还是有这个问题?后来在文章看到一篇文章,提到回调页面地址要和程序中的REDIRECT_URL一致。我想到了程序示例,一开始使用http:。我填的时候看到的是同一个地址,所以没改。,而且网站是https:开头的,'s'的区别,当时还以为是地址,结果区别很大!
  2.OAuth2.0认证生成的url
  client = sinaweibopy3.APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL)
url = client.get_authorize_url()
webbrowser.open_new(url)
result = client.request_access_token(input("please input code : "))
client.set_access_token(result.access_token, result.expires_in)
  注:这是在OAuth2.0-&gt;Token获取中调用sinaweibopy3实现用户授权的过程。当程序运行到client.request_access_token时,会弹出输入提示“请输入代码:”,询问代码?这是什么意思?打开浏览器会看到OAuth2.0验证回调页面,地址栏'code='后面有一串字符,这就是我们要的Token信息,复制粘贴进去,程序继续运行。
  3.从API读取数据
  运行以下代码读取公众微博数据并显示结果。
  result=client.public_timeline()
print(json.dumps(result,indent=2,ensure_ascii=False))
  通过查看数据结构,可以提取特定信息。例如,使用以下代码输出用户的微博昵称、位置和最新的微博文本。
  number=result["total_number"]
print(number,"users:")
for u in result["statuses"]:
print(u["user"]["screen_name"])
print(u["user"]["location"])
print(u["text"])
  先进的

使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK微博链接多种语言2API应用(组图))

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

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

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

使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号)

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

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号)
  使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号,为微博记录重复关注信息,方便在单个用户的多条微博被不同用户多次关注后管理或回收。示例:收费服务主要是针对你针对内容来提供收费服务,涉及到你的网站seo优化,网站运营以及个人的关注记录管理问题。好处是可以保存原有博文的重复关注,一键同步到自己的网站或者微信公众号。如果有需要,可以联系他们。希望对你有帮助。
  简单来说就是一个个推送一条条的推送,全新上线的微博转发生态服务,基于新浪微博ssp全量扩展ugc的实时推送,
  经过搜索,
  看起来好像是使用新浪官方的服务,他们家并没有提供收费服务,不过如果将使用者转发的微博与之关注的其他帐号无缝连接,可以收费2万开始使用(不要求微博注册并实名)。
  这个官方确实没有提供收费服务,但有类似免费服务,具体不做回复,如果想买的话请私信,可作为参考。关注我,拿到更多的内部内容。
  关注,无需注册,
  经过对比,并没有发现有直接收费的功能。不知道现在有没有?回答不权威,不知道是否合理。但可以肯定是:我, 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号)
  使用新浪微博开放平台api同步微博内容至自己网站或者微信公众号,为微博记录重复关注信息,方便在单个用户的多条微博被不同用户多次关注后管理或回收。示例:收费服务主要是针对你针对内容来提供收费服务,涉及到你的网站seo优化,网站运营以及个人的关注记录管理问题。好处是可以保存原有博文的重复关注,一键同步到自己的网站或者微信公众号。如果有需要,可以联系他们。希望对你有帮助。
  简单来说就是一个个推送一条条的推送,全新上线的微博转发生态服务,基于新浪微博ssp全量扩展ugc的实时推送,
  经过搜索,
  看起来好像是使用新浪官方的服务,他们家并没有提供收费服务,不过如果将使用者转发的微博与之关注的其他帐号无缝连接,可以收费2万开始使用(不要求微博注册并实名)。
  这个官方确实没有提供收费服务,但有类似免费服务,具体不做回复,如果想买的话请私信,可作为参考。关注我,拿到更多的内部内容。
  关注,无需注册,
  经过对比,并没有发现有直接收费的功能。不知道现在有没有?回答不权威,不知道是否合理。但可以肯定是:我,

使用新浪微博开放平台api同步微博内容至自己网站(用django-social-auth做中国社交网站三方登录(QQ,微博,))

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

  使用新浪微博开放平台api同步微博内容至自己网站(用django-social-auth做中国社交网站三方登录(QQ,微博,))
  前言
  此前,网络公司在做新官网时,就计划有第三方账号的登录功能。但是由于当时一些开放平台的申请步骤比较繁琐(尤其是微信开放平台),所以被推迟了。最近只能自己添加相关的了。功能。
  由于刚接触Python和Django,期间找了很多视频和资料学习和实践,慢慢摸索出MVT的结构。在第三方登录方面,百度发现了两个非常有用的文章,并从中学到了很多:
  1. python实现微信第三方网站扫码登录(Django)
  2. 使用django-social-auth做中文社交网站 三路登录(QQ、微博、豆瓣、百度、人人、微信)
  在实现QQ和微博登录的时候,我深深的体会到,使用social-auth实现第三方登录是非常简单、方便、直接、完美的。只需要添加配置内容,不需要写一句代码。真的是一个处理的句子。无需编写代码!
  但是在微信上没找到同样的实现方法(上面第二篇文章有标题,但是文章根本没有提到);从social-auth的解读文件来看,也是一脸懵逼。微信的内容没找到,因为官网已经有对应的User数据表和第三方的UserSocialAuth数据网格,非常规范。使用上面第一种方法后,对用户数据表的添加和修改很困扰。我真的不想破坏它。那种结构,就在我重新获得了social-auth,想了解数据库存储方式的时候,在social-backends中找到了weixin.py。不是说我们可以支持微信吗?
  注意实际步骤
  安装社交认证:
  由于官网使用的是python-social-auth==0.2.12,下载源码后发现social-backends中也有weixin.py,证明是可用的( Ubuntu + Python2.7 + Django1.7);
  pip install python-social-auth==0.2.12
  社会认证配置:
  配置完成后,运行你的网站,使用域名.com/login/weixin访问对应的页面,但是有没有报错:Scope parameter error or no scope permission,在实际操作中发现social-auth自动生成的二维码访问链接缺少scope参数,微信官方给出的二维码访问链接是这样的:
  https://open.weixin.qq.com/con ... irect
  如上所述,有5个参数,state可以省略,但是scope是必须的。对于网页授权,scope参数为固定值scope=snsapi_login。这种情况下,我们需要上面social-auth中的源码,加上这个参数值,根据你实际的site-packages安装路径找到/social/backends/weixin.py文件。例如,我使用 VirtualEnv 构建的路径是:
  /home/ubuntu/env/mppython/lib/python2.7/site-packages/social/backends/weixin.py
  打开这个文件,找到def auth_params()的内容(原文):
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  在params字典中,只增加一个scope参数,修改如下:
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
'scope': 'snsapi_login',
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  修改保存后,重新运行项目,再次访问域名.com/login/weixin看看效果!
  后记
  本文内容在《使用django-social-auth做中文社交网站三方登录(QQ、微博、豆瓣、百度、人人、微信)》的基础上进行了扩展,部分区域不细化或深入讲解(如urls配置等),不明白的请到上面文章查找相关资料或留言交流,谢谢! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(用django-social-auth做中国社交网站三方登录(QQ,微博,))
  前言
  此前,网络公司在做新官网时,就计划有第三方账号的登录功能。但是由于当时一些开放平台的申请步骤比较繁琐(尤其是微信开放平台),所以被推迟了。最近只能自己添加相关的了。功能。
  由于刚接触Python和Django,期间找了很多视频和资料学习和实践,慢慢摸索出MVT的结构。在第三方登录方面,百度发现了两个非常有用的文章,并从中学到了很多:
  1. python实现微信第三方网站扫码登录(Django)
  2. 使用django-social-auth做中文社交网站 三路登录(QQ、微博、豆瓣、百度、人人、微信)
  在实现QQ和微博登录的时候,我深深的体会到,使用social-auth实现第三方登录是非常简单、方便、直接、完美的。只需要添加配置内容,不需要写一句代码。真的是一个处理的句子。无需编写代码!
  但是在微信上没找到同样的实现方法(上面第二篇文章有标题,但是文章根本没有提到);从social-auth的解读文件来看,也是一脸懵逼。微信的内容没找到,因为官网已经有对应的User数据表和第三方的UserSocialAuth数据网格,非常规范。使用上面第一种方法后,对用户数据表的添加和修改很困扰。我真的不想破坏它。那种结构,就在我重新获得了social-auth,想了解数据库存储方式的时候,在social-backends中找到了weixin.py。不是说我们可以支持微信吗?
  注意实际步骤
  安装社交认证:
  由于官网使用的是python-social-auth==0.2.12,下载源码后发现social-backends中也有weixin.py,证明是可用的( Ubuntu + Python2.7 + Django1.7);
  pip install python-social-auth==0.2.12
  社会认证配置:
  配置完成后,运行你的网站,使用域名.com/login/weixin访问对应的页面,但是有没有报错:Scope parameter error or no scope permission,在实际操作中发现social-auth自动生成的二维码访问链接缺少scope参数,微信官方给出的二维码访问链接是这样的:
  https://open.weixin.qq.com/con ... irect
  如上所述,有5个参数,state可以省略,但是scope是必须的。对于网页授权,scope参数为固定值scope=snsapi_login。这种情况下,我们需要上面social-auth中的源码,加上这个参数值,根据你实际的site-packages安装路径找到/social/backends/weixin.py文件。例如,我使用 VirtualEnv 构建的路径是:
  /home/ubuntu/env/mppython/lib/python2.7/site-packages/social/backends/weixin.py
  打开这个文件,找到def auth_params()的内容(原文):
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  在params字典中,只增加一个scope参数,修改如下:
  def auth_params(self, state=None):
appid, secret = self.get_key_and_secret()
params = {
'appid': appid,
'redirect_uri': self.get_redirect_uri(state),
'scope': 'snsapi_login',
}
if self.STATE_PARAMETER and state:
params['state'] = state
if self.RESPONSE_TYPE:
params['response_type'] = self.RESPONSE_TYPE
return params
  修改保存后,重新运行项目,再次访问域名.com/login/weixin看看效果!
  后记
  本文内容在《使用django-social-auth做中文社交网站三方登录(QQ、微博、豆瓣、百度、人人、微信)》的基础上进行了扩展,部分区域不细化或深入讲解(如urls配置等),不明白的请到上面文章查找相关资料或留言交流,谢谢!

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台今日推Xweibo开源系统(推荐使用5.2系列最新版本))

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台今日推Xweibo开源系统(推荐使用5.2系列最新版本))
  站长之家()10月14日消息:新浪微博开放平台今天推出新浪微博开源系统。Xweibo是一个基于新浪微博开放API网站的免费开源微博程序,运营商只需下载Xweibo安装文件,并根据安装向导在服务器上完成安装,即可获得完整的微博平台。微博平台包括微博内容接收、发送、评论、关注、私信等常用功能,并可定制功能和界面
  为了使xweibo系统适合不同行业和运营需求,同时也为客户带来新的运营支持,帮助运营商激活用户,丰富互动内容。Xweibo在以往案例成功经验的基础上推出了一系列标准化解决方案,为网站运营商提供免费服务,包括标准微博系统、才艺展示活动平台、客户服务平台等,同时,新浪还将继续努力,不断优化系统,推出更多解决方案,满足每个人的需求
  (汤姆微博案例展示)
  程序配置要求:
  推荐配置:Linux+Apache+MySQL+PHP
  操作系统:Linux(支持UNIX/FreeBSD/Solaris/Windows NT(2000)/2003)其他操作系统)
  Web服务器:Apache(支持httpd、Zeus、IIS和其他Web服务器)
  程序支持:PHP4.3.0及以上(推荐)5.2系列(最新版本)
  程序安装预览:
  (后台登录界面) 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台今日推Xweibo开源系统(推荐使用5.2系列最新版本))
  站长之家()10月14日消息:新浪微博开放平台今天推出新浪微博开源系统。Xweibo是一个基于新浪微博开放API网站的免费开源微博程序,运营商只需下载Xweibo安装文件,并根据安装向导在服务器上完成安装,即可获得完整的微博平台。微博平台包括微博内容接收、发送、评论、关注、私信等常用功能,并可定制功能和界面
  为了使xweibo系统适合不同行业和运营需求,同时也为客户带来新的运营支持,帮助运营商激活用户,丰富互动内容。Xweibo在以往案例成功经验的基础上推出了一系列标准化解决方案,为网站运营商提供免费服务,包括标准微博系统、才艺展示活动平台、客户服务平台等,同时,新浪还将继续努力,不断优化系统,推出更多解决方案,满足每个人的需求
  (汤姆微博案例展示)
  程序配置要求:
  推荐配置:Linux+Apache+MySQL+PHP
  操作系统:Linux(支持UNIX/FreeBSD/Solaris/Windows NT(2000)/2003)其他操作系统)
  Web服务器:Apache(支持httpd、Zeus、IIS和其他Web服务器)
  程序支持:PHP4.3.0及以上(推荐)5.2系列(最新版本)
  程序安装预览:
  (后台登录界面)

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(如何利用新浪微博开放平台api同步微博内容至自己网站)
  使用新浪微博开放平台api同步微博内容至自己网站,例如自己搭建个博客,把自己网站同步微博内容至新浪微博。如果要批量抓取,必须配置个第三方抓取工具来做内容抓取。
  谢邀,个人认为这个业务必须要做!个人能力不足,试举一例如何利用第三方爬虫工具抓取自己网站的数据。
  1、第三方爬虫工具:比如:新浪微博开放平台,官方提供的开放平台服务注意:新浪云最近收费了,
  2、找个网站,
  经过市场调研,真正能满足的回答只有一个。
  国内在做这个的不超过十家,基本还是从网站抓起,当然前提是经过本人同意。
  我也想搞这个,
  题主做过数据爬取么?搞过爬虫的基本上,网站上都会有爬虫接口,
  通过电脑直接抓包就可以获取一条微博的各种数据了,除了文字。然后结合上面的信息源,可以基本采集出微博的主要内容。当然这只是一个粗略的方法,精准的信息量可能需要自己找文章自己发掘。
  多做几个链接换着试试
  1)在专门的渠道接收信息,
  2)做成一个爬虫系统,输入新浪微博开放平台api,但这个门槛有点高,需要自己去开发或者找人写爬虫系统。一条新浪微博能抓到的字段是固定的,并且放在同一个网页,很难打通。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(如何利用新浪微博开放平台api同步微博内容至自己网站)
  使用新浪微博开放平台api同步微博内容至自己网站,例如自己搭建个博客,把自己网站同步微博内容至新浪微博。如果要批量抓取,必须配置个第三方抓取工具来做内容抓取。
  谢邀,个人认为这个业务必须要做!个人能力不足,试举一例如何利用第三方爬虫工具抓取自己网站的数据。
  1、第三方爬虫工具:比如:新浪微博开放平台,官方提供的开放平台服务注意:新浪云最近收费了,
  2、找个网站,
  经过市场调研,真正能满足的回答只有一个。
  国内在做这个的不超过十家,基本还是从网站抓起,当然前提是经过本人同意。
  我也想搞这个,
  题主做过数据爬取么?搞过爬虫的基本上,网站上都会有爬虫接口,
  通过电脑直接抓包就可以获取一条微博的各种数据了,除了文字。然后结合上面的信息源,可以基本采集出微博的主要内容。当然这只是一个粗略的方法,精准的信息量可能需要自己找文章自己发掘。
  多做几个链接换着试试
  1)在专门的渠道接收信息,
  2)做成一个爬虫系统,输入新浪微博开放平台api,但这个门槛有点高,需要自己去开发或者找人写爬虫系统。一条新浪微博能抓到的字段是固定的,并且放在同一个网页,很难打通。

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的API一共验证机制(一)_光明网)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的API一共验证机制(一)_光明网)
  最近,我遇到了一个项目,其中用户的微博信息需要与他自己的网站项目同步。幸运的是,新浪微博提供了一个API。检查之后,同步需要调用的信息是验证用户的登录并以JSON格式返回数据
  在授权机制的描述中,新浪微博的API有两种认证机制:OAuth和basic auth。OAuth没有仔细观察它。《基本授权简介》中提到cnblogs上的一篇文章文章给出了get如何提交HTTP请求以及返回内容的代码,按照这个文章找到博客公园团队的另一个文章:这个文章实现了站外发送微博的功能。结合这两篇文章文章,实现了新浪微博同步功能
  以下是实现微博同步的步骤:
  1.first,为了实现HTTP请求,使用系统。Net需要引入;命名空间。同时,在转换字符集和获取返回内容部分还需要另外两个名称空间:usingsystem。文本;并使用system.io
  接下来,您可以开始编写代码来获取JSON数据
  (1)准备用户身份验证数据
  string usernamePassword = username + ":" + password;
  用户名是你的微博登录用户名,密码是你的博客密码
  (2)准备API的URL,URL中的参数在get模式下直接附加到URL上,起初博客花园中的文章没有仔细查看,直接粘贴代码并将参数附加到数据上,总是返回400错误,后来检查MSDN发现默认的Httpw请求方法ebrequest是get。此外,由于它是get模式,所以参数应该在URL中传输
  string url = "https://api.weibo.com/2/status ... 3B%3B
  以上apikey是作为新浪微博用户的开发者申请的,应该是唯一一个。在文章博客公园,据说我需要发送一封电子邮件以获得批准。我没有发送电子邮件,但我直接申请并获得了apikey。信息也可以同步。但是,当在站外发送微博信息时源部分将是:未批准的应用程序。Uid和屏幕名称将跟随参数,具体参数在API文档中描述 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博的API一共验证机制(一)_光明网)
  最近,我遇到了一个项目,其中用户的微博信息需要与他自己的网站项目同步。幸运的是,新浪微博提供了一个API。检查之后,同步需要调用的信息是验证用户的登录并以JSON格式返回数据
  在授权机制的描述中,新浪微博的API有两种认证机制:OAuth和basic auth。OAuth没有仔细观察它。《基本授权简介》中提到cnblogs上的一篇文章文章给出了get如何提交HTTP请求以及返回内容的代码,按照这个文章找到博客公园团队的另一个文章:这个文章实现了站外发送微博的功能。结合这两篇文章文章,实现了新浪微博同步功能
  以下是实现微博同步的步骤:
  1.first,为了实现HTTP请求,使用系统。Net需要引入;命名空间。同时,在转换字符集和获取返回内容部分还需要另外两个名称空间:usingsystem。文本;并使用system.io
  接下来,您可以开始编写代码来获取JSON数据
  (1)准备用户身份验证数据
  string usernamePassword = username + ":" + password;
  用户名是你的微博登录用户名,密码是你的博客密码
  (2)准备API的URL,URL中的参数在get模式下直接附加到URL上,起初博客花园中的文章没有仔细查看,直接粘贴代码并将参数附加到数据上,总是返回400错误,后来检查MSDN发现默认的Httpw请求方法ebrequest是get。此外,由于它是get模式,所以参数应该在URL中传输
  string url = "https://api.weibo.com/2/status ... 3B%3B
  以上apikey是作为新浪微博用户的开发者申请的,应该是唯一一个。在文章博客公园,据说我需要发送一封电子邮件以获得批准。我没有发送电子邮件,但我直接申请并获得了apikey。信息也可以同步。但是,当在站外发送微博信息时源部分将是:未批准的应用程序。Uid和屏幕名称将跟随参数,具体参数在API文档中描述

使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  导言
  我最近不太忙。我花了一些时间学习Android应用程序开发。经过两周的学习,我还编写了许多演示示例,可以从基本控件和基本动画效果的示例演示集合中播放,并不断更新和下载
  从本周开始,我们将以新浪微博开放平台为例,开发一个简单的安卓客户端,它将尽可能地改进功能
  今天的内容
  
  上图是客户端的主界面。目前,只获得了前20个数据。也可以单击“刷新”刷新数据。功能相对简单
  操作系统是android2.2.
  使用的技术点包括listview、自定义listadapter、与多线程相关的消息、处理程序、与身份验证相关的OAuth以及用户映像的异步加载
  新浪微博的验证使用了signpost的OAuth组件,而不是微博的SDK
  
  源代码下载:
  关于OAuth身份验证
  OAuth是目前流行的授权方案。twitter、Facebook和Google等大型网站开放平台支持OAuth认证模式。新浪微博、腾讯微博、163微博等国内开放平台也纷纷支持这种认证模式
  参考维基百科
  “OAuth是一种开放标准,允许用户允许第三方应用程序访问用户在网站上放置的私有资源,而无需将用户名和密码传递给第三方应用程序。OAuth允许用户提供令牌而不是用户名和密码来访问存储在特定服务提供商中的数据。”
  例如:
  用户a在服务提供商B上存储一些资源。B支持OAuth授权模式。a是B上的注册用户,具有用户名和密码。您可以使用用户名和密码登录B以查看您的资源。假设存在应用程序C。使用C时,用户a需要在B上存储自己的资源。有两种方法可以把你的资源放在B和C上
  此时,C可以使用B打开的OAuth授权机制。当用户a想要在B上显示资源时,C将跳转到B的身份验证页面。用户将在B的页面上输入用户名和密码。通过后,它将询问用户是否为C应用程序开发相关资源。用户可以自定义C可以访问的资源,然后跳回C应用程序。这样,就不需要担心用户名和密码,也不需要同时存储多个资源
  您可以通过以下网站details学习OAuth的具体技术细节
  
  从上图可以看出,实际流程分为两部分:使用者和提供者。在本例中,使用者是C应用程序,提供者是B服务提供者
  使用OAuth进行身份验证和授权的过程如下:
  用户访问客户端的网站并希望操作用户在服务提供商中存储的资源。客户端向服务提供商请求一个临时令牌。服务提供商对客户端进行身份验证后,将授予一个临时令牌。在获得临时令牌后,客户端将用户引导至授权方请求用户授权的服务提供商的授权页面。在此过程中,客户端的临时令牌和回调连接被发送给服务提供商。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问请求的资源。成功授权后此时,服务提供商引导用户返回到客户端的网页。客户端根据临时令牌从服务提供商处获取访问令牌。服务提供商根据临时令牌和用户的授权授予客户端访问令牌。客户端使用获取的访问令牌访问pr存储在服务提供程序上的受保护资源
  新浪微博的OAuth
  
  借用新浪微博OAuth验证流程图
  当我们在新浪微博开放平台上创建一个新的应用程序时,我们会为新的应用程序分配一个密钥和密码,即consumerkey和ConsumerCret。通过这两件事,我们去请求令牌,然后将用户重定向到新浪微博平台的授权页面。授权后,根据回调,URL是一个地址ss,我们再次使用request uGet access with token uToken,以后需要通过access token访问开放平台提供的待验证接口
  当然,那些不需要验证就可以访问的接口也可以通过密钥直接访问,具体请参考开放平台提供的API文档
  腾讯微博和163微博的开放平台在原则和实施上都是相似的
  packagecom.sinaweibo2
  importoauth.signpost.OAuthConsumer
  importoauth.signpost.OAuthProvider
  monshttp.CommonHttpOAuthConsumer
  monshttp.CommonHttpOAuthProvider
  importoauth.signpost.exception.OAuthCommunicationException
  ImportToAuth.signpost.exception.OAutheExpectationFailedException
  importoauth.signpost.exception.oauthmessagesignereexception
  importoauth.signpost.exception.OAuthNotAuthorizedException
  publicclassOAuth{
  私人消费者
  私有OAuthProvider
  publicstaticfinalString回调_URL=“sinaweibo2://weibolistativity”
  publicstaticfinalString CONSUMER_KEY=“1849239616”
  publicstaticfinalString CONSUMER_SECRET=“B2137BF782BF6CAE004B8A8394D5D5D6D6”
  publicstaticfinalString请求_TOKEN_URL=“”
  publicstaticfinalString访问权_令牌_URL=“”
  publicstaticfinalString AUTHORIZE_URL=“”
  publicOAuth(){
  }
  publicString RetrieveAuthUrl()通过OAuthMessageSignerException
  OAuthNotAuthorizedException,OAuthExpectationFailedException
  OAuthCommunicationException{
  mConsumer=newcommMonsHttpOAuthConsumer(消费者密钥,消费者密钥)
  mProvider=newCommonsHttpOAuthProvider(请求\u令牌\u URL
  访问\u令牌\u URL,授权\u URL)
  String authUrl=mProvider.retrieveRequestToken(mConsumer,CALLBACK\u URL)
  returnauthUrl
  }
  publicvoidRetrieveAccessToken(字符串验证器)
  通过OAuthMessageSignerException、OAuthNotAuthorizedException、
  OAuthExpectationFailedException,OAuthCommunicationException{
  mProvider.setOAuth10a(正确)
  mProvider.retrieveAccessToken(mConsumer,验证器)
  OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst(“用户ID”)
  OAuthUser.ACCESS_TOKEN=mConsumer.getToken()
  OAuthUser.ACCESS_TOKEN_SECRET=mConsumer.getTokenSecret()
  }
  }
  更多功能
  接下来,将改进两个主要功能,一个是分页浏览,另一个是微博
  将来,它可能支持实际功能,如图片发布
  还有UI美化和性能优化
  总结
  我在学习过程中读了两本书,pro.Android2.pdf和professional.android2.Application.Development.(Wrox,.2010,。0470565527).PDF,是非常好的介绍性书籍。我还没有读完所有的书。读完大部分书后,我会边读边写一个演示
  同时,我每天去论坛,EOE的开发者门户,回答问题,解决问题,提出问题和发表文章。总之,我锻炼自己,强迫自己锻炼基础和思考
  论坛上有很多中文PDF教程,但发现大部分都是从Android开发者中心的开发指南和资源中翻译过来的。因此,如果英语不是很差,建议直接阅读以上两部分,同时练习示例,以确保你能取得很好的进步两周后
  参考资料
  Technorati标签:Android、开放平台、OAuth、新浪微博 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
  导言
  我最近不太忙。我花了一些时间学习Android应用程序开发。经过两周的学习,我还编写了许多演示示例,可以从基本控件和基本动画效果的示例演示集合中播放,并不断更新和下载
  从本周开始,我们将以新浪微博开放平台为例,开发一个简单的安卓客户端,它将尽可能地改进功能
  今天的内容
  
  上图是客户端的主界面。目前,只获得了前20个数据。也可以单击“刷新”刷新数据。功能相对简单
  操作系统是android2.2.
  使用的技术点包括listview、自定义listadapter、与多线程相关的消息、处理程序、与身份验证相关的OAuth以及用户映像的异步加载
  新浪微博的验证使用了signpost的OAuth组件,而不是微博的SDK
  
  源代码下载:
  关于OAuth身份验证
  OAuth是目前流行的授权方案。twitter、Facebook和Google等大型网站开放平台支持OAuth认证模式。新浪微博、腾讯微博、163微博等国内开放平台也纷纷支持这种认证模式
  参考维基百科
  “OAuth是一种开放标准,允许用户允许第三方应用程序访问用户在网站上放置的私有资源,而无需将用户名和密码传递给第三方应用程序。OAuth允许用户提供令牌而不是用户名和密码来访问存储在特定服务提供商中的数据。”
  例如:
  用户a在服务提供商B上存储一些资源。B支持OAuth授权模式。a是B上的注册用户,具有用户名和密码。您可以使用用户名和密码登录B以查看您的资源。假设存在应用程序C。使用C时,用户a需要在B上存储自己的资源。有两种方法可以把你的资源放在B和C上
  此时,C可以使用B打开的OAuth授权机制。当用户a想要在B上显示资源时,C将跳转到B的身份验证页面。用户将在B的页面上输入用户名和密码。通过后,它将询问用户是否为C应用程序开发相关资源。用户可以自定义C可以访问的资源,然后跳回C应用程序。这样,就不需要担心用户名和密码,也不需要同时存储多个资源
  您可以通过以下网站details学习OAuth的具体技术细节
  
  从上图可以看出,实际流程分为两部分:使用者和提供者。在本例中,使用者是C应用程序,提供者是B服务提供者
  使用OAuth进行身份验证和授权的过程如下:
  用户访问客户端的网站并希望操作用户在服务提供商中存储的资源。客户端向服务提供商请求一个临时令牌。服务提供商对客户端进行身份验证后,将授予一个临时令牌。在获得临时令牌后,客户端将用户引导至授权方请求用户授权的服务提供商的授权页面。在此过程中,客户端的临时令牌和回调连接被发送给服务提供商。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问请求的资源。成功授权后此时,服务提供商引导用户返回到客户端的网页。客户端根据临时令牌从服务提供商处获取访问令牌。服务提供商根据临时令牌和用户的授权授予客户端访问令牌。客户端使用获取的访问令牌访问pr存储在服务提供程序上的受保护资源
  新浪微博的OAuth
  
  借用新浪微博OAuth验证流程图
  当我们在新浪微博开放平台上创建一个新的应用程序时,我们会为新的应用程序分配一个密钥和密码,即consumerkey和ConsumerCret。通过这两件事,我们去请求令牌,然后将用户重定向到新浪微博平台的授权页面。授权后,根据回调,URL是一个地址ss,我们再次使用request uGet access with token uToken,以后需要通过access token访问开放平台提供的待验证接口
  当然,那些不需要验证就可以访问的接口也可以通过密钥直接访问,具体请参考开放平台提供的API文档
  腾讯微博和163微博的开放平台在原则和实施上都是相似的
  packagecom.sinaweibo2
  importoauth.signpost.OAuthConsumer
  importoauth.signpost.OAuthProvider
  monshttp.CommonHttpOAuthConsumer
  monshttp.CommonHttpOAuthProvider
  importoauth.signpost.exception.OAuthCommunicationException
  ImportToAuth.signpost.exception.OAutheExpectationFailedException
  importoauth.signpost.exception.oauthmessagesignereexception
  importoauth.signpost.exception.OAuthNotAuthorizedException
  publicclassOAuth{
  私人消费者
  私有OAuthProvider
  publicstaticfinalString回调_URL=“sinaweibo2://weibolistativity”
  publicstaticfinalString CONSUMER_KEY=“1849239616”
  publicstaticfinalString CONSUMER_SECRET=“B2137BF782BF6CAE004B8A8394D5D5D6D6”
  publicstaticfinalString请求_TOKEN_URL=“”
  publicstaticfinalString访问权_令牌_URL=“”
  publicstaticfinalString AUTHORIZE_URL=“”
  publicOAuth(){
  }
  publicString RetrieveAuthUrl()通过OAuthMessageSignerException
  OAuthNotAuthorizedException,OAuthExpectationFailedException
  OAuthCommunicationException{
  mConsumer=newcommMonsHttpOAuthConsumer(消费者密钥,消费者密钥)
  mProvider=newCommonsHttpOAuthProvider(请求\u令牌\u URL
  访问\u令牌\u URL,授权\u URL)
  String authUrl=mProvider.retrieveRequestToken(mConsumer,CALLBACK\u URL)
  returnauthUrl
  }
  publicvoidRetrieveAccessToken(字符串验证器)
  通过OAuthMessageSignerException、OAuthNotAuthorizedException、
  OAuthExpectationFailedException,OAuthCommunicationException{
  mProvider.setOAuth10a(正确)
  mProvider.retrieveAccessToken(mConsumer,验证器)
  OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst(“用户ID”)
  OAuthUser.ACCESS_TOKEN=mConsumer.getToken()
  OAuthUser.ACCESS_TOKEN_SECRET=mConsumer.getTokenSecret()
  }
  }
  更多功能
  接下来,将改进两个主要功能,一个是分页浏览,另一个是微博
  将来,它可能支持实际功能,如图片发布
  还有UI美化和性能优化
  总结
  我在学习过程中读了两本书,pro.Android2.pdf和professional.android2.Application.Development.(Wrox,.2010,。0470565527).PDF,是非常好的介绍性书籍。我还没有读完所有的书。读完大部分书后,我会边读边写一个演示
  同时,我每天去论坛,EOE的开发者门户,回答问题,解决问题,提出问题和发表文章。总之,我锻炼自己,强迫自己锻炼基础和思考
  论坛上有很多中文PDF教程,但发现大部分都是从Android开发者中心的开发指南和资源中翻译过来的。因此,如果英语不是很差,建议直接阅读以上两部分,同时练习示例,以确保你能取得很好的进步两周后
  参考资料
  Technorati标签:Android、开放平台、OAuth、新浪微博

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

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

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  短链接通过新浪微博API生成,该API支持一次转换多个长链接。什么是短链接?一般来说,它是通过程序计算将一个长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,需要说明的是$longUrl中的long link URL数组值可以传输多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,以满足自己的需要
  源代码
<p> 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(通过新浪微博API生成短链接,支持一次性转多个长链接)
  短链接通过新浪微博API生成,该API支持一次转换多个长链接。什么是短链接?一般来说,它是通过程序计算将一个长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,需要说明的是$longUrl中的long link URL数组值可以传输多个值
  当然,为了方便,我把它写成一个类,可以根据自己的需要进行调整,以满足自己的需要
  源代码
<p>

使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5 )

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

  使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5
)
  最近,我登录并访问了联合第三方平台,并首先联系了开放平台。我在这里做个记录
  开发前的准备工作如下:
  1、注册新浪微博
  2、访问新浪微博开发平台,如果是企业,申请企业访问,并提交相关材料进行审核;如果您是个人开发者,请申请个人开发者应用程序。以开发者为例
  3、要使用新浪微博的开放API,您需要向新浪申请appkey和AppSecret。这是入口。您必须先获得这两个,然后才能访问下一个工作
  4、完成个人信息后,您还必须完成身份验证审核。审核完成后,新浪开放平台将给出appkey和AppSecret
  5、下一步是如何使用appkey和AppSecret。您需要在开放平台中下载文档或演示代码。事实上,提供的文件基本上是技术文件。很多事情没有解释清楚。第一次接触的人仍然会遇到很多麻烦
  6、Sina开放平台提供了许多不同开发语言的SDK。这里我选择JavaSDK并下载一个(包括新的接口和OAuth2.0)的zip文件解压后可以直接导入eclipse。结构如下,包括weibo4j源代码和示例代码
  
  这是一个配置文件。请按如下方式打开它:
  
  以前应用的appkey和app secret很方便。此处的客户端id是appkey,客户端sercret是app secret。请填写相应的内容,重定向uri是回调地址
  点击“第三方”--“跳转到微博登录”--“登录确定,授权”--“回调您自己的应用程序。下面是回调地址的含义
  7、start运行测试程序。测试程序在示例中,类oauth4code在包weibo4j.examples.oauth2下。这里我们需要做一些修改来修改程序中的代码
  OAuth.Authorize(“code”,args[0],args[1])。将本段更改为OAuth.Authorize(“code”,“all”)。至于原因,请阅读接口文档中有关使用OAuth.Authorize的说明
  假设我们这里没有回调地址,配置文件中的redirect_uri为空,运行后会自动打开浏览器运行测试,如下图:
  
  此时的URL地址为:
  这表明我的appkey和appsecret是有效的。由于我们没有创建正式的应用程序,新浪无法识别我的来源
  8、在开放平台上创建一个应用程序,如下图所示
  
  有三种类型的应用程序,网站access、现场应用程序和移动应用程序。如果是企业行为,有一个可以访问的公共域名,并且应用程序通过域名访问,任何一种方式都可以在这里使用。但是,如果我们只是简单的开发人员,没有公共域名,例如内部LAN模式,IP是内部网地址192. 168.1.*头部,局部127.0.@0.1在这里,您只能选择创建站内应用程序
  
  红色框中标记的位置是回调地址。如果我没有公共IP和域名,可以填写LAN以供播放,但我不能使用localhost127.0.@0.1,是按照配置要求完成的,本次配置要求非常严格
  特别是,以下应用程序图标很麻烦。完成后,您可以提交它们以供审批
  9、提交审核后,新浪开放平台将在大约一天内首次向您的电子邮件发送一封电子邮件,通知您审核结果。但是,审核结果是否失败并不重要。关键是提交审核。如果审核不成功,可以照常使用
  
  10、完成测试项目中的配置文件redirect_uri后,必须与创建应用时填写的[actual application address]一致,即回调地址!完成配置后,再次运行oauth4code.java,如图所示
  
  在这里,您将跳转到新浪微博的登录页面,登录新浪微博账号后,您需要点击授权,这意味着您的微博账号的相关内容可以与访问平台共享。授权完成后
  将返回一个代码,这个代码非常重要,它是我们整个访问第三方平台的关键,通过这个代码,我们可以获得用户的访问令牌、uid等内容,相当于打开整个访问过程
  11、Call新浪微博开放API
  在这里,您需要学习这些API以满足访问需求。首先要熟悉的是OAuth2.0您可以在上检查授权界面,如下所示:
  
  12、通过servlet程序调用OpenAPI,获取新浪微博uid和微博名称示例
  
  response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;

Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;


} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/
   查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5
)
  最近,我登录并访问了联合第三方平台,并首先联系了开放平台。我在这里做个记录
  开发前的准备工作如下:
  1、注册新浪微博
  2、访问新浪微博开发平台,如果是企业,申请企业访问,并提交相关材料进行审核;如果您是个人开发者,请申请个人开发者应用程序。以开发者为例
  3、要使用新浪微博的开放API,您需要向新浪申请appkey和AppSecret。这是入口。您必须先获得这两个,然后才能访问下一个工作
  4、完成个人信息后,您还必须完成身份验证审核。审核完成后,新浪开放平台将给出appkey和AppSecret
  5、下一步是如何使用appkey和AppSecret。您需要在开放平台中下载文档或演示代码。事实上,提供的文件基本上是技术文件。很多事情没有解释清楚。第一次接触的人仍然会遇到很多麻烦
  6、Sina开放平台提供了许多不同开发语言的SDK。这里我选择JavaSDK并下载一个(包括新的接口和OAuth2.0)的zip文件解压后可以直接导入eclipse。结构如下,包括weibo4j源代码和示例代码
  
  这是一个配置文件。请按如下方式打开它:
  
  以前应用的appkey和app secret很方便。此处的客户端id是appkey,客户端sercret是app secret。请填写相应的内容,重定向uri是回调地址
  点击“第三方”--“跳转到微博登录”--“登录确定,授权”--“回调您自己的应用程序。下面是回调地址的含义
  7、start运行测试程序。测试程序在示例中,类oauth4code在包weibo4j.examples.oauth2下。这里我们需要做一些修改来修改程序中的代码
  OAuth.Authorize(“code”,args[0],args[1])。将本段更改为OAuth.Authorize(“code”,“all”)。至于原因,请阅读接口文档中有关使用OAuth.Authorize的说明
  假设我们这里没有回调地址,配置文件中的redirect_uri为空,运行后会自动打开浏览器运行测试,如下图:
  
  此时的URL地址为:
  这表明我的appkey和appsecret是有效的。由于我们没有创建正式的应用程序,新浪无法识别我的来源
  8、在开放平台上创建一个应用程序,如下图所示
  
  有三种类型的应用程序,网站access、现场应用程序和移动应用程序。如果是企业行为,有一个可以访问的公共域名,并且应用程序通过域名访问,任何一种方式都可以在这里使用。但是,如果我们只是简单的开发人员,没有公共域名,例如内部LAN模式,IP是内部网地址192. 168.1.*头部,局部127.0.@0.1在这里,您只能选择创建站内应用程序
  
  红色框中标记的位置是回调地址。如果我没有公共IP和域名,可以填写LAN以供播放,但我不能使用localhost127.0.@0.1,是按照配置要求完成的,本次配置要求非常严格
  特别是,以下应用程序图标很麻烦。完成后,您可以提交它们以供审批
  9、提交审核后,新浪开放平台将在大约一天内首次向您的电子邮件发送一封电子邮件,通知您审核结果。但是,审核结果是否失败并不重要。关键是提交审核。如果审核不成功,可以照常使用
  
  10、完成测试项目中的配置文件redirect_uri后,必须与创建应用时填写的[actual application address]一致,即回调地址!完成配置后,再次运行oauth4code.java,如图所示
  
  在这里,您将跳转到新浪微博的登录页面,登录新浪微博账号后,您需要点击授权,这意味着您的微博账号的相关内容可以与访问平台共享。授权完成后
  将返回一个代码,这个代码非常重要,它是我们整个访问第三方平台的关键,通过这个代码,我们可以获得用户的访问令牌、uid等内容,相当于打开整个访问过程
  11、Call新浪微博开放API
  在这里,您需要学习这些API以满足访问需求。首先要熟悉的是OAuth2.0您可以在上检查授权界面,如下所示:
  
  12、通过servlet程序调用OpenAPI,获取新浪微博uid和微博名称示例
  
  response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;

Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;


} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/
  

使用新浪微博开放平台api同步微博内容至自己网站(几个微博免费服务,让你绑定多个微博或社交网站)

网站优化优采云 发表了文章 • 0 个评论 • 109 次浏览 • 2021-09-14 07:11 • 来自相关话题

  使用新浪微博开放平台api同步微博内容至自己网站(几个微博免费服务,让你绑定多个微博或社交网站)
  随着越来越多的朋友接触和使用微博,很多人逐渐发现他们的朋友分散在许多不同的微博平台上。为此,我经常不得不在腾讯微博、新浪微博、人人网和豆瓣等多个不同的微博平台上更新新闻。但是为了保持多个账号同步,同一个微博经常被多次发送,真的很麻烦。
  今天给大家介绍几款可以一键发布消息到多个微博的免费服务。您可以绑定多个微博或社交网站账号,写好内容提交一次,然后上传微博同时发送到这些多个社交平台。并且可以将多个微博平台的更新汇总显示在同一个地方,是拥有多个不同微博的朋友必不可少的工具...
  先派微博通:
  把香派微博通放在第一位,其实是因为我目前只用了这个服务,我觉得已经满足了我的需求,所以我没有实际使用过,后面会讲到。当然,我仍然应该介绍所有类似的服务。毕竟,您可以比较和对比多种服务。其实,试试看哪一个适合你的喜好。这种微博同步工具其实使用起来很简单,无非就是绑定几个账号然后发个消息而已,用法就不介绍了。
  使用香派微博通网页版的实际效果:
  
  支持的微博平台:
  
  除了WEB网页版,祥拍微博通还提供iPhone、iPad、Android、S60、Chrome插件、Adobe Air客户端(跨平台支持Win、Mac、Linux)、WAP手机版、等,客户端相似丰富,发微博到任何地方都很方便!
  微博通:
  是的,这也叫微博通,应该和前者没有直接关系。功能上和香派微博通基本一样,所以大家都喜欢。遗憾的是,客户端没有象牌微博通那么丰富。不过微博通支持的网站也很丰富,可以通过QQ、Gtalk、MSN等通讯工具发微博。
  
  :
   也是一个微博聚合平台,可以同时绑定多条微博,同时发布。消息同步、转发、评论、采集等。客户端有网页版、iPhone、Android、手机网页版,并有一些热点文字聚合功能。我没有亲自测试过,所以只能自己测试!
  
  写在后面:
  其实也有一些类似的微博同步工具,比如Follow5、FaWave等,我觉得这些工具没有一个特别强大或者特别差。它们基本可以满足你自己的习惯和需求,所以没关系。 NS。希望这种工具可以在现实生活和工作中为您提供帮助!如果你知道还有一个特别好用的工具,也欢迎大家推荐补充。最后希望玩微博的朋友可以关注我的新浪微博和腾讯微博! 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(几个微博免费服务,让你绑定多个微博或社交网站)
  随着越来越多的朋友接触和使用微博,很多人逐渐发现他们的朋友分散在许多不同的微博平台上。为此,我经常不得不在腾讯微博、新浪微博、人人网和豆瓣等多个不同的微博平台上更新新闻。但是为了保持多个账号同步,同一个微博经常被多次发送,真的很麻烦。
  今天给大家介绍几款可以一键发布消息到多个微博的免费服务。您可以绑定多个微博或社交网站账号,写好内容提交一次,然后上传微博同时发送到这些多个社交平台。并且可以将多个微博平台的更新汇总显示在同一个地方,是拥有多个不同微博的朋友必不可少的工具...
  先派微博通:
  把香派微博通放在第一位,其实是因为我目前只用了这个服务,我觉得已经满足了我的需求,所以我没有实际使用过,后面会讲到。当然,我仍然应该介绍所有类似的服务。毕竟,您可以比较和对比多种服务。其实,试试看哪一个适合你的喜好。这种微博同步工具其实使用起来很简单,无非就是绑定几个账号然后发个消息而已,用法就不介绍了。
  使用香派微博通网页版的实际效果:
  
  支持的微博平台:
  
  除了WEB网页版,祥拍微博通还提供iPhone、iPad、Android、S60、Chrome插件、Adobe Air客户端(跨平台支持Win、Mac、Linux)、WAP手机版、等,客户端相似丰富,发微博到任何地方都很方便!
  微博通:
  是的,这也叫微博通,应该和前者没有直接关系。功能上和香派微博通基本一样,所以大家都喜欢。遗憾的是,客户端没有象牌微博通那么丰富。不过微博通支持的网站也很丰富,可以通过QQ、Gtalk、MSN等通讯工具发微博。
  
  :
   也是一个微博聚合平台,可以同时绑定多条微博,同时发布。消息同步、转发、评论、采集等。客户端有网页版、iPhone、Android、手机网页版,并有一些热点文字聚合功能。我没有亲自测试过,所以只能自己测试!
  
  写在后面:
  其实也有一些类似的微博同步工具,比如Follow5、FaWave等,我觉得这些工具没有一个特别强大或者特别差。它们基本可以满足你自己的习惯和需求,所以没关系。 NS。希望这种工具可以在现实生活和工作中为您提供帮助!如果你知道还有一个特别好用的工具,也欢迎大家推荐补充。最后希望玩微博的朋友可以关注我的新浪微博和腾讯微博!

使用新浪微博开放平台api同步微博内容至自己网站(一条微博审核之后,希望能提取摘要,自动同步发布)

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

  使用新浪微博开放平台api同步微博内容至自己网站(一条微博审核之后,希望能提取摘要,自动同步发布)
  任务
  发完博客,希望提取摘要,自动同步发一条微博;
  准备工作
  作为新浪微博的开发者,需要进行身份验证;
  个人身份认证审核一般需要一个工作日;
  接下来是提交网站审核,国内提交备案号。海外申请者,只需提交网站的海外证明;也是一个工作日左右;
  个人身份审核通过后,可以创建应用和调用接口,此时获得的权限比较低;
  网站不送审或审核不通过,对微博没有影响;它只会在微博下显示“未审核的申请”;
  审核后显示网站app名称:
  
  调用接口
  微博开放平台提供测试工具;
  开发接入前,首先要保证测试微博可以通过本测试工具发送;
  %E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAAPI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85% B7
  微博的api参考文档是:
  所有微博接口都需要授权认证;认证后,会得到一个access_token(访问密钥);密钥的有效期因用户级别而异;
  网络审核不通过者1天;审核通过的普通用户7天;
  在有效期内,无需与新浪服务器交互进行权限认证。只要token存储在本地,就可以调用各种微博API(读、写、获取受众信息等)
  授权
  授权认证的三种方式:
  通过用户名和密码;
  这是最容易理解的。在程序中写入微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,该接口是提供给开发应用使用的,不能使用web应用;
  网络回调;
  需要与新浪服务器交互并提供回调地址;在回调地址中获取access_token;
  第三种方法是代码方法。没仔细看,略过;
  Web 应用仅支持第二种授权方式;下面详细介绍第二种方法的使用:
  下载新浪提供的SDK,收录demo和api打包类;
  访问页面:
  call.php:
  include_once( 'sina_config.php' );
include_once( 'saetv2.ex.class.php' );
//获取到授权的url
$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
request()->redirect($code_url);
  回调地址页面(WB_CALLBACK_URL):
  回调.php
  $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = WB_CALLBACK_URL;
try {
$token = $o->getAccessToken( 'code', $keys ) ;
} catch (OAuthException $e) {
echo "weibo.com get access token err.";
LOG_ERR("weibo.com get access token err.");
return ;
}
}
if ($token) {
//取到授权后的api调用密钥,可用存起来,在有效期内多次调用api接口就不用再授权了
$_SESSION['token'] = $token;
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$ret = $c->update( $weiboStr ); //发送微博
if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {
$str = "Weibo.com Send failed. err info:" . $ret['error_code'] . '/' . $ret['error'];
LOG_ERR($str);
} else {
LOG_INFO("Weibo.com Send Success.");
}
}
  博客摘要提取
  微博字数为140字;其中,一个汉字为1个字;我们必须选择一个计数功能;对于一个汉字,strlen()计为3个字符,多字节统计函数mb_strlen()计为1个字,符合我们的要求;
  最后,您需要清除 html 标签等。
   //获取当前微博内容(140字)
public function getWeibo()
{
$titleLen = mb_strlen($this->title, 'UTF-8');
//140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
$summaryLen = 115 - $titleLen ;
$pubPaper = cutstr_html($this->summary);
if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
$pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
$pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
return $pubPaper;
}
//完全的去除html标记
function cutstr_html($string)
{
$string = strip_tags($string);
$string = preg_replace ('/n/is', '', $string);
$string = preg_replace ('/ | /is', '', $string);
$string = preg_replace ('/ /is', '', $string);
return $string;
}
  结束。
  发布者:大CC | 2013年11月30日
  博客:
  微博:新浪微博 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(一条微博审核之后,希望能提取摘要,自动同步发布)
  任务
  发完博客,希望提取摘要,自动同步发一条微博;
  准备工作
  作为新浪微博的开发者,需要进行身份验证;
  个人身份认证审核一般需要一个工作日;
  接下来是提交网站审核,国内提交备案号。海外申请者,只需提交网站的海外证明;也是一个工作日左右;
  个人身份审核通过后,可以创建应用和调用接口,此时获得的权限比较低;
  网站不送审或审核不通过,对微博没有影响;它只会在微博下显示“未审核的申请”;
  审核后显示网站app名称:
  
  调用接口
  微博开放平台提供测试工具;
  开发接入前,首先要保证测试微博可以通过本测试工具发送;
  %E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAAPI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85% B7
  微博的api参考文档是:
  所有微博接口都需要授权认证;认证后,会得到一个access_token(访问密钥);密钥的有效期因用户级别而异;
  网络审核不通过者1天;审核通过的普通用户7天;
  在有效期内,无需与新浪服务器交互进行权限认证。只要token存储在本地,就可以调用各种微博API(读、写、获取受众信息等)
  授权
  授权认证的三种方式:
  通过用户名和密码;
  这是最容易理解的。在程序中写入微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,该接口是提供给开发应用使用的,不能使用web应用;
  网络回调;
  需要与新浪服务器交互并提供回调地址;在回调地址中获取access_token;
  第三种方法是代码方法。没仔细看,略过;
  Web 应用仅支持第二种授权方式;下面详细介绍第二种方法的使用:
  下载新浪提供的SDK,收录demo和api打包类;
  访问页面:
  call.php:
  include_once( 'sina_config.php' );
include_once( 'saetv2.ex.class.php' );
//获取到授权的url
$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
request()->redirect($code_url);
  回调地址页面(WB_CALLBACK_URL):
  回调.php
  $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = WB_CALLBACK_URL;
try {
$token = $o->getAccessToken( 'code', $keys ) ;
} catch (OAuthException $e) {
echo "weibo.com get access token err.";
LOG_ERR("weibo.com get access token err.");
return ;
}
}
if ($token) {
//取到授权后的api调用密钥,可用存起来,在有效期内多次调用api接口就不用再授权了
$_SESSION['token'] = $token;
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$ret = $c->update( $weiboStr ); //发送微博
if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {
$str = "Weibo.com Send failed. err info:" . $ret['error_code'] . '/' . $ret['error'];
LOG_ERR($str);
} else {
LOG_INFO("Weibo.com Send Success.");
}
}
  博客摘要提取
  微博字数为140字;其中,一个汉字为1个字;我们必须选择一个计数功能;对于一个汉字,strlen()计为3个字符,多字节统计函数mb_strlen()计为1个字,符合我们的要求;
  最后,您需要清除 html 标签等。
   //获取当前微博内容(140字)
public function getWeibo()
{
$titleLen = mb_strlen($this->title, 'UTF-8');
//140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
$summaryLen = 115 - $titleLen ;
$pubPaper = cutstr_html($this->summary);
if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
$pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
$pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
return $pubPaper;
}
//完全的去除html标记
function cutstr_html($string)
{
$string = strip_tags($string);
$string = preg_replace ('/n/is', '', $string);
$string = preg_replace ('/ | /is', '', $string);
$string = preg_replace ('/ /is', '', $string);
return $string;
}
  结束。
  发布者:大CC | 2013年11月30日
  博客:
  微博:新浪微博

使用新浪微博开放平台api同步微博内容至自己网站(新浪云存储SCS插件和新浪微博同步插件维护行动)

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

  使用新浪微博开放平台api同步微博内容至自己网站(新浪云存储SCS插件和新浪微博同步插件维护行动)
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想把 TP 的所有开源插件都集成到 GitHub 上进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果你把它放在 typecho-fans 上进行维护,它将用于用户和开发。这对人来说非常方便。但是当时不知道如何将GitHub上维护的三个插件库作为子目录/库同步到typecho-fans的插件库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想整合TP的所有开源插件进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果把它放在 typecho-fans 上进行维护,对于用户和开发人员来说都会非常方便。 .但是当时我不知道怎么把放在GitHub上维护的三个插件仓库作为子目录/仓库同步到typecho-fans的插件仓库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  非IDE文本编辑器如Emacs、Vim、UEStudio/UltraEdit、Sublime text等,没有语言编译功能,对于不想打开IDE的程序员来说是非常痛苦的。尤其是当你需要切换到不同的语言进行开发时,非常不方便。你不能在这里打开一个 VS 而在那里打开一个 Eclipse。所以我自己折腾了下,通过配置可以直接在UEStudio或者UltraEdit中编写C/C++/C#/JAVA等代码编译运行输出结果。
  
  1 实现思路
  实现在UEStudio或UltraEdit中直接编译执行的功能... 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(新浪云存储SCS插件和新浪微博同步插件维护行动)
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想把 TP 的所有开源插件都集成到 GitHub 上进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果你把它放在 typecho-fans 上进行维护,它将用于用户和开发。这对人来说非常方便。但是当时不知道如何将GitHub上维护的三个插件库作为子目录/库同步到typecho-fans的插件库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  今年 1 月中旬,BZ 在 GitHub 上收到了 Typecho 社区组织 typecho-fans 成员的邀请。原来是想整合TP的所有开源插件进行维护。之前BLOG在使用Typecho的时候写了三个插件:新浪云存储SCS插件、从WordPress移植过来的音乐播放器插件、新浪微博同步插件。如果把它放在 typecho-fans 上进行维护,对于用户和开发人员来说都会非常方便。 .但是当时我不知道怎么把放在GitHub上维护的三个插件仓库作为子目录/仓库同步到typecho-fans的插件仓库,所以没有动作。
  
  这几天在社区GitHub上的README文件中发现有推荐使用subtree的方式添加作者之前的插件repo(submodule方式可以链接到原repo ,但是也会给下载和维护带来一些麻烦...
  非IDE文本编辑器如Emacs、Vim、UEStudio/UltraEdit、Sublime text等,没有语言编译功能,对于不想打开IDE的程序员来说是非常痛苦的。尤其是当你需要切换到不同的语言进行开发时,非常不方便。你不能在这里打开一个 VS 而在那里打开一个 Eclipse。所以我自己折腾了下,通过配置可以直接在UEStudio或者UltraEdit中编写C/C++/C#/JAVA等代码编译运行输出结果。
  
  1 实现思路
  实现在UEStudio或UltraEdit中直接编译执行的功能...

使用新浪微博开放平台api同步微博内容至自己网站(轻量无忧计划LighthouseCare,无忧实例终身享有与新购同价的续费优惠)

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

  使用新浪微博开放平台api同步微博内容至自己网站(轻量无忧计划LighthouseCare,无忧实例终身享有与新购同价的续费优惠)
  前言
  5月,腾讯云推出轻量无忧计划灯塔关怀。无忧实例享受与新购同价的终身续费优惠,无需担心新购便宜、续费贵。终身续费优惠可与部分代金券共享,优惠更省心。 618期间,腾讯云也开展了很多活动。爆发式尖峰中的轻量级应用服务器也相对昂贵。仍然有很多大玩家购买了轻量级服务器,有的甚至买了好几台。小伙伴们哈哈哈,今天小君继续为大家带来腾讯云轻量级应用服务器玩法。每个人通常都需要一个同步盘,同步盘一般是需要付费的,但是我们可以自己搭建一个私人的同步盘。现在就开始吧!
  准备工作
  腾讯云轻量级应用服务器一台(香港或国内存储包最好
  为什么要使用腾讯云轻量级应用服务器?当我们在腾讯云训练应用服务器上重装系统时,我们可以选择应用镜像,然后选择“Docker”,然后我们就可以使用“Docker”部署来构建我们需要的程序!
  腾讯云轻量级应用服务器在此期间有活动。可以关注一下。
  腾讯云轻量级应用服务器购买地址:
  腾讯云轻量无忧项目灯塔关怀:
  2021年腾讯云618上云:
  同步介绍
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  同步官网
  
  界面演示
  
  注意
  本文软件基于腾讯云轻量级应用服务器安装使用。本教程使用的腾讯云轻量级应用服务器系统为Docker CE 19.03.9!理论上,腾讯云轻量级应用服务器为Docker CE 19.03.9。服务器操作应该和本文基本一致(包括流程和报错,其他服务器应该和本文类似!
  安装Syncthing1.并拉取Syncthing镜像
  docker pull syncthing/syncthing
  
  2. 创建一个新容器并运行 Syncthing
  docker run -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  启动成功后,在浏览器中输入,显示如下页面,设置成功!然后进入SSH关闭Dorker操作(Ctrl+C)
  
  Ps:可以自定义主机名,也可以根据需要自定义端口。
  3. 设置 Syncthing 在后台运行
  docker run -d --restart=always -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  此时,我们已经安装了 Syncthing。
  浏览器访问ip:8384即可访问!进入设置账号密码(可选设置),即可享用Syncthing私人同步盘,实现文件同步! Syncthing 支持中文! ! !
  Ps:需要在腾讯云轻量级应用服务器后台防火墙打开相应端口! , 8384 tcp和22000 tcp&udp需要默认开启。
  我的博客即将同步到腾讯云+社区,诚邀大家加入:
  喜欢4 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站(轻量无忧计划LighthouseCare,无忧实例终身享有与新购同价的续费优惠)
  前言
  5月,腾讯云推出轻量无忧计划灯塔关怀。无忧实例享受与新购同价的终身续费优惠,无需担心新购便宜、续费贵。终身续费优惠可与部分代金券共享,优惠更省心。 618期间,腾讯云也开展了很多活动。爆发式尖峰中的轻量级应用服务器也相对昂贵。仍然有很多大玩家购买了轻量级服务器,有的甚至买了好几台。小伙伴们哈哈哈,今天小君继续为大家带来腾讯云轻量级应用服务器玩法。每个人通常都需要一个同步盘,同步盘一般是需要付费的,但是我们可以自己搭建一个私人的同步盘。现在就开始吧!
  准备工作
  腾讯云轻量级应用服务器一台(香港或国内存储包最好
  为什么要使用腾讯云轻量级应用服务器?当我们在腾讯云训练应用服务器上重装系统时,我们可以选择应用镜像,然后选择“Docker”,然后我们就可以使用“Docker”部署来构建我们需要的程序!
  腾讯云轻量级应用服务器在此期间有活动。可以关注一下。
  腾讯云轻量级应用服务器购买地址:
  腾讯云轻量无忧项目灯塔关怀:
  2021年腾讯云618上云:
  同步介绍
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  Syncthing 是一个连续的文件同步程序。它在两台或多台计算机之间同步文件。
  同步官网
  
  界面演示
  
  注意
  本文软件基于腾讯云轻量级应用服务器安装使用。本教程使用的腾讯云轻量级应用服务器系统为Docker CE 19.03.9!理论上,腾讯云轻量级应用服务器为Docker CE 19.03.9。服务器操作应该和本文基本一致(包括流程和报错,其他服务器应该和本文类似!
  安装Syncthing1.并拉取Syncthing镜像
  docker pull syncthing/syncthing
  
  2. 创建一个新容器并运行 Syncthing
  docker run -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  启动成功后,在浏览器中输入,显示如下页面,设置成功!然后进入SSH关闭Dorker操作(Ctrl+C)
  
  Ps:可以自定义主机名,也可以根据需要自定义端口。
  3. 设置 Syncthing 在后台运行
  docker run -d --restart=always -p 8384:8384 -p 22000:22000/tcp -p 22000:22000/udp \
-v /wherever/st-sync:/var/syncthing \
--hostname=my-syncthing \
syncthing/syncthing:latest
  
  此时,我们已经安装了 Syncthing。
  浏览器访问ip:8384即可访问!进入设置账号密码(可选设置),即可享用Syncthing私人同步盘,实现文件同步! Syncthing 支持中文! ! !
  Ps:需要在腾讯云轻量级应用服务器后台防火墙打开相应端口! , 8384 tcp和22000 tcp&udp需要默认开启。
  我的博客即将同步到腾讯云+社区,诚邀大家加入:
  喜欢4

官方客服QQ群

微信人工客服

QQ人工客服


线