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

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

通过新浪微博API生成短链接,支持一次性转多个长链接

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

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

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

新浪微博中大批量爬取爬取新浪微博数据的思路及解决办法

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

  新浪微博中大批量爬取爬取新浪微博数据的思路及解决办法
  近期项目需要从新浪微博大量抓取新浪微博数据。当然,众所周知的方法是使用 API 来获取数据,但这有其局限性。只能搜索对应用户的home_timeline,不能按键。词量很大(几十万甚至几千万条数据),API有一个限制,就是每小时的请求数。当然,每个网站都有自己的保护措施。当检测到某个ip在短时间内发起大量请求时,会认为这个操作有问题,需要填写验证码或者直接封ip。几天后可以再次解锁。这种机制是必要的,因为它可以防止恶意的连续请求导致服务器崩溃。其他的就不多说了,直接看核心代码:
  String termString[] = { "中国", "日本", "韩国", "美国", "俄国", "英美" };
String userAgent = "User-Agent";
String userAgentValue = "Mozilla/12.0 (compatible; MSIE 8.0; Windows NT)";
String contentType = "Content-Type";
String contentTypeValue = "application/x-www-form-urlencoded";
String pathString = "";
for (int i = 0; i < termString.length; i++) {
for (int j = 0; j < 50; j++) {//对每个term(搜索关键字),取50页的内容
pathString = "http://s.weibo.com/weibo/"
+ URLEncoder.encode(termString[i], "UTF-8") + "&page="
+ (j + 1);
try {
OutputStream os = null;
InputStreamReader isr = null;
URL url = new URL(pathString);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setConnectTimeout(60000);
httpConn.setReadTimeout(60000);
httpConn.setRequestProperty(userAgent, userAgentValue);
httpConn.setRequestProperty(contentType, contentTypeValue);
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
os = httpConn.getOutputStream();
os.flush();
isr = new InputStreamReader(httpConn.getInputStream());
StringBuffer content = new StringBuffer();
int c;
while ((c = isr.read()) != -1) {
content.append((char) c);
}
System.out.println(decodeUnicode(content.toString()));
} catch (Exception e) {
e.printStackTrace();
}
Random random = new Random();
int slpmillsecs = 40000 + random.nextInt(20000) + 1;
Thread.sleep(slpmillsecs);// 停40~60s
}
}
  一开始我用了10s左右的间隔,发现新浪还是可以检测到的。后来,我果断地改了。正常情况下,40s以下的间隔也是可以的,但是具体的最小值我没有测试。有兴趣的可以试试。
  PS:本文提出的爬取网页内容的方法仅供参考,以后再看。我估计了在这个采集数据上花费的时间。它与使用 API采集数据大致相同甚至更多。这里只是对采集新浪微博数据的一种思考方式。如果你不喜欢它,不要喷它。 . . 查看全部

  新浪微博中大批量爬取爬取新浪微博数据的思路及解决办法
  近期项目需要从新浪微博大量抓取新浪微博数据。当然,众所周知的方法是使用 API 来获取数据,但这有其局限性。只能搜索对应用户的home_timeline,不能按键。词量很大(几十万甚至几千万条数据),API有一个限制,就是每小时的请求数。当然,每个网站都有自己的保护措施。当检测到某个ip在短时间内发起大量请求时,会认为这个操作有问题,需要填写验证码或者直接封ip。几天后可以再次解锁。这种机制是必要的,因为它可以防止恶意的连续请求导致服务器崩溃。其他的就不多说了,直接看核心代码:
  String termString[] = { "中国", "日本", "韩国", "美国", "俄国", "英美" };
String userAgent = "User-Agent";
String userAgentValue = "Mozilla/12.0 (compatible; MSIE 8.0; Windows NT)";
String contentType = "Content-Type";
String contentTypeValue = "application/x-www-form-urlencoded";
String pathString = "";
for (int i = 0; i < termString.length; i++) {
for (int j = 0; j < 50; j++) {//对每个term(搜索关键字),取50页的内容
pathString = "http://s.weibo.com/weibo/"
+ URLEncoder.encode(termString[i], "UTF-8") + "&page="
+ (j + 1);
try {
OutputStream os = null;
InputStreamReader isr = null;
URL url = new URL(pathString);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setConnectTimeout(60000);
httpConn.setReadTimeout(60000);
httpConn.setRequestProperty(userAgent, userAgentValue);
httpConn.setRequestProperty(contentType, contentTypeValue);
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
os = httpConn.getOutputStream();
os.flush();
isr = new InputStreamReader(httpConn.getInputStream());
StringBuffer content = new StringBuffer();
int c;
while ((c = isr.read()) != -1) {
content.append((char) c);
}
System.out.println(decodeUnicode(content.toString()));
} catch (Exception e) {
e.printStackTrace();
}
Random random = new Random();
int slpmillsecs = 40000 + random.nextInt(20000) + 1;
Thread.sleep(slpmillsecs);// 停40~60s
}
}
  一开始我用了10s左右的间隔,发现新浪还是可以检测到的。后来,我果断地改了。正常情况下,40s以下的间隔也是可以的,但是具体的最小值我没有测试。有兴趣的可以试试。
  PS:本文提出的爬取网页内容的方法仅供参考,以后再看。我估计了在这个采集数据上花费的时间。它与使用 API采集数据大致相同甚至更多。这里只是对采集新浪微博数据的一种思考方式。如果你不喜欢它,不要喷它。 . .

新浪应用开发:使用新浪微博API发一条微博使用

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

  新浪应用开发:使用新浪微博API发一条微博使用
  新浪应用开发:使用新浪微博API发送微博
  使用新浪微博API发送微博第一步:先下载安装JAVA环境,然后下载myecplise10。第二步:在新浪微博API网页上找到并下载JAVA的SDK。第三步:申请成为开发者,获得新应用的APP_KEY。第四步:按照说明进行配置:在Config.properties中client_ID:appkey created appkey创建应用获取client_SERCRET:app_secret创建appsecret创建应用获取回调地址):报错如下:发生第三方访问错误!您在新浪微博上访问的网站认证失败。请联系开发者助理或稍后重试。 (error:invalid_request) Q:这个回调地址需要单独的域名和空格吗?答:不需要独立的域名和空间。可以在本地使用,但必须配置Internet信息服务。第六步:运行OAuth4Code.java获取code,输入code获取access token。第七步:写代码发微博。代码如下:
  立即下载 查看全部

  新浪应用开发:使用新浪微博API发一条微博使用
  新浪应用开发:使用新浪微博API发送微博
  使用新浪微博API发送微博第一步:先下载安装JAVA环境,然后下载myecplise10。第二步:在新浪微博API网页上找到并下载JAVA的SDK。第三步:申请成为开发者,获得新应用的APP_KEY。第四步:按照说明进行配置:在Config.properties中client_ID:appkey created appkey创建应用获取client_SERCRET:app_secret创建appsecret创建应用获取回调地址):报错如下:发生第三方访问错误!您在新浪微博上访问的网站认证失败。请联系开发者助理或稍后重试。 (error:invalid_request) Q:这个回调地址需要单独的域名和空格吗?答:不需要独立的域名和空间。可以在本地使用,但必须配置Internet信息服务。第六步:运行OAuth4Code.java获取code,输入code获取access token。第七步:写代码发微博。代码如下:
  立即下载

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

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

  使用新浪微博开放平台api同步微博内容至自己网站和公众号
  使用新浪微博开放平台api同步微博内容至自己网站和公众号很简单的。准备工作:新浪微博开放平台接口服务()微博开放平台测试账号(用户名,手机号等)就可以开始配置微博接口了,配置数据有500条数据量,自己把自己的网站连接到开放平台的apiserver就可以直接使用开放平台提供的api接口对外发送消息了。
  需要注意微博开放平台api的第二步使用内容中心时,有个异步编辑,选择必要的参数就可以了,后面不再重复。配置方法参考微博开放平台配置文档:-project.xml#maily配置内容是订阅邮箱和使用ip过滤规则。之后关注发消息的账号就可以直接发送消息了。至于其他国内国外的应用,可以通过跨站请求和跨站参数进行动态生成来实现。
  再具体说下:在新浪体系中有两种技术方案可以利用api进行技术对接,简单说就是oauth2和api2。oauth2相对api2安全,主要体现在可以证明你授权的依据是access_token,就像下面的证书一样:只要访问你网站的用户必须先输入证书才能获取access_token,接受和使用的都是你的access_token。
  按照你的说的一个人需要三次证书,每次证书只要两个字符,那么每次请求的接受者要先输入两个字符,这个就是oauth2证书,一个二个要输入0~9,自然也可以为四字符,都要同一个ip。这样就可以使你开放api时发送给你的url是:,其他的不多说了,写这些就是给你打个预防针,免得让你联想到某些老外的糗事。api2在对接时无法用oauth2证书发送数据,需要在后台做依赖验证,包括要有redis,mongodb,这些实现。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站和公众号
  使用新浪微博开放平台api同步微博内容至自己网站和公众号很简单的。准备工作:新浪微博开放平台接口服务()微博开放平台测试账号(用户名,手机号等)就可以开始配置微博接口了,配置数据有500条数据量,自己把自己的网站连接到开放平台的apiserver就可以直接使用开放平台提供的api接口对外发送消息了。
  需要注意微博开放平台api的第二步使用内容中心时,有个异步编辑,选择必要的参数就可以了,后面不再重复。配置方法参考微博开放平台配置文档:-project.xml#maily配置内容是订阅邮箱和使用ip过滤规则。之后关注发消息的账号就可以直接发送消息了。至于其他国内国外的应用,可以通过跨站请求和跨站参数进行动态生成来实现。
  再具体说下:在新浪体系中有两种技术方案可以利用api进行技术对接,简单说就是oauth2和api2。oauth2相对api2安全,主要体现在可以证明你授权的依据是access_token,就像下面的证书一样:只要访问你网站的用户必须先输入证书才能获取access_token,接受和使用的都是你的access_token。
  按照你的说的一个人需要三次证书,每次证书只要两个字符,那么每次请求的接受者要先输入两个字符,这个就是oauth2证书,一个二个要输入0~9,自然也可以为四字符,都要同一个ip。这样就可以使你开放api时发送给你的url是:,其他的不多说了,写这些就是给你打个预防针,免得让你联想到某些老外的糗事。api2在对接时无法用oauth2证书发送数据,需要在后台做依赖验证,包括要有redis,mongodb,这些实现。

基于OAuth2.0协议的通用参数含义(2)_

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

  基于OAuth2.0协议的通用参数含义(2)_
  这一步的作用:
  获取Access Token和OpenID后,可以通过调用OpenAPI获取或修改用户的个人信息。
  这一步在整个过程中的位置:
  
  内容
  上一步
  获取用户 OpenID_OAuth2.0
  1. 先决条件说明
  1. appid 已激活使用 OpenAPI 的权限。
  从API列表中的接口列表可以看出,有些接口是完全开放的,有些接口需要提前提交才能获得访问权限。
  2. 要访问的资源被授权用户访问。
  网站调用OpenAPI读写某个openid(用户)的信息时,用户必须已经为OpenAPI授权了你的appid(比如用户设置了相册不公开,然后网站无法读取照片信息)。
  用户可以进入QQ空间->设置->授权管理设置访问权限。
  3.已成功获取Access Token,且Access Token在有效期内。
  2.调用OpenAPI接口
  QQ登录提供用户信息/动态同步/日志/相册/微博等OpenAPI(详见API列表),网站需要将请求发送到特定的OpenAPI接口来访问或修改用户数据。
  调用所有OpenAPI时,除了各个接口的私有参数外,所有OpenAPI都需要传入基于OAuth2.0协议的通用参数:
  参数含义
  访问令牌
  可以通过Authorization_Code获取Access_Token或者获取。
  access_token 的有效期为 3 个月。
  oauth_consumer_key
  申请QQ登录成功后,分配给应用的appid
  openid
  用户ID与QQ号一一对应。
  可以通过调用获得。
  3. 例子
  1.以get_user_info接口为例:
  (请将access_token、appid等参数值替换为自己的)
  2.返回成功后,即可获取用户数据:
  {
   "ret":0,
"msg":"",
"nickname":"YOUR_NICK_NAME",
...
  }
  4. 下一步就是获取用户的Access Token和OpenID,然后调用OpenAPI获取用户信息,进行更多的分享、发微博或日志、上传图片等操作。
  以上信息是否解决了您的问题?
  为了让我们更有效地优化数据库并有针对性地改进我们的服务,我们需要您的进一步反馈信息:
  提交成功!
  非常感谢您的反馈,我们会继续努力做得更好!
  提交成功!
  感谢您的批评和建议。我们会专门对其进行优化,以便为您提供更好的服务。
  开放平台与您一起成长!
  取自“%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E_OAuth2.0” 查看全部

  基于OAuth2.0协议的通用参数含义(2)_
  这一步的作用:
  获取Access Token和OpenID后,可以通过调用OpenAPI获取或修改用户的个人信息。
  这一步在整个过程中的位置:
  
  内容
  上一步
  获取用户 OpenID_OAuth2.0
  1. 先决条件说明
  1. appid 已激活使用 OpenAPI 的权限。
  从API列表中的接口列表可以看出,有些接口是完全开放的,有些接口需要提前提交才能获得访问权限。
  2. 要访问的资源被授权用户访问。
  网站调用OpenAPI读写某个openid(用户)的信息时,用户必须已经为OpenAPI授权了你的appid(比如用户设置了相册不公开,然后网站无法读取照片信息)。
  用户可以进入QQ空间->设置->授权管理设置访问权限。
  3.已成功获取Access Token,且Access Token在有效期内。
  2.调用OpenAPI接口
  QQ登录提供用户信息/动态同步/日志/相册/微博等OpenAPI(详见API列表),网站需要将请求发送到特定的OpenAPI接口来访问或修改用户数据。
  调用所有OpenAPI时,除了各个接口的私有参数外,所有OpenAPI都需要传入基于OAuth2.0协议的通用参数:
  参数含义
  访问令牌
  可以通过Authorization_Code获取Access_Token或者获取。
  access_token 的有效期为 3 个月。
  oauth_consumer_key
  申请QQ登录成功后,分配给应用的appid
  openid
  用户ID与QQ号一一对应。
  可以通过调用获得。
  3. 例子
  1.以get_user_info接口为例:
  (请将access_token、appid等参数值替换为自己的)
  2.返回成功后,即可获取用户数据:
  {
   "ret":0,
"msg":"",
"nickname":"YOUR_NICK_NAME",
...
  }
  4. 下一步就是获取用户的Access Token和OpenID,然后调用OpenAPI获取用户信息,进行更多的分享、发微博或日志、上传图片等操作。
  以上信息是否解决了您的问题?
  为了让我们更有效地优化数据库并有针对性地改进我们的服务,我们需要您的进一步反馈信息:
  提交成功!
  非常感谢您的反馈,我们会继续努力做得更好!
  提交成功!
  感谢您的批评和建议。我们会专门对其进行优化,以便为您提供更好的服务。
  开放平台与您一起成长!
  取自“%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E_OAuth2.0”

注册新浪weibo允许第三方以应用的方式发布微博的小玩意

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

  注册新浪weibo允许第三方以应用的方式发布微博的小玩意
  前言
  学python的想法是前不久萌生的,所以为了练手做了这样一个微博小工具。
  注册
  新浪微博允许第三方以应用的形式发布微博,所以我们首先需要通过新浪微博开放平台注册一个应用:
  
  weibo_open
  打开上述平台的页面,用微博账号登录,然后点击立即访问,开始注册自己的应用,按照提示操作即可。以下是我自己创建的应用程序,名为:
  
  应用
  在个人应用的应用信息-基本信息-应用基本信息中找到你的App Key和App Secret。并在高级信息中设置自己的授权回调页面(所谓授权回调页面是指个人应用通过微博账号授权后的跳转页面,设置没有问题,这里我设置为个人微博主页)。
  获取代码的授权
  看了新浪的SDK,很多人可能会选择对应的python SDK。实际上,这是没有必要的。界面变得更加复杂。我们在这里不使用他的界面。
  一般来说,通过微博界面发送微博的第三方应用需要用户授权。我想你以前做过这个,那么哪个授权页面是?
  def get_auth_url(client_id, redirect_uri):
return '%s%s?%s' % ('https://api.weibo.com/oauth2/', 'authorize',
_encode_params(client_id=client_id,
response_type='code',
redirect_uri=redirect_uri))
  client_id是你的app_key,redirect_uri是上一步填写的授权回调页面地址,将生成的链接复制到浏览器打开,输入自己的微博账号进行授权。
  
  授权
  授权成功后,浏览器会跳转到我们设置的授权回调页面。在浏览器地址栏找到code栏,就会有授权码了。
  获取令牌
  接下来,我们需要通过代码获取token。这个token是我们在微博上发帖的凭证:
  def get_access_token(app_key, app_secret, redirect_url):
#通过url_auth输入weibo账号进行登录
#从登录成功后的回调url获得code
url_auth = get_auth_url(app_key, redirect_url)
print('[get_access_token]' + url_auth)
code = input('Input code:')
url_get_token = "https://api.weibo.com/oauth2/access_token"
payload = {
"client_id":app_key,
"client_secret":app_secret,
"grant_type":"authorization_code",
"code":code,
"redirect_uri":redirect_url
}

#获取access_token
res = requests.post(url_get_token, data=payload)
resj = json.loads(res.text)
return resj['access_token']
  令牌只需要获得一次,令牌可以一直重复使用。有效期好像是5年
  安全的微博域名
  新浪微博要求通过应用界面发送的每条微博内容都必须收录一个安全域名字段。您需要在应用信息-基本信息-应用基本信息中配置安全域名。我设置了
  调用接口
  这里的安全域名还是用自己的微博首页,只需要包括:
  def share_weibo(text, img):
access_token = '你的token'
#安全域名,sina限制文本内容必须有此字段
safe_domain = 'https://weibo.com/5296864682/profile?topnav=1&wvr=6'
url_share = 'https://api.weibo.com/2/statuses/share.json'

payload = {
'access_token':access_token,
'status':text + ' ' + safe_domain
}
if img :
files = {
"pic":img
}
res = requests.post(url_share, data = payload, files = files)
else :
res = requests.post(url_share, data = payload)
return res
  测试
  编写测试代码:
  if __name__ == '__main__':
f = open(r"./share.jpeg", "rb")
text = input('Input text:')
res = share_weibo(text, f)
f.close()
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:hello sky
  成功发布图片微博:
  
  你好天空
  如果你想发布视频,很遗憾,新浪没有提供相应的界面。我们只能通过在文本中收录指向现有视频的链接来实现类似的效果。例如,要发布此视频:
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:http://t.cn/Ail9eamb%3Fm%3D439 ... 64682
  成功发送视频微博:
  
  视频
  你可以在我的微博上看到刚刚发送的视频。
  结论
  还有一些接口如注释,可以自己测试,在接口管理中可以看到相应的介绍。
  附上源码: 查看全部

  注册新浪weibo允许第三方以应用的方式发布微博的小玩意
  前言
  学python的想法是前不久萌生的,所以为了练手做了这样一个微博小工具。
  注册
  新浪微博允许第三方以应用的形式发布微博,所以我们首先需要通过新浪微博开放平台注册一个应用:
  
  weibo_open
  打开上述平台的页面,用微博账号登录,然后点击立即访问,开始注册自己的应用,按照提示操作即可。以下是我自己创建的应用程序,名为:
  
  应用
  在个人应用的应用信息-基本信息-应用基本信息中找到你的App Key和App Secret。并在高级信息中设置自己的授权回调页面(所谓授权回调页面是指个人应用通过微博账号授权后的跳转页面,设置没有问题,这里我设置为个人微博主页)。
  获取代码的授权
  看了新浪的SDK,很多人可能会选择对应的python SDK。实际上,这是没有必要的。界面变得更加复杂。我们在这里不使用他的界面。
  一般来说,通过微博界面发送微博的第三方应用需要用户授权。我想你以前做过这个,那么哪个授权页面是?
  def get_auth_url(client_id, redirect_uri):
return '%s%s?%s' % ('https://api.weibo.com/oauth2/', 'authorize',
_encode_params(client_id=client_id,
response_type='code',
redirect_uri=redirect_uri))
  client_id是你的app_key,redirect_uri是上一步填写的授权回调页面地址,将生成的链接复制到浏览器打开,输入自己的微博账号进行授权。
  
  授权
  授权成功后,浏览器会跳转到我们设置的授权回调页面。在浏览器地址栏找到code栏,就会有授权码了。
  获取令牌
  接下来,我们需要通过代码获取token。这个token是我们在微博上发帖的凭证:
  def get_access_token(app_key, app_secret, redirect_url):
#通过url_auth输入weibo账号进行登录
#从登录成功后的回调url获得code
url_auth = get_auth_url(app_key, redirect_url)
print('[get_access_token]' + url_auth)
code = input('Input code:')
url_get_token = "https://api.weibo.com/oauth2/access_token"
payload = {
"client_id":app_key,
"client_secret":app_secret,
"grant_type":"authorization_code",
"code":code,
"redirect_uri":redirect_url
}

#获取access_token
res = requests.post(url_get_token, data=payload)
resj = json.loads(res.text)
return resj['access_token']
  令牌只需要获得一次,令牌可以一直重复使用。有效期好像是5年
  安全的微博域名
  新浪微博要求通过应用界面发送的每条微博内容都必须收录一个安全域名字段。您需要在应用信息-基本信息-应用基本信息中配置安全域名。我设置了
  调用接口
  这里的安全域名还是用自己的微博首页,只需要包括:
  def share_weibo(text, img):
access_token = '你的token'
#安全域名,sina限制文本内容必须有此字段
safe_domain = 'https://weibo.com/5296864682/profile?topnav=1&wvr=6'
url_share = 'https://api.weibo.com/2/statuses/share.json'

payload = {
'access_token':access_token,
'status':text + ' ' + safe_domain
}
if img :
files = {
"pic":img
}
res = requests.post(url_share, data = payload, files = files)
else :
res = requests.post(url_share, data = payload)
return res
  测试
  编写测试代码:
  if __name__ == '__main__':
f = open(r"./share.jpeg", "rb")
text = input('Input text:')
res = share_weibo(text, f)
f.close()
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:hello sky
  成功发布图片微博:
  
  你好天空
  如果你想发布视频,很遗憾,新浪没有提供相应的界面。我们只能通过在文本中收录指向现有视频的链接来实现类似的效果。例如,要发布此视频:
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:http://t.cn/Ail9eamb%3Fm%3D439 ... 64682
  成功发送视频微博:
  
  视频
  你可以在我的微博上看到刚刚发送的视频。
  结论
  还有一些接口如注释,可以自己测试,在接口管理中可以看到相应的介绍。
  附上源码:

网站应用概述接入介绍(图)网站建设接入方式

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

  网站应用概述接入介绍(图)网站建设接入方式
  网站应用访问概览
  网站应用接入介绍
  QQ互联网开放平台为第三方网站提供了丰富的API。第三方网站接入QQ互联网开放平台后,可通过平台提供的API使用QQ账号登录网站功能,获取腾讯QQ用户的相关信息。
  第三方网站也可以调用腾讯提供的API实现网站的分享、评论、邀请等功能,即网站的社交功能。此外,可以将相关信息同步到QQ空间、腾讯好友、腾讯微博等平台,建立网站与腾讯平台的互动关系,利用庞大的QQ用户群,实现快速网站的传播。
  网站 进入QQ互联网开放平台后,您将获得:
  大量新用户:用户可以使用现有QQ号登录网站。 QQ一键登录可以减少登录交互操作,大大降低网站注册门槛,为网站带来大量新用户。
  活跃访问:登录用户可以将网站上发布和分享的信息即时同步到QQ空间,让网站的内容通过QQ好友关系链进一步传播,从而提高网站的浏览量。
  丰富的开放API:网站可以通过用户资料界面获取用户的空间昵称和头像,丰富用户注册信息。此外,您还可以通过相册、日志等开放接口,让用户在网站上直接访问或修改自己在QQ空间、腾讯好友、腾讯微博上的数据,从而实现与腾讯平台的进一步互联。 .
  网站应用访问方式
  第三方网站主要通过“QQ登录”访问QQ互联网开放平台。
  “QQ登录”是QQ互联网开放平台向第三方网站提供的服务。
  “QQ登录”允许用户使用QQ账号登录第三方网站,分享内容,同步信息,大大降低了用户注册门槛。
  同时,第三方网站根据用户提供的绑定信息,将用户在网站上发布的内容同步发布到QQ空间的个人动态,以利用QQ空间庞大的用户群使网站的信息可以通过朋友关系进一步传播,可以增加网站的访问量和用户数。
  使用QQ登录效果展示
  下面介绍网站使用“QQ登录”访问和修改QQ用户个人信息的全过程。
  注意:
  这里的描述只是为了向网站developers 简单演示一下访问“QQ登录”需要做什么以及它的效果如何。
  3.1 网站设置QQ登录入口
  网站开发者可以在网站首页入口和主要登录和注册页面放置“QQ登录”标志(见红框标记)
  3.2 用户选择使用QQ账号登录
  用户点击按钮后,会弹出一个QQ登录窗口。登录窗口会显示网站自己的Logo、网站名称和首页链接地址。
  如下图:
  
  如果用户已经登录QQ软件,则无需重新输入账号和密码。可以一键快速登录,可以选择授权网站访问自己的相关信息:
  如下图:
  
  3.3 用户绑定账号
  如果用户已经在网站注册过,网站可以引导用户绑定账号。下次用QQ账号登录时,可以同时看到两个账号的所有信息。
  强烈建议网站允许跳过这一步,允许用户在登录成功后在网站设置中选择性绑定,以降低用户登录门槛,提升体验。如下图所示:
  
  3.4 用户成功登录网站
  用户被授权登录网站成功后,网站将显示用户的登录昵称和QQ头像。
  建议网站通过QQ账号在首页或顶部显示用户登录状态,使用户体验一致,包括用户昵称和QQ头像,如下图:
  
  我们为开发者提供了各种网站访问OpenAPI的权限,网站可以调用这些API来实现需要的功能,以便登录用户可以访问和修改QQ用户对网站信息的保护个人. 查看全部

  网站应用概述接入介绍(图)网站建设接入方式
  网站应用访问概览
  网站应用接入介绍
  QQ互联网开放平台为第三方网站提供了丰富的API。第三方网站接入QQ互联网开放平台后,可通过平台提供的API使用QQ账号登录网站功能,获取腾讯QQ用户的相关信息。
  第三方网站也可以调用腾讯提供的API实现网站的分享、评论、邀请等功能,即网站的社交功能。此外,可以将相关信息同步到QQ空间、腾讯好友、腾讯微博等平台,建立网站与腾讯平台的互动关系,利用庞大的QQ用户群,实现快速网站的传播。
  网站 进入QQ互联网开放平台后,您将获得:
  大量新用户:用户可以使用现有QQ号登录网站。 QQ一键登录可以减少登录交互操作,大大降低网站注册门槛,为网站带来大量新用户。
  活跃访问:登录用户可以将网站上发布和分享的信息即时同步到QQ空间,让网站的内容通过QQ好友关系链进一步传播,从而提高网站的浏览量。
  丰富的开放API:网站可以通过用户资料界面获取用户的空间昵称和头像,丰富用户注册信息。此外,您还可以通过相册、日志等开放接口,让用户在网站上直接访问或修改自己在QQ空间、腾讯好友、腾讯微博上的数据,从而实现与腾讯平台的进一步互联。 .
  网站应用访问方式
  第三方网站主要通过“QQ登录”访问QQ互联网开放平台。
  “QQ登录”是QQ互联网开放平台向第三方网站提供的服务。
  “QQ登录”允许用户使用QQ账号登录第三方网站,分享内容,同步信息,大大降低了用户注册门槛。
  同时,第三方网站根据用户提供的绑定信息,将用户在网站上发布的内容同步发布到QQ空间的个人动态,以利用QQ空间庞大的用户群使网站的信息可以通过朋友关系进一步传播,可以增加网站的访问量和用户数。
  使用QQ登录效果展示
  下面介绍网站使用“QQ登录”访问和修改QQ用户个人信息的全过程。
  注意:
  这里的描述只是为了向网站developers 简单演示一下访问“QQ登录”需要做什么以及它的效果如何。
  3.1 网站设置QQ登录入口
  网站开发者可以在网站首页入口和主要登录和注册页面放置“QQ登录”标志(见红框标记)
  3.2 用户选择使用QQ账号登录
  用户点击按钮后,会弹出一个QQ登录窗口。登录窗口会显示网站自己的Logo、网站名称和首页链接地址。
  如下图:
  
  如果用户已经登录QQ软件,则无需重新输入账号和密码。可以一键快速登录,可以选择授权网站访问自己的相关信息:
  如下图:
  
  3.3 用户绑定账号
  如果用户已经在网站注册过,网站可以引导用户绑定账号。下次用QQ账号登录时,可以同时看到两个账号的所有信息。
  强烈建议网站允许跳过这一步,允许用户在登录成功后在网站设置中选择性绑定,以降低用户登录门槛,提升体验。如下图所示:
  
  3.4 用户成功登录网站
  用户被授权登录网站成功后,网站将显示用户的登录昵称和QQ头像。
  建议网站通过QQ账号在首页或顶部显示用户登录状态,使用户体验一致,包括用户昵称和QQ头像,如下图:
  
  我们为开发者提供了各种网站访问OpenAPI的权限,网站可以调用这些API来实现需要的功能,以便登录用户可以访问和修改QQ用户对网站信息的保护个人.

新浪微博的评论模式更为友好(图)

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

  新浪微博的评论模式更为友好(图)
  您可以直接在其他人的帖子下发表评论。
  勾选“同时发一条微博”,可以在自己的微博上发表评论,并直观呈现类似Facebook的评论模式; Twitter 评论直接发布在您自己的微博上,但不要关注对方的时间线。
  相比之下,新浪微博的评论模式更加友好。
  新浪微博。
  推特界面。
  转发模式。
  新浪微博转发方式可配置140字,转发后会发布在自己的微博上。
  如果转发的支票是“在关注某人时作为评论发布”,它也可以作为评论发布给对方。
  消息中,推特目前正在添加转发功能(RT/Retweet)。
  官方RT不能自带内容,但可以转发统计。
  非官方 RT 可以携带内容,但包括原文在内不能超过 140 字,不计算在内。
  相比之下,新浪微博的转发内容越来越灵活。
  好友列表。
  新浪微博没有好友列表功能,无法对好友进行分类管理; Twitter拥有强大的列表功能,不仅可以对你的朋友进行分类,还可以对任何用户进行分类。分类列表也可以单独订阅。
  建立并加强合作伙伴关系。
  新浪微博与新浪用户系统集成,但不与其他网站集成; Twitter可与FriendFeed、Facebook、LinkedIn等系统集成,实现双向全互联。
  开放性。
  新浪微博目前是一个完全封闭的微博网站,不支持API、RSS、电脑客户端和移动端。
  简而言之,几乎什么都不支持; Twitter 几乎是一个完全开放的微博服务。
  除了注册,几乎所有功能都提供API支持。
  支持RSS的客户端软件有很多。
  许多用户使用非官方客户端更新 Twitter。
  用户可以深刻认识到,Twitter 不是网站,而是一种服务。
  审核机制。
  新浪微博有审查机制。用户发布的信息将被监控并删除“有害信息”。
  这也是新浪利用互联网先锋的教训。
  过去,国内有很多微博平台,但都因为无法解决信息发布的监控问题而被迫关闭; Twitter 通常不会审查用户信息,但会删除传播广告的用户。
  总之,新浪微博还是一个相对封闭的微博网站,但是用户的信息交互设计有很多特点。
  虽然人工审核会吓跑部分推特用户,但新浪强大的运营团队仍有可能将其发展成为国内微博龙头。 查看全部

  新浪微博的评论模式更为友好(图)
  您可以直接在其他人的帖子下发表评论。
  勾选“同时发一条微博”,可以在自己的微博上发表评论,并直观呈现类似Facebook的评论模式; Twitter 评论直接发布在您自己的微博上,但不要关注对方的时间线。
  相比之下,新浪微博的评论模式更加友好。
  新浪微博。
  推特界面。
  转发模式。
  新浪微博转发方式可配置140字,转发后会发布在自己的微博上。
  如果转发的支票是“在关注某人时作为评论发布”,它也可以作为评论发布给对方。
  消息中,推特目前正在添加转发功能(RT/Retweet)。
  官方RT不能自带内容,但可以转发统计。
  非官方 RT 可以携带内容,但包括原文在内不能超过 140 字,不计算在内。
  相比之下,新浪微博的转发内容越来越灵活。
  好友列表。
  新浪微博没有好友列表功能,无法对好友进行分类管理; Twitter拥有强大的列表功能,不仅可以对你的朋友进行分类,还可以对任何用户进行分类。分类列表也可以单独订阅。
  建立并加强合作伙伴关系。
  新浪微博与新浪用户系统集成,但不与其他网站集成; Twitter可与FriendFeed、Facebook、LinkedIn等系统集成,实现双向全互联。
  开放性。
  新浪微博目前是一个完全封闭的微博网站,不支持API、RSS、电脑客户端和移动端。
  简而言之,几乎什么都不支持; Twitter 几乎是一个完全开放的微博服务。
  除了注册,几乎所有功能都提供API支持。
  支持RSS的客户端软件有很多。
  许多用户使用非官方客户端更新 Twitter。
  用户可以深刻认识到,Twitter 不是网站,而是一种服务。
  审核机制。
  新浪微博有审查机制。用户发布的信息将被监控并删除“有害信息”。
  这也是新浪利用互联网先锋的教训。
  过去,国内有很多微博平台,但都因为无法解决信息发布的监控问题而被迫关闭; Twitter 通常不会审查用户信息,但会删除传播广告的用户。
  总之,新浪微博还是一个相对封闭的微博网站,但是用户的信息交互设计有很多特点。
  虽然人工审核会吓跑部分推特用户,但新浪强大的运营团队仍有可能将其发展成为国内微博龙头。

新浪微博开放平台接口使用总结

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

  新浪微博开放平台接口使用总结
  注册微博帐号
  登录微博开放平台-》管理中心-》填写信息并进行身份验证
  批准后
  管理中心-》My网站-》添加网站(需要上线的域名)进行验证
  验证通过,得到KEY,即SDK中config.php配置文件的KEY
  本地调试:管理中心-》我的网站-》》网站名》(即你刚刚验证的网站,点击进入)-》网站控制台-》网站信息[高级信息, test account] = 详情请看下面的配置
  基本流程
  下载 SDK
  使用微博API开发时,一般都是在本地开发。网上查了一下,试了一下。很多方法都不成功。最后,它工作了很长时间,终于成功了。
  1)在开发平台的“管理中心”->“我的网站”,点击“添加网站”。 网站Name随便写,网站域名必须是注册域名。添加网站成功后,会得到“App Key”和“App Secret”这两个字符串。 (注:添加网站后,无需提交审核。)
  管理中心-“我的网站-”不在线网站-”点击“网站名”
  输入网站console
  网站信息
  2)“网站信息”->“高级信息”,在安全设置中填写网站的服务IP地址,即:127.0.0.1
  3)“网站信息”->“测试账号”。设置管理帐户。至此,管理中心就设置在这里了。
  4) 这一步是在本地hosts文件中将公网域名绑定到本地测试环境。说白了就是把你加网站的域名绑定到127.0.0.1,xp系统下的hosts文件在C:WINDOWSsystem32driversetc目录下。 (hosts一般都是隐藏文件)最后一行会加127.0.0.1。这样本地的HOSTS文件会直接指向域名对应的IP地址,不需要经过DNS解析。填写好后,在浏览器中访问,会发现是本地的。证明绑定成功。
  5) 最后一步是回调地址。域名部分和你绑定的域名一致,没问题 查看全部

  新浪微博开放平台接口使用总结
  注册微博帐号
  登录微博开放平台-》管理中心-》填写信息并进行身份验证
  批准后
  管理中心-》My网站-》添加网站(需要上线的域名)进行验证
  验证通过,得到KEY,即SDK中config.php配置文件的KEY
  本地调试:管理中心-》我的网站-》》网站名》(即你刚刚验证的网站,点击进入)-》网站控制台-》网站信息[高级信息, test account] = 详情请看下面的配置
  基本流程
  下载 SDK
  使用微博API开发时,一般都是在本地开发。网上查了一下,试了一下。很多方法都不成功。最后,它工作了很长时间,终于成功了。
  1)在开发平台的“管理中心”->“我的网站”,点击“添加网站”。 网站Name随便写,网站域名必须是注册域名。添加网站成功后,会得到“App Key”和“App Secret”这两个字符串。 (注:添加网站后,无需提交审核。)
  管理中心-“我的网站-”不在线网站-”点击“网站名”
  输入网站console
  网站信息
  2)“网站信息”->“高级信息”,在安全设置中填写网站的服务IP地址,即:127.0.0.1
  3)“网站信息”->“测试账号”。设置管理帐户。至此,管理中心就设置在这里了。
  4) 这一步是在本地hosts文件中将公网域名绑定到本地测试环境。说白了就是把你加网站的域名绑定到127.0.0.1,xp系统下的hosts文件在C:WINDOWSsystem32driversetc目录下。 (hosts一般都是隐藏文件)最后一行会加127.0.0.1。这样本地的HOSTS文件会直接指向域名对应的IP地址,不需要经过DNS解析。填写好后,在浏览器中访问,会发现是本地的。证明绑定成功。
  5) 最后一步是回调地址。域名部分和你绑定的域名一致,没问题

Twitter的优点将Twitter同步到其他微博客网站的功能

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

  
Twitter的优点将Twitter同步到其他微博客网站的功能
  
  从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。推特、新浪微博、地谷、9911等都非常火爆,很多人在各种微博平台注册。账号,但是这里有一个新问题,就是信息同步。
  每个人的使用习惯不同,各个微博圈的用户也不同。许多微博用户在每个平台上都有一些人关注。所以需要用一个同步程序来改变各个平台的信息统一处理,而这个处理中心,我觉得应该是推特。
  推特的优势
  之所以使用推特作为微博中心,是因为推特更新的方式很多,工具也很多。使用 TwitterFeed 或 FeedBurner,您还可以直接从 RSS Feed 更新 Twitter。 Twitter本身也是全球最大的微博平台。在可预见的未来,它不会消失。用户发布的信息通常不会丢失或删除。推特信息的备份导出方式有很多种,所以把信息放到推特上。相对安全、安全、稳定。
  将Twitter同步到其他微博的方法是使用GAE。 GAE是谷歌一个非常好的免费托管平台。它具有非常好的稳定性和强大的功能。它支持 Cron Job 来调度任务。因此,我们只需要在GAE上部署一个定时执行的定时任务,设置为每分钟抓取一次用户推特信息。抓拍成功后,直接将最新消息发布到新浪微博等平台,然后将推特信息实时同步到各个微博网站。 @函数。
  同步程序的优点
  这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
  在安全方面,那些第三方网站@会保存您的微博密码进行同步,这会给您的微博账号带来潜在的安全问题。再说了,你还有上千个粉丝的账号密码保存在那些同步网站@里,你放心吗?使用 GAE 的程序同步时,只有您知道密码。我们不应该担心 GAE 被黑客入侵。
  稳定性方面,我用了几个月的同步程序,几乎没有信息丢失。 GAE服务本身的性能也非常稳定,停机时间很少。
  在速度方面,这个同步程序可以在最短的时间内在1分钟内同步所有信息。很少有网站@可以提供这样的同步速度。
  在灵活性方面,我们可以自己修改代码,实现一些定制的特殊功能。例如,在这个程序中,我将收录@的信息定义为不同步。我们也可以自己修改程序来实现很多其他的功能。
  目前该同步程序支持推特同步到新浪微博、地谷、9911、商业、人见网、follow5以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。
  
  其他微博为主
  如果用户不打算基于推特,也可以用这个程序进行同步,先注册一个推特账号,然后找到用户主微博的RSS Feed地址,用TwitterFeed或者FeedBurner来同步这个feed 到 Twitter,然后使用这个程序执行后续的同步。如果新浪微博以后支持RSS Feed,可以使用此方法将新浪微博信息同步到其他微博。
  应用安装部署方法
  如何下​​载,使用TortoiseSVN查看SVN地址,然后编辑app.yaml改成你的appspot应用名,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改it from ret = send_sina_msgs("username","password",text),以用户名和密码开头,分别填写对应微博的用户名和密码。对于不需要同步的服务,请用#注释掉cron.yaml文件这里是定时任务设置,然后就可以按照本文的方法发布,执行appcfg.py更新目录名,使用 Gmail 帐号和密码,即可发布。
  发布后,GAE可以定期执行twitter.py程序。由于定时执行最小可以设置为1分钟,所以同步速度非常快,基本可以达到实时自动同步的效果。
  其他注意事项
  Follow5 需要使用 api_key 进行同步。目前,我的 api_key 存储在程序中。建议使用follow5的用户单独申请一个api_key,防止我的api_key爆炸。人见网需要邀请码才能注册和使用。点击此处获取邀请链接。 Ping.fm 和 Hellotxt 使用密钥进行身份验证。具体操作方法请参考这里。
  
  () () 查看全部

  
Twitter的优点将Twitter同步到其他微博客网站的功能
  
  从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。推特、新浪微博、地谷、9911等都非常火爆,很多人在各种微博平台注册。账号,但是这里有一个新问题,就是信息同步。
  每个人的使用习惯不同,各个微博圈的用户也不同。许多微博用户在每个平台上都有一些人关注。所以需要用一个同步程序来改变各个平台的信息统一处理,而这个处理中心,我觉得应该是推特。
  推特的优势
  之所以使用推特作为微博中心,是因为推特更新的方式很多,工具也很多。使用 TwitterFeed 或 FeedBurner,您还可以直接从 RSS Feed 更新 Twitter。 Twitter本身也是全球最大的微博平台。在可预见的未来,它不会消失。用户发布的信息通常不会丢失或删除。推特信息的备份导出方式有很多种,所以把信息放到推特上。相对安全、安全、稳定。
  将Twitter同步到其他微博的方法是使用GAE。 GAE是谷歌一个非常好的免费托管平台。它具有非常好的稳定性和强大的功能。它支持 Cron Job 来调度任务。因此,我们只需要在GAE上部署一个定时执行的定时任务,设置为每分钟抓取一次用户推特信息。抓拍成功后,直接将最新消息发布到新浪微博等平台,然后将推特信息实时同步到各个微博网站。 @函数。
  同步程序的优点
  这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
  在安全方面,那些第三方网站@会保存您的微博密码进行同步,这会给您的微博账号带来潜在的安全问题。再说了,你还有上千个粉丝的账号密码保存在那些同步网站@里,你放心吗?使用 GAE 的程序同步时,只有您知道密码。我们不应该担心 GAE 被黑客入侵。
  稳定性方面,我用了几个月的同步程序,几乎没有信息丢失。 GAE服务本身的性能也非常稳定,停机时间很少。
  在速度方面,这个同步程序可以在最短的时间内在1分钟内同步所有信息。很少有网站@可以提供这样的同步速度。
  在灵活性方面,我们可以自己修改代码,实现一些定制的特殊功能。例如,在这个程序中,我将收录@的信息定义为不同步。我们也可以自己修改程序来实现很多其他的功能。
  目前该同步程序支持推特同步到新浪微博、地谷、9911、商业、人见网、follow5以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。
  
  其他微博为主
  如果用户不打算基于推特,也可以用这个程序进行同步,先注册一个推特账号,然后找到用户主微博的RSS Feed地址,用TwitterFeed或者FeedBurner来同步这个feed 到 Twitter,然后使用这个程序执行后续的同步。如果新浪微博以后支持RSS Feed,可以使用此方法将新浪微博信息同步到其他微博。
  应用安装部署方法
  如何下​​载,使用TortoiseSVN查看SVN地址,然后编辑app.yaml改成你的appspot应用名,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改it from ret = send_sina_msgs("username","password",text),以用户名和密码开头,分别填写对应微博的用户名和密码。对于不需要同步的服务,请用#注释掉cron.yaml文件这里是定时任务设置,然后就可以按照本文的方法发布,执行appcfg.py更新目录名,使用 Gmail 帐号和密码,即可发布。
  发布后,GAE可以定期执行twitter.py程序。由于定时执行最小可以设置为1分钟,所以同步速度非常快,基本可以达到实时自动同步的效果。
  其他注意事项
  Follow5 需要使用 api_key 进行同步。目前,我的 api_key 存储在程序中。建议使用follow5的用户单独申请一个api_key,防止我的api_key爆炸。人见网需要邀请码才能注册和使用。点击此处获取邀请链接。 Ping.fm 和 Hellotxt 使用密钥进行身份验证。具体操作方法请参考这里。
  
  () ()

php新浪微博的操作类和认证类,就是SDK

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

  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,才能对用户进行操作。
  回调.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
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台网站的应用介绍~再见 查看全部

  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,才能对用户进行操作。
  回调.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
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台网站的应用介绍~再见

android.2.使用到的OAuth示例,持续更新下载

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

  android.2.使用到的OAuth示例,持续更新下载
  简介
  最近不太忙,花了点时间学习Android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我打算以新浪微博的开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是signpost的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的具体技术细节。
  
  从上图可以看出,实际的流程分为消费者和提供者两部分。示例中的消费者为 c 应用,提供者为示例中的 B 服务提供者。
  使用OAuth进行认证授权的流程如下:
  用户在客户端访问网站,想要操作用户存储在服务提供者中的资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博平台上打开一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_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、新浪微博 查看全部

  android.2.使用到的OAuth示例,持续更新下载
  简介
  最近不太忙,花了点时间学习Android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我打算以新浪微博的开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是signpost的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的具体技术细节。
  
  从上图可以看出,实际的流程分为消费者和提供者两部分。示例中的消费者为 c 应用,提供者为示例中的 B 服务提供者。
  使用OAuth进行认证授权的流程如下:
  用户在客户端访问网站,想要操作用户存储在服务提供者中的资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博平台上打开一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_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、新浪微博

终于搞定了博客同步到微博的问题,解决过程及思路

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

  终于搞定了博客同步到微博的问题,解决过程及思路
  终于解决了博客同步到微博的问题!
  利用清晰的思路,记录解决过程和思路...
  原因:
  很久很久以前(2018年初),百度空间、网易博客等网络博客停止运营,所以我决定自己开个博客,记录一些东西(虽然我不经常写东西),但是因为很多域名都在等我注册了,所以退休注册了这个博客的域名qingsheng.xyz,用这个域名完成了ICP备案,域名解析,网站建筑,百度收录提交.. . 等繁琐的事情,准备添加博客实时更新同步到微博的功能,然后从网上搜索插件和代码,在微博开放平台上申请,审核上线。 ..当一切准备就绪后,无论是发布新文章还是更新,经过多次测试,都无法同步到微博。
  
  
  错误提示码:"error":"text not find domain!","error_code":10017,"request":"/2/statuses/share.json"
  查了一下,发现新的分享界面在同步微博的时候需要在微博的文字内容中收录一个带有安全域名的网址。
  
  
  微博申请中的安全域名没有填写,所以我填写了,但是提交失败,提示:“请填写主域名和二级域名,如有问题请联系开放平台运营账号。”
  
  
  然后给@微博开平台发了私信,得到的回复是:目前平台只支持传统域名...
  
  
  ... 然后就卡住了,换域名?懒……又要弄了,数据传输太麻烦了,但又不想放弃微博同步。
  解决方案
  昨晚突然想到一个办法:把同步到微博的安全域名url换成传统的域名,然后做传统域名的301重定向到已有的博客...
  就这样吧,我今天申请了一个.com结尾的域名,然后在服务器上添加了二级域名,做了301重定向到现有的博客域名qingsheng.xyz。为微博同步的代码添加字符串替换动作。
  $status = str_replace("qingsheng.xyz","weibo.qsboke.com", $status);
  
  
  测试成功发布微博(^-^)V
  PS:新域名正在备案中,同步到微博的网址链接暂时无法打开
  
  
  文章青生博客首发:
  解决微博安全域名无法设置的问题 qingsheng.xyz
   查看全部

  终于搞定了博客同步到微博的问题,解决过程及思路
  终于解决了博客同步到微博的问题!
  利用清晰的思路,记录解决过程和思路...
  原因:
  很久很久以前(2018年初),百度空间、网易博客等网络博客停止运营,所以我决定自己开个博客,记录一些东西(虽然我不经常写东西),但是因为很多域名都在等我注册了,所以退休注册了这个博客的域名qingsheng.xyz,用这个域名完成了ICP备案,域名解析,网站建筑,百度收录提交.. . 等繁琐的事情,准备添加博客实时更新同步到微博的功能,然后从网上搜索插件和代码,在微博开放平台上申请,审核上线。 ..当一切准备就绪后,无论是发布新文章还是更新,经过多次测试,都无法同步到微博。
  
  
  错误提示码:"error":"text not find domain!","error_code":10017,"request":"/2/statuses/share.json"
  查了一下,发现新的分享界面在同步微博的时候需要在微博的文字内容中收录一个带有安全域名的网址。
  
  
  微博申请中的安全域名没有填写,所以我填写了,但是提交失败,提示:“请填写主域名和二级域名,如有问题请联系开放平台运营账号。”
  
  
  然后给@微博开平台发了私信,得到的回复是:目前平台只支持传统域名...
  
  
  ... 然后就卡住了,换域名?懒……又要弄了,数据传输太麻烦了,但又不想放弃微博同步。
  解决方案
  昨晚突然想到一个办法:把同步到微博的安全域名url换成传统的域名,然后做传统域名的301重定向到已有的博客...
  就这样吧,我今天申请了一个.com结尾的域名,然后在服务器上添加了二级域名,做了301重定向到现有的博客域名qingsheng.xyz。为微博同步的代码添加字符串替换动作。
  $status = str_replace("qingsheng.xyz","weibo.qsboke.com", $status);
  
  
  测试成功发布微博(^-^)V
  PS:新域名正在备案中,同步到微博的网址链接暂时无法打开
  
  
  文章青生博客首发:
  解决微博安全域名无法设置的问题 qingsheng.xyz
  

新浪云存储SCS插件、移植自WordPress的音乐播放器插件

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

  新浪云存储SCS插件、移植自WordPress的音乐播放器插件
  今年 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中直接编译执行的功能... 查看全部

  新浪云存储SCS插件、移植自WordPress的音乐播放器插件
  今年 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中直接编译执行的功能...

Xweibo是基于新浪微博开放API开发免费开源的微博程序

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

  
Xweibo是基于新浪微博开放API开发免费开源的微博程序
  
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、私信等常用功能,并可自定义功能和界面。
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、关注、私信等常用功能,并可自定义功能和界面。微博开放平台是基于新浪微博系统的开放信息订阅、分享和交流平台。微博开放平台为您提供海量微博信息、粉丝关系、随时随地发生的信息裂变传播渠道。您可以登录平台创建应用,利用微博平台提供的界面创建有趣的应用或让您的网站具有更强的社交特征。
  账号互通,畅游微博世界
  1.可以单独使用新浪微博账号登录。
  2.可以单独用网站原账号登录。
  3.support网站原账号和新浪微博账号选择登录。
  4.分享新浪微博海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,从而获得营销推广机会,与新浪微博共同成长.
  高效的运营管理平台
  1.User 认证系统:支持在新浪认证、网站authentication、新浪认证和网站authentification双重认证之间切换。
  2.内容推荐:根据用户需求,以多种形式推荐用户和话题。
  3.界面管理:模板设置,可选择两栏和三栏模板。
  4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义某条微博或评论;支持屏蔽用户,支持屏蔽指定用户。
  5.Skinning 机制:灵活的换肤机制,提供多套炫丽的皮肤,可自定义换肤。
  6.异地通话功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的通话,丰富@k14的内容@其他页面。
  7.互动模块:活动、直播、采访。
  8.扩展设置:焦点位置、轮廓位置、页眉和页脚的推荐设置。
  9.Search 功能:为用户和微博提供全面的搜索。
  10.数据隔离:可以选择只显示本站的数据。
  11.一个页面可以添加多个同类型组件的功能。
  12.更多个性化设置:短链接、个性化域名。
  完善的内容审核,保障信息安全
  1.数据本地备份。
  2.六层信息安全审查机制:
  第一级:用户筛选和屏蔽。
  第二级:非法信息发布过滤(新浪微博帮你完成)
  第三层:信息审核和人工排查(新浪微博庞大的24小时内容监控团队会帮你完成)。
  第四层:网站运营人员实时排查(X微博管理后台可以实时查看网站发来的微博进行屏蔽)。
  第五层:关键词secondary filter(可以在微博管理后台设置关键词filter)。
  第六级:违规留言反馈删除通道(可以使用新浪微博举报功能举报需要删除的微博内容)。
  多版本
  1. 支持移动 WAP 访问。
  2. WEB页面信息实时同步,尽享掌上微博无限乐趣。
  WAP不需要设置,直接读取WEB管理后台设置。 查看全部

  
Xweibo是基于新浪微博开放API开发免费开源的微博程序
  
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、私信等常用功能,并可自定义功能和界面。
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、关注、私信等常用功能,并可自定义功能和界面。微博开放平台是基于新浪微博系统的开放信息订阅、分享和交流平台。微博开放平台为您提供海量微博信息、粉丝关系、随时随地发生的信息裂变传播渠道。您可以登录平台创建应用,利用微博平台提供的界面创建有趣的应用或让您的网站具有更强的社交特征。
  账号互通,畅游微博世界
  1.可以单独使用新浪微博账号登录。
  2.可以单独用网站原账号登录。
  3.support网站原账号和新浪微博账号选择登录。
  4.分享新浪微博海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,从而获得营销推广机会,与新浪微博共同成长.
  高效的运营管理平台
  1.User 认证系统:支持在新浪认证、网站authentication、新浪认证和网站authentification双重认证之间切换。
  2.内容推荐:根据用户需求,以多种形式推荐用户和话题。
  3.界面管理:模板设置,可选择两栏和三栏模板。
  4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义某条微博或评论;支持屏蔽用户,支持屏蔽指定用户。
  5.Skinning 机制:灵活的换肤机制,提供多套炫丽的皮肤,可自定义换肤。
  6.异地通话功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的通话,丰富@k14的内容@其他页面。
  7.互动模块:活动、直播、采访。
  8.扩展设置:焦点位置、轮廓位置、页眉和页脚的推荐设置。
  9.Search 功能:为用户和微博提供全面的搜索。
  10.数据隔离:可以选择只显示本站的数据。
  11.一个页面可以添加多个同类型组件的功能。
  12.更多个性化设置:短链接、个性化域名。
  完善的内容审核,保障信息安全
  1.数据本地备份。
  2.六层信息安全审查机制:
  第一级:用户筛选和屏蔽。
  第二级:非法信息发布过滤(新浪微博帮你完成)
  第三层:信息审核和人工排查(新浪微博庞大的24小时内容监控团队会帮你完成)。
  第四层:网站运营人员实时排查(X微博管理后台可以实时查看网站发来的微博进行屏蔽)。
  第五层:关键词secondary filter(可以在微博管理后台设置关键词filter)。
  第六级:违规留言反馈删除通道(可以使用新浪微博举报功能举报需要删除的微博内容)。
  多版本
  1. 支持移动 WAP 访问。
  2. WEB页面信息实时同步,尽享掌上微博无限乐趣。
  WAP不需要设置,直接读取WEB管理后台设置。

文档介绍:毕业论文_微博信息抓取系统(组图)

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

  文档介绍:毕业论文_微博信息抓取系统(组图)
  文档介绍:毕业论文_微博信息采集系统 微博信息采集系统 [摘要] 本文针对微博的海量数据和用户关系群,提出并实现了一个基于新浪和Oauth2.0的微博的开放平台信息抓取系统。系统实现的主要功能有:(1)微博大厅的滚动微博及其评论爬行(2)微博用户的好友及其相互关系)。微博通过线程池和数据库实现。博客信息的抓取和存储,通过prefuse API图形化展示用户关系,从实际运行效果分析,抓取系统可以满足各种SNS应用的内容填充和网络用户社交关系的分析。【 关键词】Oauth2.0;新浪开放平台;社交网络关系;序言介绍研究背景和意义随着移动互联网的发展,中国迎来了真正的微博时代。门槛低、便捷、多元化、同步的发布渠道,使信息生产趋向于零时间。微博与其他信息交流方式不同,最大的特点在于其技术性l 便携性。 2009年,3G牌照的发放标志着移动互联网时代的到来,手机和互联网这两个中国发展最快的媒体开始融合,并为快速扩张的移动互联网做了技术准备。微博。与传统博客相比,微博能够产生粘性强的原因在于其技术上无与伦比的便携性。用户可以通过多种方式登录微博并发布微博。
  尤其是手机与微博的绑定,使得这种贴近微博用户的新媒体满足了4A元素,即Anything, Anywhere, Anytime, Anytime。任何用户都可以随时随地发布任何内容。从此,人们的信息交流得到了前所未有的解放。微博信息抓取系统通过开放平台的API抓取我们需要的信息,在运营初期丰富各种SNS[1]社区应用的数据量和用户量,吸引更多用户的关注和使用。在 SNS 社区交朋友是现在在线用户相互交流的最重要方式。目前最流行的SNS网络是开心网、人人网和各大微博。其中,新浪微博的活跃用户数最多。本课题主要以新浪微博为主要研究和抓取对象。信息捕捉功能。整个系统的框架具有很强的可扩展性,可以根据需要添加其他SNS网络社区抢模块。此外,本系统还从网络用户的社交网络关系入手,以图形化的方式展示网络用户之间的社交关系。本专题的主要工作 本文解决的主要问题是抓取新浪微博微博馆的数据及其相关评论和用户信息。包括新浪微博的Oauth2.0认证,通过调用新浪微博API,获取并解析服务器返回的json文档,建立相应的数据库并存储在数据库中。并且通过Prefuse,将抓取到的微博用户的好友关系直观的展现出来。
  实现全自动抓取、解析和数据存储过程。大大提高了信息采集的效率,大大降低了信息采集的错误率。满足企事业单位对微博信息内容和网民社会关系分析的需求。新浪微博开放平台 微博用户授权2.1.1 新浪微博应用创建 新浪微博开放平台允许所有微博用户创建自己的应用。用户只需要填写开发者的详细信息和申请信息。相关信息可以创建您自己的应用程序。应用创建成功后,开发者会获取应用的APPKEY和SercretKey。我们使用这两个键来进行相关的技术开发工作。这两个键唯一地标识了我们的应用程序。其新浪微博应用创建与发布流程图如图1所示。 图1 新浪开放平台应用创建与发布流程图2.1.2OAuth2.0 授权与鉴权 OAuth2.0是OAuth[2] 协议的下一个版本,始于 2006 年。 OAuth(开放授权)是一种开放标准,允许用户允许第三方应用程序访问用户存储在其上的私人资源(如照片、视频、联系人列表)某某网站不提供用户名和密码给第三方使用。 OAuth 允许用户提供令牌而不是用户名和密码来访问他们存储在特定服务提供商中的数据。每个令牌授权特定的网站(例如视频编辑网站)在特定时间段内(例如,在接下来的2小时内)访问特定资源(例如,只是某个专辑中的视频) .
  通过这种方式,OAuth 允许用户授权第三方网站 访问他们存储在另一个服务提供商上的信息,而无需共享他们的访问权限或他们的所有数据内容。与OAuth1.0相比,OAuth2.0的整个授权验证过程更简单、更安全。也是未来新浪微博开发平台最重要的用户验证和授权方式。使用新的2.0 协议进行授权和认证。开发者只需调用oauth2/authorize接口引导用户进行授权,重定向后的网页获取授权后的code code后,服务端oauth2/ess_token、ess_token调用新浪微博API。授权的基本流程如图2所示: 图2 OAuth认证的基本流程虽然2.0的授权机制更简单安全,但越安全越严格,ess_token的有效期仅为24 小时处于开发和测试阶段。 ess_token。部分新浪微博界面也有访问频率限制。在软件开发和测试阶段,一个接口的访问频率通常限制在每小时150次。当应用程序获得批准并正式发布时,将会有越来越多的权限。其授权标准也将得到提高,访问限制的频率将增加。访问令牌 查看全部

  文档介绍:毕业论文_微博信息抓取系统(组图)
  文档介绍:毕业论文_微博信息采集系统 微博信息采集系统 [摘要] 本文针对微博的海量数据和用户关系群,提出并实现了一个基于新浪和Oauth2.0的微博的开放平台信息抓取系统。系统实现的主要功能有:(1)微博大厅的滚动微博及其评论爬行(2)微博用户的好友及其相互关系)。微博通过线程池和数据库实现。博客信息的抓取和存储,通过prefuse API图形化展示用户关系,从实际运行效果分析,抓取系统可以满足各种SNS应用的内容填充和网络用户社交关系的分析。【 关键词】Oauth2.0;新浪开放平台;社交网络关系;序言介绍研究背景和意义随着移动互联网的发展,中国迎来了真正的微博时代。门槛低、便捷、多元化、同步的发布渠道,使信息生产趋向于零时间。微博与其他信息交流方式不同,最大的特点在于其技术性l 便携性。 2009年,3G牌照的发放标志着移动互联网时代的到来,手机和互联网这两个中国发展最快的媒体开始融合,并为快速扩张的移动互联网做了技术准备。微博。与传统博客相比,微博能够产生粘性强的原因在于其技术上无与伦比的便携性。用户可以通过多种方式登录微博并发布微博。
  尤其是手机与微博的绑定,使得这种贴近微博用户的新媒体满足了4A元素,即Anything, Anywhere, Anytime, Anytime。任何用户都可以随时随地发布任何内容。从此,人们的信息交流得到了前所未有的解放。微博信息抓取系统通过开放平台的API抓取我们需要的信息,在运营初期丰富各种SNS[1]社区应用的数据量和用户量,吸引更多用户的关注和使用。在 SNS 社区交朋友是现在在线用户相互交流的最重要方式。目前最流行的SNS网络是开心网、人人网和各大微博。其中,新浪微博的活跃用户数最多。本课题主要以新浪微博为主要研究和抓取对象。信息捕捉功能。整个系统的框架具有很强的可扩展性,可以根据需要添加其他SNS网络社区抢模块。此外,本系统还从网络用户的社交网络关系入手,以图形化的方式展示网络用户之间的社交关系。本专题的主要工作 本文解决的主要问题是抓取新浪微博微博馆的数据及其相关评论和用户信息。包括新浪微博的Oauth2.0认证,通过调用新浪微博API,获取并解析服务器返回的json文档,建立相应的数据库并存储在数据库中。并且通过Prefuse,将抓取到的微博用户的好友关系直观的展现出来。
  实现全自动抓取、解析和数据存储过程。大大提高了信息采集的效率,大大降低了信息采集的错误率。满足企事业单位对微博信息内容和网民社会关系分析的需求。新浪微博开放平台 微博用户授权2.1.1 新浪微博应用创建 新浪微博开放平台允许所有微博用户创建自己的应用。用户只需要填写开发者的详细信息和申请信息。相关信息可以创建您自己的应用程序。应用创建成功后,开发者会获取应用的APPKEY和SercretKey。我们使用这两个键来进行相关的技术开发工作。这两个键唯一地标识了我们的应用程序。其新浪微博应用创建与发布流程图如图1所示。 图1 新浪开放平台应用创建与发布流程图2.1.2OAuth2.0 授权与鉴权 OAuth2.0是OAuth[2] 协议的下一个版本,始于 2006 年。 OAuth(开放授权)是一种开放标准,允许用户允许第三方应用程序访问用户存储在其上的私人资源(如照片、视频、联系人列表)某某网站不提供用户名和密码给第三方使用。 OAuth 允许用户提供令牌而不是用户名和密码来访问他们存储在特定服务提供商中的数据。每个令牌授权特定的网站(例如视频编辑网站)在特定时间段内(例如,在接下来的2小时内)访问特定资源(例如,只是某个专辑中的视频) .
  通过这种方式,OAuth 允许用户授权第三方网站 访问他们存储在另一个服务提供商上的信息,而无需共享他们的访问权限或他们的所有数据内容。与OAuth1.0相比,OAuth2.0的整个授权验证过程更简单、更安全。也是未来新浪微博开发平台最重要的用户验证和授权方式。使用新的2.0 协议进行授权和认证。开发者只需调用oauth2/authorize接口引导用户进行授权,重定向后的网页获取授权后的code code后,服务端oauth2/ess_token、ess_token调用新浪微博API。授权的基本流程如图2所示: 图2 OAuth认证的基本流程虽然2.0的授权机制更简单安全,但越安全越严格,ess_token的有效期仅为24 小时处于开发和测试阶段。 ess_token。部分新浪微博界面也有访问频率限制。在软件开发和测试阶段,一个接口的访问频率通常限制在每小时150次。当应用程序获得批准并正式发布时,将会有越来越多的权限。其授权标准也将得到提高,访问限制的频率将增加。访问令牌

从WordPress微博同步插件第一个版本的强势来袭!

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

  从WordPress微博同步插件第一个版本的强势来袭!
  这个插件简单实用。您可以在 WordPress 中发布文章 自动发送新浪微博(带有精选图片)。不得不说,市面上有很多不同的同步插件,但是都太臃肿了,或者添加的太多了。不实用的第三方功能,作为一个追求极致的博主,这是一种煎熬,我们需要的是简单实用。插件提供后台设置菜单,也可以拥有自己的微博尾巴,但需要自己在微博开放平台申请Appkey。
  声明:由于微博开放平台界面和权限问题,凡力微博V3.1将不再支持早期创建“微连接-连接网站”微博应用,请转发微博开放平台创建“微连接-web应用”,并添加设置的应用的安全域名和回调地址,应用必须通过审核,否则插件将无法同步!请注意!
  
  WordPress微博同步插件第一版发布已经一年多了,已经有数百个网站使用了。它也经历了几次版本升级和变化,但总有不尽人意的地方。这一次,V2.0版WordPress微博同步插件来了。插件再次进行了深度升级和开发,更换了插件的各种功能和数据存储方式。同时,插件正式命名为“Fanly微博”,保持原有风格,尽可能完美。
  简单的背景设置
  
  完美的同步效果
  
  如何使用
  安装方法和普通的WordPress插件一样。您可以直接通过WordPress后台在线上传安装这个插件,也可以解压上传到WordPress程序的“/wp-content/plugins/”,然后在后台插件菜单中启用“Micro”。 “博客同步”,最后在设置菜单的“微博同步”中填写微博开放平台申请的Appkey和自己的微博。
  如有任何问题,请直接联系作者,或在本页留言。我们及时为您提供售后服务。
  更新记录
  1.0 版本:实现微博同步功能。
  1.1 版本:实现后台菜单设置。
  1.2版本:实现文章中图片的同步。
  1.3版本:实现文章精选图片优先同步功能。
  1.4 版本:通过微博Token实现微博同步,实现稳定同步。
  范利微博V2.0版去除插件原有数据写入方式,使用数组方式保存后台设置,重写功能兼容性问题,支持WordPress汇总支持文章首段内容同步去除同步内容包装等格式,加入Fanly插件系列。插件正式命名为:范利微博范利微博V2.1 版本优化回调 获取方法 授权回调页面地址 获取范利微博V3.0 版本升级微博 最新同步界面 删除旧版本界面范利微博V 3. 1版本新增发布选项,新增视图同步微博功能,新增插件重置功能,全面支持微连接——网页应用不再支持微连接——连接网站Fanly微博V3.2版本支持自定义文章类型同步优化同步设置,需要重新设置插件。添加设置页面。新版本更新提醒。其他细节优化调整。 Fanly微博V3.3版本新增微博延时同步功能。优化插件同步逻辑。优化插件更新提醒。说到看不懂的细节,调整范力微博V3.4。修复部分PHP版本无法同步图片的情况。修复插件更新提醒。提示:服务器必须支持 curl
  范利微博V3.4.1 版本:调整延迟同步选项的判断规则
  范利微博V3.5版本延时功能支持自定义定时同步到微博同步失败提示错误信息支持同步站点名称范利微博V3.6版本支持WordPress 5.0+新版块编辑器添加定位模块选择功能 添加自定义延迟时间开关,增强数据判断减少冗余(建议关闭默认同步选项)优化插件同步规则
  说明:凡力微博V3.6版本后,价格调整为88元,已购买的用户可免费升级下载最新版本。
  粉丝微博V3.6.1版本:修复同步成功后再次更新文章时清除同步状态的问题
  使用步骤
  Fanly微博微博同步插件使用教程(必看):
  1.购买并通过雷雪建站平台下载最新版本的插件;
  2.通过WordPress后台插件禁用和删除插件(新购买者请跳过);
  3.将插件文件通过FTP解压上传到“wp-content/plugins”目录,或者通过WordPress后台插件上传安装;
  4.通过后台插件菜单启用插件;
  5.通过启用的插件点击插件设置,或者通过WordPress设置菜单找到插件设置面板;
  6.然后填写在微博开放平台申请的AppKey和AppSecret并保存;
  7.点击“获取Token”,登录需要同步的微博账号,并保存;
  8.如需修改同步微博账号,请先删除并保存token,然后重复上一步获取token。
  使用提示:如果同步失败,请删除Token并保存,重新获取Token,或者禁用和启用插件一次。
  付费资源
  购买须知:是否适用请自行确定,虚拟物品不支持退换货!
  资源价格:88CNY
  泪雪提示:需要先登录才能购买资源
  隐藏内容:资源收录隐藏内容,购买后可见! 查看全部

  从WordPress微博同步插件第一个版本的强势来袭!
  这个插件简单实用。您可以在 WordPress 中发布文章 自动发送新浪微博(带有精选图片)。不得不说,市面上有很多不同的同步插件,但是都太臃肿了,或者添加的太多了。不实用的第三方功能,作为一个追求极致的博主,这是一种煎熬,我们需要的是简单实用。插件提供后台设置菜单,也可以拥有自己的微博尾巴,但需要自己在微博开放平台申请Appkey。
  声明:由于微博开放平台界面和权限问题,凡力微博V3.1将不再支持早期创建“微连接-连接网站”微博应用,请转发微博开放平台创建“微连接-web应用”,并添加设置的应用的安全域名和回调地址,应用必须通过审核,否则插件将无法同步!请注意!
  
  WordPress微博同步插件第一版发布已经一年多了,已经有数百个网站使用了。它也经历了几次版本升级和变化,但总有不尽人意的地方。这一次,V2.0版WordPress微博同步插件来了。插件再次进行了深度升级和开发,更换了插件的各种功能和数据存储方式。同时,插件正式命名为“Fanly微博”,保持原有风格,尽可能完美。
  简单的背景设置
  
  完美的同步效果
  
  如何使用
  安装方法和普通的WordPress插件一样。您可以直接通过WordPress后台在线上传安装这个插件,也可以解压上传到WordPress程序的“/wp-content/plugins/”,然后在后台插件菜单中启用“Micro”。 “博客同步”,最后在设置菜单的“微博同步”中填写微博开放平台申请的Appkey和自己的微博。
  如有任何问题,请直接联系作者,或在本页留言。我们及时为您提供售后服务。
  更新记录
  1.0 版本:实现微博同步功能。
  1.1 版本:实现后台菜单设置。
  1.2版本:实现文章中图片的同步。
  1.3版本:实现文章精选图片优先同步功能。
  1.4 版本:通过微博Token实现微博同步,实现稳定同步。
  范利微博V2.0版去除插件原有数据写入方式,使用数组方式保存后台设置,重写功能兼容性问题,支持WordPress汇总支持文章首段内容同步去除同步内容包装等格式,加入Fanly插件系列。插件正式命名为:范利微博范利微博V2.1 版本优化回调 获取方法 授权回调页面地址 获取范利微博V3.0 版本升级微博 最新同步界面 删除旧版本界面范利微博V 3. 1版本新增发布选项,新增视图同步微博功能,新增插件重置功能,全面支持微连接——网页应用不再支持微连接——连接网站Fanly微博V3.2版本支持自定义文章类型同步优化同步设置,需要重新设置插件。添加设置页面。新版本更新提醒。其他细节优化调整。 Fanly微博V3.3版本新增微博延时同步功能。优化插件同步逻辑。优化插件更新提醒。说到看不懂的细节,调整范力微博V3.4。修复部分PHP版本无法同步图片的情况。修复插件更新提醒。提示:服务器必须支持 curl
  范利微博V3.4.1 版本:调整延迟同步选项的判断规则
  范利微博V3.5版本延时功能支持自定义定时同步到微博同步失败提示错误信息支持同步站点名称范利微博V3.6版本支持WordPress 5.0+新版块编辑器添加定位模块选择功能 添加自定义延迟时间开关,增强数据判断减少冗余(建议关闭默认同步选项)优化插件同步规则
  说明:凡力微博V3.6版本后,价格调整为88元,已购买的用户可免费升级下载最新版本。
  粉丝微博V3.6.1版本:修复同步成功后再次更新文章时清除同步状态的问题
  使用步骤
  Fanly微博微博同步插件使用教程(必看):
  1.购买并通过雷雪建站平台下载最新版本的插件;
  2.通过WordPress后台插件禁用和删除插件(新购买者请跳过);
  3.将插件文件通过FTP解压上传到“wp-content/plugins”目录,或者通过WordPress后台插件上传安装;
  4.通过后台插件菜单启用插件;
  5.通过启用的插件点击插件设置,或者通过WordPress设置菜单找到插件设置面板;
  6.然后填写在微博开放平台申请的AppKey和AppSecret并保存;
  7.点击“获取Token”,登录需要同步的微博账号,并保存;
  8.如需修改同步微博账号,请先删除并保存token,然后重复上一步获取token。
  使用提示:如果同步失败,请删除Token并保存,重新获取Token,或者禁用和启用插件一次。
  付费资源
  购买须知:是否适用请自行确定,虚拟物品不支持退换货!
  资源价格:88CNY
  泪雪提示:需要先登录才能购买资源
  隐藏内容:资源收录隐藏内容,购买后可见!

新浪微博开放平台SSO授权上线:用户只需登录一次

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

  新浪微博开放平台SSO授权上线:用户只需登录一次
  新浪科技讯10月16日消息,由SSO授权的SSO微博开放平台近日正式上线。用户只需登录一次即可访问其他可信应用系统。
  作为一个普通的微博用户,在他的手机上使用新浪微博客户端,我已经输入了我的账号和密码,我希望我的手机上有第三方应用,比如360安全浏览器,唱歌吧等。 , 识别当前微博账号,无需重新输入账号密码即可登录? SSO 授权可以帮助用户实现这个愿望。
  SSO的英文全称是Single Sign On(单点登录),意思是用户只需要登录一次就可以访问其他受信任的应用程序。新浪微博开放平台推出SSO授权,意味着已安装新浪微博客户端并登录经此授权的第三方应用的手机用户,只需简单操作即可完成授权,即可使用新浪微博客户端微博帐号和使用密码登录这些应用程序,无需重新输入帐号和密码。如果用户手机未安装微博客户端,则启用网页授权方式完成授权。
  据悉,首批SSO授权发布的应用包括360安全浏览器、唱吧、航旅方面、豆果美食、美食店等11个,更多第三方应用将陆续上线稍后添加。用户登录这些应用后,只需点击几下即可完成授权流程:“点击授权按钮-在官方微博客户端选择已登录的微博账号-点击确认”。
  SSO授权将避免手机输入不便带来的麻烦,让用户可以使用微博账号作为公众账号登录其他第三方应用。一个新浪微博账号,通过N个第三方应用,最大程度提升操作便捷性。
  新浪微博开放平台SSO授权的推出和SSO服务(单点登录服务中心)的建立,将大大简化用户登录程序,方便各类第三方使用,也将吸引更多并且更多的第三方开发者使用此授权。同时,第三方也可以根据自己的需要重新开发新浪微博官方SDK。
  SSO 授权的出现,标志着新浪正在逐步构建完整的生态系统。对于第三方开发者来说,使用SSO授权,新用户的进入会更容易,带来更多的流量和用户资源;同时,便捷的登录方式也降低了用户的使用门槛,只要用户手机安装了微博客户端,无需再次输入账号密码即可完成登录,促使更多外界信息流入新浪微博平台。 查看全部

  新浪微博开放平台SSO授权上线:用户只需登录一次
  新浪科技讯10月16日消息,由SSO授权的SSO微博开放平台近日正式上线。用户只需登录一次即可访问其他可信应用系统。
  作为一个普通的微博用户,在他的手机上使用新浪微博客户端,我已经输入了我的账号和密码,我希望我的手机上有第三方应用,比如360安全浏览器,唱歌吧等。 , 识别当前微博账号,无需重新输入账号密码即可登录? SSO 授权可以帮助用户实现这个愿望。
  SSO的英文全称是Single Sign On(单点登录),意思是用户只需要登录一次就可以访问其他受信任的应用程序。新浪微博开放平台推出SSO授权,意味着已安装新浪微博客户端并登录经此授权的第三方应用的手机用户,只需简单操作即可完成授权,即可使用新浪微博客户端微博帐号和使用密码登录这些应用程序,无需重新输入帐号和密码。如果用户手机未安装微博客户端,则启用网页授权方式完成授权。
  据悉,首批SSO授权发布的应用包括360安全浏览器、唱吧、航旅方面、豆果美食、美食店等11个,更多第三方应用将陆续上线稍后添加。用户登录这些应用后,只需点击几下即可完成授权流程:“点击授权按钮-在官方微博客户端选择已登录的微博账号-点击确认”。
  SSO授权将避免手机输入不便带来的麻烦,让用户可以使用微博账号作为公众账号登录其他第三方应用。一个新浪微博账号,通过N个第三方应用,最大程度提升操作便捷性。
  新浪微博开放平台SSO授权的推出和SSO服务(单点登录服务中心)的建立,将大大简化用户登录程序,方便各类第三方使用,也将吸引更多并且更多的第三方开发者使用此授权。同时,第三方也可以根据自己的需要重新开发新浪微博官方SDK。
  SSO 授权的出现,标志着新浪正在逐步构建完整的生态系统。对于第三方开发者来说,使用SSO授权,新用户的进入会更容易,带来更多的流量和用户资源;同时,便捷的登录方式也降低了用户的使用门槛,只要用户手机安装了微博客户端,无需再次输入账号密码即可完成登录,促使更多外界信息流入新浪微博平台。

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

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

  如何使用新浪微博开放平台api同步微博内容至自己网站
  使用新浪微博开放平台api同步微博内容至自己网站,然后发出去,新浪微博会自动转发,这时候你的网站已经实现了类似facebook那样的推送,自然而然就可以加上互动话题,
  @李明婷的办法,解决了问题本身。这个问题还有点站在巨人的肩膀上,依然有点“几脚踏空”。
  对于不经常看微博的用户来说,pc端打开也实现不了这个功能。先说官方解决方案吧,现在推出的微博推送推送界面一般是这样的:左边选择你的内容推送到哪个社交平台,右边选择你的推送的社交平台、时间。也就是这种操作,这样可以同步你的pc、wap网站的微博内容,但是对于拥有太多账号、服务器庞大、大到几十万小到几千人的体量的用户,需要多人同时操作同一个pc页面,几乎很难做到,并且互相之间的不安全性(相信每个有200账号都知道这一点),同时内容推送的推送源太弱了,很难达到当时的要求,真正的全网推送还得是微博推送。
  之前(2017年)微博推送提供了这样的服务方案,真心不咋地,(有推送功能的都会提供该功能,这就是互联网的游戏规则),现在的新浪微博本身采用收费服务的,主要是300元,花300元可以在1个微博、5个社交平台之间实现全网推送(目前包括其他平台)。这种方案本身的优点是免费推送,以及很安全。但不能达到全网推送(因为推送源太多),这是目前比较不错的方案。基于这个事实,那该怎么办?让开发者可以在你的wap微博后台实现以下功能:。
  1、看什么时间看推送到哪个平台,
  2、关键时间点、地点、社交平台,关键推送出去的内容,
  3、关键时间点、地点、推送出去的内容,引导用户关注等等。该怎么设计呢?要回答以上3个问题的话,分别来回答。
  对于
  1、3点,不能像原先设计的那样随意,必须在该平台是重点推送时间段(很多时候用户的注意力都在哪个时间段),该平台是重点推送内容时间段(太多),并且关键推送时间点(太多),为保证安全性的话,选一个关键推送内容时间点、地点;如果实在想在更早期就达到全网推送的效果,如安排在高峰期,增加推送时间段和推送时间段的精确度,还是有可能的。
  回答2-3点,要求你提供的资源足够多,实现全网推送的话,最少得增加几十万个并发访问来支持,用户的请求太多了,服务器和负载能力跟不上;并且互相之间互相不安全,需要仔细把控;对于互动话题,一样,要依靠该平台的过亿级别用户,并且其他平台都需要在公开场合提供这些内容。目前,请问下,一个人,或者。
  2、3个人同时让你去发布有互动话题的微 查看全部

  如何使用新浪微博开放平台api同步微博内容至自己网站
  使用新浪微博开放平台api同步微博内容至自己网站,然后发出去,新浪微博会自动转发,这时候你的网站已经实现了类似facebook那样的推送,自然而然就可以加上互动话题,
  @李明婷的办法,解决了问题本身。这个问题还有点站在巨人的肩膀上,依然有点“几脚踏空”。
  对于不经常看微博的用户来说,pc端打开也实现不了这个功能。先说官方解决方案吧,现在推出的微博推送推送界面一般是这样的:左边选择你的内容推送到哪个社交平台,右边选择你的推送的社交平台、时间。也就是这种操作,这样可以同步你的pc、wap网站的微博内容,但是对于拥有太多账号、服务器庞大、大到几十万小到几千人的体量的用户,需要多人同时操作同一个pc页面,几乎很难做到,并且互相之间的不安全性(相信每个有200账号都知道这一点),同时内容推送的推送源太弱了,很难达到当时的要求,真正的全网推送还得是微博推送。
  之前(2017年)微博推送提供了这样的服务方案,真心不咋地,(有推送功能的都会提供该功能,这就是互联网的游戏规则),现在的新浪微博本身采用收费服务的,主要是300元,花300元可以在1个微博、5个社交平台之间实现全网推送(目前包括其他平台)。这种方案本身的优点是免费推送,以及很安全。但不能达到全网推送(因为推送源太多),这是目前比较不错的方案。基于这个事实,那该怎么办?让开发者可以在你的wap微博后台实现以下功能:。
  1、看什么时间看推送到哪个平台,
  2、关键时间点、地点、社交平台,关键推送出去的内容,
  3、关键时间点、地点、推送出去的内容,引导用户关注等等。该怎么设计呢?要回答以上3个问题的话,分别来回答。
  对于
  1、3点,不能像原先设计的那样随意,必须在该平台是重点推送时间段(很多时候用户的注意力都在哪个时间段),该平台是重点推送内容时间段(太多),并且关键推送时间点(太多),为保证安全性的话,选一个关键推送内容时间点、地点;如果实在想在更早期就达到全网推送的效果,如安排在高峰期,增加推送时间段和推送时间段的精确度,还是有可能的。
  回答2-3点,要求你提供的资源足够多,实现全网推送的话,最少得增加几十万个并发访问来支持,用户的请求太多了,服务器和负载能力跟不上;并且互相之间互相不安全,需要仔细把控;对于互动话题,一样,要依靠该平台的过亿级别用户,并且其他平台都需要在公开场合提供这些内容。目前,请问下,一个人,或者。
  2、3个人同时让你去发布有互动话题的微

开源软件供应链点亮计划,等你来!(图)

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

  开源软件供应链点亮计划,等你来!(图)
  开源软件供应链照明计划等你来! >>>
  
  随着新浪微博用户越来越多,我们有时会考虑在网站中整合新浪微博。例如,我目前的独立博客。
  我博客的整合主要是这几个方面:我写了一个文章,同时发到微博上。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
  新浪微博开放平台地址在这里。文档地址在这里。
  首先涉及的问题是用户使用新浪微博账号登录的问题,即授权机制。有两种基本方法:
  OAuth Basic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth,因此不讨论该方法。其实要求用户名和密码的方法本质上是不安全。)
  OAuth 新浪官方文档在这里。想了解OAuth技术说明的可以访问官方网站。
  其实OAuth的流程还是很简单的。大致如下:
  从 API 调用中获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。将请求令牌交换到新浪微博以获取访问令牌。执行。
  了解了OAuth的原理后,既然是集成到Django中,自然需要下载Python版的微博SDK。
  但是,在一切开始之前,您必须从新浪微博申请。申请地址在这里。这里需要强调的是,以后的应用需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。 (在这个例子中,我们的分类是合作网站。)
  申请完成后,您将获得您申请的App Key和App Secret。
  回到授权用户登录的话题,要允许新浪微博账号访问,首先我们需要在urlpatterns中添加几个URL。如下:
  urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
  接下来,我们启动视图文件。代码:
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""

from django.http import HttpResponseRedirect

from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth

consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret

class WebOAuthHandler(OAuthHandler):

def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()

# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)


def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url

def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)

def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url

# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)

def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']

auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token

# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)

def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
  完成授权码后,接下来我们需要知道如何向新浪微博发送消息等操作。其实就是下载的sdk下exanples文件夹下的examples(是的,其实就是examples,这就是英文水平,不过我吐不出来)。基本上,您可以更改它并直接使用它。以oauthSetTokenUpdate.py为例,我们可以这样写:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)

status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
  运行此程序时,系统会提示您输入 URL 链接。在浏览器中打开链接并授予访问权限,您将获得一串 PIN 码。输入此 PIN 码,将发送一条推文,同时还会显示用户的访问令牌密钥和访问令牌秘密。
  但是,这有点太书呆子了吗?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)

status = api.update_status(status='搞定收工~')
  这时候我们可以重构代码,写一个微博类来实现上述功能,实现一些api操作。
  class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret

def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''

def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''

def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)

def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)

def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id

def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id

def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid

def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid

def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid

def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
  不知道读者是否还记得上面授权部分的代码。在login_check方法代码中,有这么一句。
  request.session['oauth_access_token'] = access_token
  授权用户的access_token已经保存在session变量中。因此,当用户授权完成后,我们可以直接使用session中存储的access_token,如下:
  access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
  以上示例中仅使用了部分 API,完整的 API 手册请参阅此处。
  文章来源: 查看全部

  开源软件供应链点亮计划,等你来!(图)
  开源软件供应链照明计划等你来! >>>
  
  随着新浪微博用户越来越多,我们有时会考虑在网站中整合新浪微博。例如,我目前的独立博客。
  我博客的整合主要是这几个方面:我写了一个文章,同时发到微博上。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
  新浪微博开放平台地址在这里。文档地址在这里。
  首先涉及的问题是用户使用新浪微博账号登录的问题,即授权机制。有两种基本方法:
  OAuth Basic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth,因此不讨论该方法。其实要求用户名和密码的方法本质上是不安全。)
  OAuth 新浪官方文档在这里。想了解OAuth技术说明的可以访问官方网站。
  其实OAuth的流程还是很简单的。大致如下:
  从 API 调用中获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。将请求令牌交换到新浪微博以获取访问令牌。执行。
  了解了OAuth的原理后,既然是集成到Django中,自然需要下载Python版的微博SDK。
  但是,在一切开始之前,您必须从新浪微博申请。申请地址在这里。这里需要强调的是,以后的应用需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。 (在这个例子中,我们的分类是合作网站。)
  申请完成后,您将获得您申请的App Key和App Secret。
  回到授权用户登录的话题,要允许新浪微博账号访问,首先我们需要在urlpatterns中添加几个URL。如下:
  urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
  接下来,我们启动视图文件。代码:
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""

from django.http import HttpResponseRedirect

from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth

consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret

class WebOAuthHandler(OAuthHandler):

def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()

# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)


def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url

def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)

def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url

# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)

def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']

auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token

# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)

def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
  完成授权码后,接下来我们需要知道如何向新浪微博发送消息等操作。其实就是下载的sdk下exanples文件夹下的examples(是的,其实就是examples,这就是英文水平,不过我吐不出来)。基本上,您可以更改它并直接使用它。以oauthSetTokenUpdate.py为例,我们可以这样写:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)

status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
  运行此程序时,系统会提示您输入 URL 链接。在浏览器中打开链接并授予访问权限,您将获得一串 PIN 码。输入此 PIN 码,将发送一条推文,同时还会显示用户的访问令牌密钥和访问令牌秘密。
  但是,这有点太书呆子了吗?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)

status = api.update_status(status='搞定收工~')
  这时候我们可以重构代码,写一个微博类来实现上述功能,实现一些api操作。
  class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret

def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''

def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''

def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)

def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)

def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id

def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id

def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid

def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid

def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid

def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
  不知道读者是否还记得上面授权部分的代码。在login_check方法代码中,有这么一句。
  request.session['oauth_access_token'] = access_token
  授权用户的access_token已经保存在session变量中。因此,当用户授权完成后,我们可以直接使用session中存储的access_token,如下:
  access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
  以上示例中仅使用了部分 API,完整的 API 手册请参阅此处。
  文章来源:

通过新浪微博API生成短链接,支持一次性转多个长链接

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

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

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

新浪微博中大批量爬取爬取新浪微博数据的思路及解决办法

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

  新浪微博中大批量爬取爬取新浪微博数据的思路及解决办法
  近期项目需要从新浪微博大量抓取新浪微博数据。当然,众所周知的方法是使用 API 来获取数据,但这有其局限性。只能搜索对应用户的home_timeline,不能按键。词量很大(几十万甚至几千万条数据),API有一个限制,就是每小时的请求数。当然,每个网站都有自己的保护措施。当检测到某个ip在短时间内发起大量请求时,会认为这个操作有问题,需要填写验证码或者直接封ip。几天后可以再次解锁。这种机制是必要的,因为它可以防止恶意的连续请求导致服务器崩溃。其他的就不多说了,直接看核心代码:
  String termString[] = { "中国", "日本", "韩国", "美国", "俄国", "英美" };
String userAgent = "User-Agent";
String userAgentValue = "Mozilla/12.0 (compatible; MSIE 8.0; Windows NT)";
String contentType = "Content-Type";
String contentTypeValue = "application/x-www-form-urlencoded";
String pathString = "";
for (int i = 0; i < termString.length; i++) {
for (int j = 0; j < 50; j++) {//对每个term(搜索关键字),取50页的内容
pathString = "http://s.weibo.com/weibo/"
+ URLEncoder.encode(termString[i], "UTF-8") + "&page="
+ (j + 1);
try {
OutputStream os = null;
InputStreamReader isr = null;
URL url = new URL(pathString);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setConnectTimeout(60000);
httpConn.setReadTimeout(60000);
httpConn.setRequestProperty(userAgent, userAgentValue);
httpConn.setRequestProperty(contentType, contentTypeValue);
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
os = httpConn.getOutputStream();
os.flush();
isr = new InputStreamReader(httpConn.getInputStream());
StringBuffer content = new StringBuffer();
int c;
while ((c = isr.read()) != -1) {
content.append((char) c);
}
System.out.println(decodeUnicode(content.toString()));
} catch (Exception e) {
e.printStackTrace();
}
Random random = new Random();
int slpmillsecs = 40000 + random.nextInt(20000) + 1;
Thread.sleep(slpmillsecs);// 停40~60s
}
}
  一开始我用了10s左右的间隔,发现新浪还是可以检测到的。后来,我果断地改了。正常情况下,40s以下的间隔也是可以的,但是具体的最小值我没有测试。有兴趣的可以试试。
  PS:本文提出的爬取网页内容的方法仅供参考,以后再看。我估计了在这个采集数据上花费的时间。它与使用 API采集数据大致相同甚至更多。这里只是对采集新浪微博数据的一种思考方式。如果你不喜欢它,不要喷它。 . . 查看全部

  新浪微博中大批量爬取爬取新浪微博数据的思路及解决办法
  近期项目需要从新浪微博大量抓取新浪微博数据。当然,众所周知的方法是使用 API 来获取数据,但这有其局限性。只能搜索对应用户的home_timeline,不能按键。词量很大(几十万甚至几千万条数据),API有一个限制,就是每小时的请求数。当然,每个网站都有自己的保护措施。当检测到某个ip在短时间内发起大量请求时,会认为这个操作有问题,需要填写验证码或者直接封ip。几天后可以再次解锁。这种机制是必要的,因为它可以防止恶意的连续请求导致服务器崩溃。其他的就不多说了,直接看核心代码:
  String termString[] = { "中国", "日本", "韩国", "美国", "俄国", "英美" };
String userAgent = "User-Agent";
String userAgentValue = "Mozilla/12.0 (compatible; MSIE 8.0; Windows NT)";
String contentType = "Content-Type";
String contentTypeValue = "application/x-www-form-urlencoded";
String pathString = "";
for (int i = 0; i < termString.length; i++) {
for (int j = 0; j < 50; j++) {//对每个term(搜索关键字),取50页的内容
pathString = "http://s.weibo.com/weibo/"
+ URLEncoder.encode(termString[i], "UTF-8") + "&page="
+ (j + 1);
try {
OutputStream os = null;
InputStreamReader isr = null;
URL url = new URL(pathString);
HttpURLConnection httpConn = (HttpURLConnection) url
.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setConnectTimeout(60000);
httpConn.setReadTimeout(60000);
httpConn.setRequestProperty(userAgent, userAgentValue);
httpConn.setRequestProperty(contentType, contentTypeValue);
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
os = httpConn.getOutputStream();
os.flush();
isr = new InputStreamReader(httpConn.getInputStream());
StringBuffer content = new StringBuffer();
int c;
while ((c = isr.read()) != -1) {
content.append((char) c);
}
System.out.println(decodeUnicode(content.toString()));
} catch (Exception e) {
e.printStackTrace();
}
Random random = new Random();
int slpmillsecs = 40000 + random.nextInt(20000) + 1;
Thread.sleep(slpmillsecs);// 停40~60s
}
}
  一开始我用了10s左右的间隔,发现新浪还是可以检测到的。后来,我果断地改了。正常情况下,40s以下的间隔也是可以的,但是具体的最小值我没有测试。有兴趣的可以试试。
  PS:本文提出的爬取网页内容的方法仅供参考,以后再看。我估计了在这个采集数据上花费的时间。它与使用 API采集数据大致相同甚至更多。这里只是对采集新浪微博数据的一种思考方式。如果你不喜欢它,不要喷它。 . .

新浪应用开发:使用新浪微博API发一条微博使用

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

  新浪应用开发:使用新浪微博API发一条微博使用
  新浪应用开发:使用新浪微博API发送微博
  使用新浪微博API发送微博第一步:先下载安装JAVA环境,然后下载myecplise10。第二步:在新浪微博API网页上找到并下载JAVA的SDK。第三步:申请成为开发者,获得新应用的APP_KEY。第四步:按照说明进行配置:在Config.properties中client_ID:appkey created appkey创建应用获取client_SERCRET:app_secret创建appsecret创建应用获取回调地址):报错如下:发生第三方访问错误!您在新浪微博上访问的网站认证失败。请联系开发者助理或稍后重试。 (error:invalid_request) Q:这个回调地址需要单独的域名和空格吗?答:不需要独立的域名和空间。可以在本地使用,但必须配置Internet信息服务。第六步:运行OAuth4Code.java获取code,输入code获取access token。第七步:写代码发微博。代码如下:
  立即下载 查看全部

  新浪应用开发:使用新浪微博API发一条微博使用
  新浪应用开发:使用新浪微博API发送微博
  使用新浪微博API发送微博第一步:先下载安装JAVA环境,然后下载myecplise10。第二步:在新浪微博API网页上找到并下载JAVA的SDK。第三步:申请成为开发者,获得新应用的APP_KEY。第四步:按照说明进行配置:在Config.properties中client_ID:appkey created appkey创建应用获取client_SERCRET:app_secret创建appsecret创建应用获取回调地址):报错如下:发生第三方访问错误!您在新浪微博上访问的网站认证失败。请联系开发者助理或稍后重试。 (error:invalid_request) Q:这个回调地址需要单独的域名和空格吗?答:不需要独立的域名和空间。可以在本地使用,但必须配置Internet信息服务。第六步:运行OAuth4Code.java获取code,输入code获取access token。第七步:写代码发微博。代码如下:
  立即下载

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

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

  使用新浪微博开放平台api同步微博内容至自己网站和公众号
  使用新浪微博开放平台api同步微博内容至自己网站和公众号很简单的。准备工作:新浪微博开放平台接口服务()微博开放平台测试账号(用户名,手机号等)就可以开始配置微博接口了,配置数据有500条数据量,自己把自己的网站连接到开放平台的apiserver就可以直接使用开放平台提供的api接口对外发送消息了。
  需要注意微博开放平台api的第二步使用内容中心时,有个异步编辑,选择必要的参数就可以了,后面不再重复。配置方法参考微博开放平台配置文档:-project.xml#maily配置内容是订阅邮箱和使用ip过滤规则。之后关注发消息的账号就可以直接发送消息了。至于其他国内国外的应用,可以通过跨站请求和跨站参数进行动态生成来实现。
  再具体说下:在新浪体系中有两种技术方案可以利用api进行技术对接,简单说就是oauth2和api2。oauth2相对api2安全,主要体现在可以证明你授权的依据是access_token,就像下面的证书一样:只要访问你网站的用户必须先输入证书才能获取access_token,接受和使用的都是你的access_token。
  按照你的说的一个人需要三次证书,每次证书只要两个字符,那么每次请求的接受者要先输入两个字符,这个就是oauth2证书,一个二个要输入0~9,自然也可以为四字符,都要同一个ip。这样就可以使你开放api时发送给你的url是:,其他的不多说了,写这些就是给你打个预防针,免得让你联想到某些老外的糗事。api2在对接时无法用oauth2证书发送数据,需要在后台做依赖验证,包括要有redis,mongodb,这些实现。 查看全部

  使用新浪微博开放平台api同步微博内容至自己网站和公众号
  使用新浪微博开放平台api同步微博内容至自己网站和公众号很简单的。准备工作:新浪微博开放平台接口服务()微博开放平台测试账号(用户名,手机号等)就可以开始配置微博接口了,配置数据有500条数据量,自己把自己的网站连接到开放平台的apiserver就可以直接使用开放平台提供的api接口对外发送消息了。
  需要注意微博开放平台api的第二步使用内容中心时,有个异步编辑,选择必要的参数就可以了,后面不再重复。配置方法参考微博开放平台配置文档:-project.xml#maily配置内容是订阅邮箱和使用ip过滤规则。之后关注发消息的账号就可以直接发送消息了。至于其他国内国外的应用,可以通过跨站请求和跨站参数进行动态生成来实现。
  再具体说下:在新浪体系中有两种技术方案可以利用api进行技术对接,简单说就是oauth2和api2。oauth2相对api2安全,主要体现在可以证明你授权的依据是access_token,就像下面的证书一样:只要访问你网站的用户必须先输入证书才能获取access_token,接受和使用的都是你的access_token。
  按照你的说的一个人需要三次证书,每次证书只要两个字符,那么每次请求的接受者要先输入两个字符,这个就是oauth2证书,一个二个要输入0~9,自然也可以为四字符,都要同一个ip。这样就可以使你开放api时发送给你的url是:,其他的不多说了,写这些就是给你打个预防针,免得让你联想到某些老外的糗事。api2在对接时无法用oauth2证书发送数据,需要在后台做依赖验证,包括要有redis,mongodb,这些实现。

基于OAuth2.0协议的通用参数含义(2)_

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

  基于OAuth2.0协议的通用参数含义(2)_
  这一步的作用:
  获取Access Token和OpenID后,可以通过调用OpenAPI获取或修改用户的个人信息。
  这一步在整个过程中的位置:
  
  内容
  上一步
  获取用户 OpenID_OAuth2.0
  1. 先决条件说明
  1. appid 已激活使用 OpenAPI 的权限。
  从API列表中的接口列表可以看出,有些接口是完全开放的,有些接口需要提前提交才能获得访问权限。
  2. 要访问的资源被授权用户访问。
  网站调用OpenAPI读写某个openid(用户)的信息时,用户必须已经为OpenAPI授权了你的appid(比如用户设置了相册不公开,然后网站无法读取照片信息)。
  用户可以进入QQ空间->设置->授权管理设置访问权限。
  3.已成功获取Access Token,且Access Token在有效期内。
  2.调用OpenAPI接口
  QQ登录提供用户信息/动态同步/日志/相册/微博等OpenAPI(详见API列表),网站需要将请求发送到特定的OpenAPI接口来访问或修改用户数据。
  调用所有OpenAPI时,除了各个接口的私有参数外,所有OpenAPI都需要传入基于OAuth2.0协议的通用参数:
  参数含义
  访问令牌
  可以通过Authorization_Code获取Access_Token或者获取。
  access_token 的有效期为 3 个月。
  oauth_consumer_key
  申请QQ登录成功后,分配给应用的appid
  openid
  用户ID与QQ号一一对应。
  可以通过调用获得。
  3. 例子
  1.以get_user_info接口为例:
  (请将access_token、appid等参数值替换为自己的)
  2.返回成功后,即可获取用户数据:
  {
   "ret":0,
"msg":"",
"nickname":"YOUR_NICK_NAME",
...
  }
  4. 下一步就是获取用户的Access Token和OpenID,然后调用OpenAPI获取用户信息,进行更多的分享、发微博或日志、上传图片等操作。
  以上信息是否解决了您的问题?
  为了让我们更有效地优化数据库并有针对性地改进我们的服务,我们需要您的进一步反馈信息:
  提交成功!
  非常感谢您的反馈,我们会继续努力做得更好!
  提交成功!
  感谢您的批评和建议。我们会专门对其进行优化,以便为您提供更好的服务。
  开放平台与您一起成长!
  取自“%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E_OAuth2.0” 查看全部

  基于OAuth2.0协议的通用参数含义(2)_
  这一步的作用:
  获取Access Token和OpenID后,可以通过调用OpenAPI获取或修改用户的个人信息。
  这一步在整个过程中的位置:
  
  内容
  上一步
  获取用户 OpenID_OAuth2.0
  1. 先决条件说明
  1. appid 已激活使用 OpenAPI 的权限。
  从API列表中的接口列表可以看出,有些接口是完全开放的,有些接口需要提前提交才能获得访问权限。
  2. 要访问的资源被授权用户访问。
  网站调用OpenAPI读写某个openid(用户)的信息时,用户必须已经为OpenAPI授权了你的appid(比如用户设置了相册不公开,然后网站无法读取照片信息)。
  用户可以进入QQ空间->设置->授权管理设置访问权限。
  3.已成功获取Access Token,且Access Token在有效期内。
  2.调用OpenAPI接口
  QQ登录提供用户信息/动态同步/日志/相册/微博等OpenAPI(详见API列表),网站需要将请求发送到特定的OpenAPI接口来访问或修改用户数据。
  调用所有OpenAPI时,除了各个接口的私有参数外,所有OpenAPI都需要传入基于OAuth2.0协议的通用参数:
  参数含义
  访问令牌
  可以通过Authorization_Code获取Access_Token或者获取。
  access_token 的有效期为 3 个月。
  oauth_consumer_key
  申请QQ登录成功后,分配给应用的appid
  openid
  用户ID与QQ号一一对应。
  可以通过调用获得。
  3. 例子
  1.以get_user_info接口为例:
  (请将access_token、appid等参数值替换为自己的)
  2.返回成功后,即可获取用户数据:
  {
   "ret":0,
"msg":"",
"nickname":"YOUR_NICK_NAME",
...
  }
  4. 下一步就是获取用户的Access Token和OpenID,然后调用OpenAPI获取用户信息,进行更多的分享、发微博或日志、上传图片等操作。
  以上信息是否解决了您的问题?
  为了让我们更有效地优化数据库并有针对性地改进我们的服务,我们需要您的进一步反馈信息:
  提交成功!
  非常感谢您的反馈,我们会继续努力做得更好!
  提交成功!
  感谢您的批评和建议。我们会专门对其进行优化,以便为您提供更好的服务。
  开放平台与您一起成长!
  取自“%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E_OAuth2.0”

注册新浪weibo允许第三方以应用的方式发布微博的小玩意

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

  注册新浪weibo允许第三方以应用的方式发布微博的小玩意
  前言
  学python的想法是前不久萌生的,所以为了练手做了这样一个微博小工具。
  注册
  新浪微博允许第三方以应用的形式发布微博,所以我们首先需要通过新浪微博开放平台注册一个应用:
  
  weibo_open
  打开上述平台的页面,用微博账号登录,然后点击立即访问,开始注册自己的应用,按照提示操作即可。以下是我自己创建的应用程序,名为:
  
  应用
  在个人应用的应用信息-基本信息-应用基本信息中找到你的App Key和App Secret。并在高级信息中设置自己的授权回调页面(所谓授权回调页面是指个人应用通过微博账号授权后的跳转页面,设置没有问题,这里我设置为个人微博主页)。
  获取代码的授权
  看了新浪的SDK,很多人可能会选择对应的python SDK。实际上,这是没有必要的。界面变得更加复杂。我们在这里不使用他的界面。
  一般来说,通过微博界面发送微博的第三方应用需要用户授权。我想你以前做过这个,那么哪个授权页面是?
  def get_auth_url(client_id, redirect_uri):
return '%s%s?%s' % ('https://api.weibo.com/oauth2/', 'authorize',
_encode_params(client_id=client_id,
response_type='code',
redirect_uri=redirect_uri))
  client_id是你的app_key,redirect_uri是上一步填写的授权回调页面地址,将生成的链接复制到浏览器打开,输入自己的微博账号进行授权。
  
  授权
  授权成功后,浏览器会跳转到我们设置的授权回调页面。在浏览器地址栏找到code栏,就会有授权码了。
  获取令牌
  接下来,我们需要通过代码获取token。这个token是我们在微博上发帖的凭证:
  def get_access_token(app_key, app_secret, redirect_url):
#通过url_auth输入weibo账号进行登录
#从登录成功后的回调url获得code
url_auth = get_auth_url(app_key, redirect_url)
print('[get_access_token]' + url_auth)
code = input('Input code:')
url_get_token = "https://api.weibo.com/oauth2/access_token"
payload = {
"client_id":app_key,
"client_secret":app_secret,
"grant_type":"authorization_code",
"code":code,
"redirect_uri":redirect_url
}

#获取access_token
res = requests.post(url_get_token, data=payload)
resj = json.loads(res.text)
return resj['access_token']
  令牌只需要获得一次,令牌可以一直重复使用。有效期好像是5年
  安全的微博域名
  新浪微博要求通过应用界面发送的每条微博内容都必须收录一个安全域名字段。您需要在应用信息-基本信息-应用基本信息中配置安全域名。我设置了
  调用接口
  这里的安全域名还是用自己的微博首页,只需要包括:
  def share_weibo(text, img):
access_token = '你的token'
#安全域名,sina限制文本内容必须有此字段
safe_domain = 'https://weibo.com/5296864682/profile?topnav=1&wvr=6'
url_share = 'https://api.weibo.com/2/statuses/share.json'

payload = {
'access_token':access_token,
'status':text + ' ' + safe_domain
}
if img :
files = {
"pic":img
}
res = requests.post(url_share, data = payload, files = files)
else :
res = requests.post(url_share, data = payload)
return res
  测试
  编写测试代码:
  if __name__ == '__main__':
f = open(r"./share.jpeg", "rb")
text = input('Input text:')
res = share_weibo(text, f)
f.close()
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:hello sky
  成功发布图片微博:
  
  你好天空
  如果你想发布视频,很遗憾,新浪没有提供相应的界面。我们只能通过在文本中收录指向现有视频的链接来实现类似的效果。例如,要发布此视频:
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:http://t.cn/Ail9eamb%3Fm%3D439 ... 64682
  成功发送视频微博:
  
  视频
  你可以在我的微博上看到刚刚发送的视频。
  结论
  还有一些接口如注释,可以自己测试,在接口管理中可以看到相应的介绍。
  附上源码: 查看全部

  注册新浪weibo允许第三方以应用的方式发布微博的小玩意
  前言
  学python的想法是前不久萌生的,所以为了练手做了这样一个微博小工具。
  注册
  新浪微博允许第三方以应用的形式发布微博,所以我们首先需要通过新浪微博开放平台注册一个应用:
  
  weibo_open
  打开上述平台的页面,用微博账号登录,然后点击立即访问,开始注册自己的应用,按照提示操作即可。以下是我自己创建的应用程序,名为:
  
  应用
  在个人应用的应用信息-基本信息-应用基本信息中找到你的App Key和App Secret。并在高级信息中设置自己的授权回调页面(所谓授权回调页面是指个人应用通过微博账号授权后的跳转页面,设置没有问题,这里我设置为个人微博主页)。
  获取代码的授权
  看了新浪的SDK,很多人可能会选择对应的python SDK。实际上,这是没有必要的。界面变得更加复杂。我们在这里不使用他的界面。
  一般来说,通过微博界面发送微博的第三方应用需要用户授权。我想你以前做过这个,那么哪个授权页面是?
  def get_auth_url(client_id, redirect_uri):
return '%s%s?%s' % ('https://api.weibo.com/oauth2/', 'authorize',
_encode_params(client_id=client_id,
response_type='code',
redirect_uri=redirect_uri))
  client_id是你的app_key,redirect_uri是上一步填写的授权回调页面地址,将生成的链接复制到浏览器打开,输入自己的微博账号进行授权。
  
  授权
  授权成功后,浏览器会跳转到我们设置的授权回调页面。在浏览器地址栏找到code栏,就会有授权码了。
  获取令牌
  接下来,我们需要通过代码获取token。这个token是我们在微博上发帖的凭证:
  def get_access_token(app_key, app_secret, redirect_url):
#通过url_auth输入weibo账号进行登录
#从登录成功后的回调url获得code
url_auth = get_auth_url(app_key, redirect_url)
print('[get_access_token]' + url_auth)
code = input('Input code:')
url_get_token = "https://api.weibo.com/oauth2/access_token"
payload = {
"client_id":app_key,
"client_secret":app_secret,
"grant_type":"authorization_code",
"code":code,
"redirect_uri":redirect_url
}

#获取access_token
res = requests.post(url_get_token, data=payload)
resj = json.loads(res.text)
return resj['access_token']
  令牌只需要获得一次,令牌可以一直重复使用。有效期好像是5年
  安全的微博域名
  新浪微博要求通过应用界面发送的每条微博内容都必须收录一个安全域名字段。您需要在应用信息-基本信息-应用基本信息中配置安全域名。我设置了
  调用接口
  这里的安全域名还是用自己的微博首页,只需要包括:
  def share_weibo(text, img):
access_token = '你的token'
#安全域名,sina限制文本内容必须有此字段
safe_domain = 'https://weibo.com/5296864682/profile?topnav=1&wvr=6'
url_share = 'https://api.weibo.com/2/statuses/share.json'

payload = {
'access_token':access_token,
'status':text + ' ' + safe_domain
}
if img :
files = {
"pic":img
}
res = requests.post(url_share, data = payload, files = files)
else :
res = requests.post(url_share, data = payload)
return res
  测试
  编写测试代码:
  if __name__ == '__main__':
f = open(r"./share.jpeg", "rb")
text = input('Input text:')
res = share_weibo(text, f)
f.close()
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:hello sky
  成功发布图片微博:
  
  你好天空
  如果你想发布视频,很遗憾,新浪没有提供相应的界面。我们只能通过在文本中收录指向现有视频的链接来实现类似的效果。例如,要发布此视频:
  运行:
  [root@localhost share_weibo]# py sina_weibo.py
Input text:http://t.cn/Ail9eamb%3Fm%3D439 ... 64682
  成功发送视频微博:
  
  视频
  你可以在我的微博上看到刚刚发送的视频。
  结论
  还有一些接口如注释,可以自己测试,在接口管理中可以看到相应的介绍。
  附上源码:

网站应用概述接入介绍(图)网站建设接入方式

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

  网站应用概述接入介绍(图)网站建设接入方式
  网站应用访问概览
  网站应用接入介绍
  QQ互联网开放平台为第三方网站提供了丰富的API。第三方网站接入QQ互联网开放平台后,可通过平台提供的API使用QQ账号登录网站功能,获取腾讯QQ用户的相关信息。
  第三方网站也可以调用腾讯提供的API实现网站的分享、评论、邀请等功能,即网站的社交功能。此外,可以将相关信息同步到QQ空间、腾讯好友、腾讯微博等平台,建立网站与腾讯平台的互动关系,利用庞大的QQ用户群,实现快速网站的传播。
  网站 进入QQ互联网开放平台后,您将获得:
  大量新用户:用户可以使用现有QQ号登录网站。 QQ一键登录可以减少登录交互操作,大大降低网站注册门槛,为网站带来大量新用户。
  活跃访问:登录用户可以将网站上发布和分享的信息即时同步到QQ空间,让网站的内容通过QQ好友关系链进一步传播,从而提高网站的浏览量。
  丰富的开放API:网站可以通过用户资料界面获取用户的空间昵称和头像,丰富用户注册信息。此外,您还可以通过相册、日志等开放接口,让用户在网站上直接访问或修改自己在QQ空间、腾讯好友、腾讯微博上的数据,从而实现与腾讯平台的进一步互联。 .
  网站应用访问方式
  第三方网站主要通过“QQ登录”访问QQ互联网开放平台。
  “QQ登录”是QQ互联网开放平台向第三方网站提供的服务。
  “QQ登录”允许用户使用QQ账号登录第三方网站,分享内容,同步信息,大大降低了用户注册门槛。
  同时,第三方网站根据用户提供的绑定信息,将用户在网站上发布的内容同步发布到QQ空间的个人动态,以利用QQ空间庞大的用户群使网站的信息可以通过朋友关系进一步传播,可以增加网站的访问量和用户数。
  使用QQ登录效果展示
  下面介绍网站使用“QQ登录”访问和修改QQ用户个人信息的全过程。
  注意:
  这里的描述只是为了向网站developers 简单演示一下访问“QQ登录”需要做什么以及它的效果如何。
  3.1 网站设置QQ登录入口
  网站开发者可以在网站首页入口和主要登录和注册页面放置“QQ登录”标志(见红框标记)
  3.2 用户选择使用QQ账号登录
  用户点击按钮后,会弹出一个QQ登录窗口。登录窗口会显示网站自己的Logo、网站名称和首页链接地址。
  如下图:
  
  如果用户已经登录QQ软件,则无需重新输入账号和密码。可以一键快速登录,可以选择授权网站访问自己的相关信息:
  如下图:
  
  3.3 用户绑定账号
  如果用户已经在网站注册过,网站可以引导用户绑定账号。下次用QQ账号登录时,可以同时看到两个账号的所有信息。
  强烈建议网站允许跳过这一步,允许用户在登录成功后在网站设置中选择性绑定,以降低用户登录门槛,提升体验。如下图所示:
  
  3.4 用户成功登录网站
  用户被授权登录网站成功后,网站将显示用户的登录昵称和QQ头像。
  建议网站通过QQ账号在首页或顶部显示用户登录状态,使用户体验一致,包括用户昵称和QQ头像,如下图:
  
  我们为开发者提供了各种网站访问OpenAPI的权限,网站可以调用这些API来实现需要的功能,以便登录用户可以访问和修改QQ用户对网站信息的保护个人. 查看全部

  网站应用概述接入介绍(图)网站建设接入方式
  网站应用访问概览
  网站应用接入介绍
  QQ互联网开放平台为第三方网站提供了丰富的API。第三方网站接入QQ互联网开放平台后,可通过平台提供的API使用QQ账号登录网站功能,获取腾讯QQ用户的相关信息。
  第三方网站也可以调用腾讯提供的API实现网站的分享、评论、邀请等功能,即网站的社交功能。此外,可以将相关信息同步到QQ空间、腾讯好友、腾讯微博等平台,建立网站与腾讯平台的互动关系,利用庞大的QQ用户群,实现快速网站的传播。
  网站 进入QQ互联网开放平台后,您将获得:
  大量新用户:用户可以使用现有QQ号登录网站。 QQ一键登录可以减少登录交互操作,大大降低网站注册门槛,为网站带来大量新用户。
  活跃访问:登录用户可以将网站上发布和分享的信息即时同步到QQ空间,让网站的内容通过QQ好友关系链进一步传播,从而提高网站的浏览量。
  丰富的开放API:网站可以通过用户资料界面获取用户的空间昵称和头像,丰富用户注册信息。此外,您还可以通过相册、日志等开放接口,让用户在网站上直接访问或修改自己在QQ空间、腾讯好友、腾讯微博上的数据,从而实现与腾讯平台的进一步互联。 .
  网站应用访问方式
  第三方网站主要通过“QQ登录”访问QQ互联网开放平台。
  “QQ登录”是QQ互联网开放平台向第三方网站提供的服务。
  “QQ登录”允许用户使用QQ账号登录第三方网站,分享内容,同步信息,大大降低了用户注册门槛。
  同时,第三方网站根据用户提供的绑定信息,将用户在网站上发布的内容同步发布到QQ空间的个人动态,以利用QQ空间庞大的用户群使网站的信息可以通过朋友关系进一步传播,可以增加网站的访问量和用户数。
  使用QQ登录效果展示
  下面介绍网站使用“QQ登录”访问和修改QQ用户个人信息的全过程。
  注意:
  这里的描述只是为了向网站developers 简单演示一下访问“QQ登录”需要做什么以及它的效果如何。
  3.1 网站设置QQ登录入口
  网站开发者可以在网站首页入口和主要登录和注册页面放置“QQ登录”标志(见红框标记)
  3.2 用户选择使用QQ账号登录
  用户点击按钮后,会弹出一个QQ登录窗口。登录窗口会显示网站自己的Logo、网站名称和首页链接地址。
  如下图:
  
  如果用户已经登录QQ软件,则无需重新输入账号和密码。可以一键快速登录,可以选择授权网站访问自己的相关信息:
  如下图:
  
  3.3 用户绑定账号
  如果用户已经在网站注册过,网站可以引导用户绑定账号。下次用QQ账号登录时,可以同时看到两个账号的所有信息。
  强烈建议网站允许跳过这一步,允许用户在登录成功后在网站设置中选择性绑定,以降低用户登录门槛,提升体验。如下图所示:
  
  3.4 用户成功登录网站
  用户被授权登录网站成功后,网站将显示用户的登录昵称和QQ头像。
  建议网站通过QQ账号在首页或顶部显示用户登录状态,使用户体验一致,包括用户昵称和QQ头像,如下图:
  
  我们为开发者提供了各种网站访问OpenAPI的权限,网站可以调用这些API来实现需要的功能,以便登录用户可以访问和修改QQ用户对网站信息的保护个人.

新浪微博的评论模式更为友好(图)

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

  新浪微博的评论模式更为友好(图)
  您可以直接在其他人的帖子下发表评论。
  勾选“同时发一条微博”,可以在自己的微博上发表评论,并直观呈现类似Facebook的评论模式; Twitter 评论直接发布在您自己的微博上,但不要关注对方的时间线。
  相比之下,新浪微博的评论模式更加友好。
  新浪微博。
  推特界面。
  转发模式。
  新浪微博转发方式可配置140字,转发后会发布在自己的微博上。
  如果转发的支票是“在关注某人时作为评论发布”,它也可以作为评论发布给对方。
  消息中,推特目前正在添加转发功能(RT/Retweet)。
  官方RT不能自带内容,但可以转发统计。
  非官方 RT 可以携带内容,但包括原文在内不能超过 140 字,不计算在内。
  相比之下,新浪微博的转发内容越来越灵活。
  好友列表。
  新浪微博没有好友列表功能,无法对好友进行分类管理; Twitter拥有强大的列表功能,不仅可以对你的朋友进行分类,还可以对任何用户进行分类。分类列表也可以单独订阅。
  建立并加强合作伙伴关系。
  新浪微博与新浪用户系统集成,但不与其他网站集成; Twitter可与FriendFeed、Facebook、LinkedIn等系统集成,实现双向全互联。
  开放性。
  新浪微博目前是一个完全封闭的微博网站,不支持API、RSS、电脑客户端和移动端。
  简而言之,几乎什么都不支持; Twitter 几乎是一个完全开放的微博服务。
  除了注册,几乎所有功能都提供API支持。
  支持RSS的客户端软件有很多。
  许多用户使用非官方客户端更新 Twitter。
  用户可以深刻认识到,Twitter 不是网站,而是一种服务。
  审核机制。
  新浪微博有审查机制。用户发布的信息将被监控并删除“有害信息”。
  这也是新浪利用互联网先锋的教训。
  过去,国内有很多微博平台,但都因为无法解决信息发布的监控问题而被迫关闭; Twitter 通常不会审查用户信息,但会删除传播广告的用户。
  总之,新浪微博还是一个相对封闭的微博网站,但是用户的信息交互设计有很多特点。
  虽然人工审核会吓跑部分推特用户,但新浪强大的运营团队仍有可能将其发展成为国内微博龙头。 查看全部

  新浪微博的评论模式更为友好(图)
  您可以直接在其他人的帖子下发表评论。
  勾选“同时发一条微博”,可以在自己的微博上发表评论,并直观呈现类似Facebook的评论模式; Twitter 评论直接发布在您自己的微博上,但不要关注对方的时间线。
  相比之下,新浪微博的评论模式更加友好。
  新浪微博。
  推特界面。
  转发模式。
  新浪微博转发方式可配置140字,转发后会发布在自己的微博上。
  如果转发的支票是“在关注某人时作为评论发布”,它也可以作为评论发布给对方。
  消息中,推特目前正在添加转发功能(RT/Retweet)。
  官方RT不能自带内容,但可以转发统计。
  非官方 RT 可以携带内容,但包括原文在内不能超过 140 字,不计算在内。
  相比之下,新浪微博的转发内容越来越灵活。
  好友列表。
  新浪微博没有好友列表功能,无法对好友进行分类管理; Twitter拥有强大的列表功能,不仅可以对你的朋友进行分类,还可以对任何用户进行分类。分类列表也可以单独订阅。
  建立并加强合作伙伴关系。
  新浪微博与新浪用户系统集成,但不与其他网站集成; Twitter可与FriendFeed、Facebook、LinkedIn等系统集成,实现双向全互联。
  开放性。
  新浪微博目前是一个完全封闭的微博网站,不支持API、RSS、电脑客户端和移动端。
  简而言之,几乎什么都不支持; Twitter 几乎是一个完全开放的微博服务。
  除了注册,几乎所有功能都提供API支持。
  支持RSS的客户端软件有很多。
  许多用户使用非官方客户端更新 Twitter。
  用户可以深刻认识到,Twitter 不是网站,而是一种服务。
  审核机制。
  新浪微博有审查机制。用户发布的信息将被监控并删除“有害信息”。
  这也是新浪利用互联网先锋的教训。
  过去,国内有很多微博平台,但都因为无法解决信息发布的监控问题而被迫关闭; Twitter 通常不会审查用户信息,但会删除传播广告的用户。
  总之,新浪微博还是一个相对封闭的微博网站,但是用户的信息交互设计有很多特点。
  虽然人工审核会吓跑部分推特用户,但新浪强大的运营团队仍有可能将其发展成为国内微博龙头。

新浪微博开放平台接口使用总结

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

  新浪微博开放平台接口使用总结
  注册微博帐号
  登录微博开放平台-》管理中心-》填写信息并进行身份验证
  批准后
  管理中心-》My网站-》添加网站(需要上线的域名)进行验证
  验证通过,得到KEY,即SDK中config.php配置文件的KEY
  本地调试:管理中心-》我的网站-》》网站名》(即你刚刚验证的网站,点击进入)-》网站控制台-》网站信息[高级信息, test account] = 详情请看下面的配置
  基本流程
  下载 SDK
  使用微博API开发时,一般都是在本地开发。网上查了一下,试了一下。很多方法都不成功。最后,它工作了很长时间,终于成功了。
  1)在开发平台的“管理中心”->“我的网站”,点击“添加网站”。 网站Name随便写,网站域名必须是注册域名。添加网站成功后,会得到“App Key”和“App Secret”这两个字符串。 (注:添加网站后,无需提交审核。)
  管理中心-“我的网站-”不在线网站-”点击“网站名”
  输入网站console
  网站信息
  2)“网站信息”->“高级信息”,在安全设置中填写网站的服务IP地址,即:127.0.0.1
  3)“网站信息”->“测试账号”。设置管理帐户。至此,管理中心就设置在这里了。
  4) 这一步是在本地hosts文件中将公网域名绑定到本地测试环境。说白了就是把你加网站的域名绑定到127.0.0.1,xp系统下的hosts文件在C:WINDOWSsystem32driversetc目录下。 (hosts一般都是隐藏文件)最后一行会加127.0.0.1。这样本地的HOSTS文件会直接指向域名对应的IP地址,不需要经过DNS解析。填写好后,在浏览器中访问,会发现是本地的。证明绑定成功。
  5) 最后一步是回调地址。域名部分和你绑定的域名一致,没问题 查看全部

  新浪微博开放平台接口使用总结
  注册微博帐号
  登录微博开放平台-》管理中心-》填写信息并进行身份验证
  批准后
  管理中心-》My网站-》添加网站(需要上线的域名)进行验证
  验证通过,得到KEY,即SDK中config.php配置文件的KEY
  本地调试:管理中心-》我的网站-》》网站名》(即你刚刚验证的网站,点击进入)-》网站控制台-》网站信息[高级信息, test account] = 详情请看下面的配置
  基本流程
  下载 SDK
  使用微博API开发时,一般都是在本地开发。网上查了一下,试了一下。很多方法都不成功。最后,它工作了很长时间,终于成功了。
  1)在开发平台的“管理中心”->“我的网站”,点击“添加网站”。 网站Name随便写,网站域名必须是注册域名。添加网站成功后,会得到“App Key”和“App Secret”这两个字符串。 (注:添加网站后,无需提交审核。)
  管理中心-“我的网站-”不在线网站-”点击“网站名”
  输入网站console
  网站信息
  2)“网站信息”->“高级信息”,在安全设置中填写网站的服务IP地址,即:127.0.0.1
  3)“网站信息”->“测试账号”。设置管理帐户。至此,管理中心就设置在这里了。
  4) 这一步是在本地hosts文件中将公网域名绑定到本地测试环境。说白了就是把你加网站的域名绑定到127.0.0.1,xp系统下的hosts文件在C:WINDOWSsystem32driversetc目录下。 (hosts一般都是隐藏文件)最后一行会加127.0.0.1。这样本地的HOSTS文件会直接指向域名对应的IP地址,不需要经过DNS解析。填写好后,在浏览器中访问,会发现是本地的。证明绑定成功。
  5) 最后一步是回调地址。域名部分和你绑定的域名一致,没问题

Twitter的优点将Twitter同步到其他微博客网站的功能

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

  
Twitter的优点将Twitter同步到其他微博客网站的功能
  
  从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。推特、新浪微博、地谷、9911等都非常火爆,很多人在各种微博平台注册。账号,但是这里有一个新问题,就是信息同步。
  每个人的使用习惯不同,各个微博圈的用户也不同。许多微博用户在每个平台上都有一些人关注。所以需要用一个同步程序来改变各个平台的信息统一处理,而这个处理中心,我觉得应该是推特。
  推特的优势
  之所以使用推特作为微博中心,是因为推特更新的方式很多,工具也很多。使用 TwitterFeed 或 FeedBurner,您还可以直接从 RSS Feed 更新 Twitter。 Twitter本身也是全球最大的微博平台。在可预见的未来,它不会消失。用户发布的信息通常不会丢失或删除。推特信息的备份导出方式有很多种,所以把信息放到推特上。相对安全、安全、稳定。
  将Twitter同步到其他微博的方法是使用GAE。 GAE是谷歌一个非常好的免费托管平台。它具有非常好的稳定性和强大的功能。它支持 Cron Job 来调度任务。因此,我们只需要在GAE上部署一个定时执行的定时任务,设置为每分钟抓取一次用户推特信息。抓拍成功后,直接将最新消息发布到新浪微博等平台,然后将推特信息实时同步到各个微博网站。 @函数。
  同步程序的优点
  这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
  在安全方面,那些第三方网站@会保存您的微博密码进行同步,这会给您的微博账号带来潜在的安全问题。再说了,你还有上千个粉丝的账号密码保存在那些同步网站@里,你放心吗?使用 GAE 的程序同步时,只有您知道密码。我们不应该担心 GAE 被黑客入侵。
  稳定性方面,我用了几个月的同步程序,几乎没有信息丢失。 GAE服务本身的性能也非常稳定,停机时间很少。
  在速度方面,这个同步程序可以在最短的时间内在1分钟内同步所有信息。很少有网站@可以提供这样的同步速度。
  在灵活性方面,我们可以自己修改代码,实现一些定制的特殊功能。例如,在这个程序中,我将收录@的信息定义为不同步。我们也可以自己修改程序来实现很多其他的功能。
  目前该同步程序支持推特同步到新浪微博、地谷、9911、商业、人见网、follow5以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。
  
  其他微博为主
  如果用户不打算基于推特,也可以用这个程序进行同步,先注册一个推特账号,然后找到用户主微博的RSS Feed地址,用TwitterFeed或者FeedBurner来同步这个feed 到 Twitter,然后使用这个程序执行后续的同步。如果新浪微博以后支持RSS Feed,可以使用此方法将新浪微博信息同步到其他微博。
  应用安装部署方法
  如何下​​载,使用TortoiseSVN查看SVN地址,然后编辑app.yaml改成你的appspot应用名,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改it from ret = send_sina_msgs("username","password",text),以用户名和密码开头,分别填写对应微博的用户名和密码。对于不需要同步的服务,请用#注释掉cron.yaml文件这里是定时任务设置,然后就可以按照本文的方法发布,执行appcfg.py更新目录名,使用 Gmail 帐号和密码,即可发布。
  发布后,GAE可以定期执行twitter.py程序。由于定时执行最小可以设置为1分钟,所以同步速度非常快,基本可以达到实时自动同步的效果。
  其他注意事项
  Follow5 需要使用 api_key 进行同步。目前,我的 api_key 存储在程序中。建议使用follow5的用户单独申请一个api_key,防止我的api_key爆炸。人见网需要邀请码才能注册和使用。点击此处获取邀请链接。 Ping.fm 和 Hellotxt 使用密钥进行身份验证。具体操作方法请参考这里。
  
  () () 查看全部

  
Twitter的优点将Twitter同步到其他微博客网站的功能
  
  从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。推特、新浪微博、地谷、9911等都非常火爆,很多人在各种微博平台注册。账号,但是这里有一个新问题,就是信息同步。
  每个人的使用习惯不同,各个微博圈的用户也不同。许多微博用户在每个平台上都有一些人关注。所以需要用一个同步程序来改变各个平台的信息统一处理,而这个处理中心,我觉得应该是推特。
  推特的优势
  之所以使用推特作为微博中心,是因为推特更新的方式很多,工具也很多。使用 TwitterFeed 或 FeedBurner,您还可以直接从 RSS Feed 更新 Twitter。 Twitter本身也是全球最大的微博平台。在可预见的未来,它不会消失。用户发布的信息通常不会丢失或删除。推特信息的备份导出方式有很多种,所以把信息放到推特上。相对安全、安全、稳定。
  将Twitter同步到其他微博的方法是使用GAE。 GAE是谷歌一个非常好的免费托管平台。它具有非常好的稳定性和强大的功能。它支持 Cron Job 来调度任务。因此,我们只需要在GAE上部署一个定时执行的定时任务,设置为每分钟抓取一次用户推特信息。抓拍成功后,直接将最新消息发布到新浪微博等平台,然后将推特信息实时同步到各个微博网站。 @函数。
  同步程序的优点
  这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
  在安全方面,那些第三方网站@会保存您的微博密码进行同步,这会给您的微博账号带来潜在的安全问题。再说了,你还有上千个粉丝的账号密码保存在那些同步网站@里,你放心吗?使用 GAE 的程序同步时,只有您知道密码。我们不应该担心 GAE 被黑客入侵。
  稳定性方面,我用了几个月的同步程序,几乎没有信息丢失。 GAE服务本身的性能也非常稳定,停机时间很少。
  在速度方面,这个同步程序可以在最短的时间内在1分钟内同步所有信息。很少有网站@可以提供这样的同步速度。
  在灵活性方面,我们可以自己修改代码,实现一些定制的特殊功能。例如,在这个程序中,我将收录@的信息定义为不同步。我们也可以自己修改程序来实现很多其他的功能。
  目前该同步程序支持推特同步到新浪微博、地谷、9911、商业、人见网、follow5以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。
  
  其他微博为主
  如果用户不打算基于推特,也可以用这个程序进行同步,先注册一个推特账号,然后找到用户主微博的RSS Feed地址,用TwitterFeed或者FeedBurner来同步这个feed 到 Twitter,然后使用这个程序执行后续的同步。如果新浪微博以后支持RSS Feed,可以使用此方法将新浪微博信息同步到其他微博。
  应用安装部署方法
  如何下​​载,使用TortoiseSVN查看SVN地址,然后编辑app.yaml改成你的appspot应用名,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改it from ret = send_sina_msgs("username","password",text),以用户名和密码开头,分别填写对应微博的用户名和密码。对于不需要同步的服务,请用#注释掉cron.yaml文件这里是定时任务设置,然后就可以按照本文的方法发布,执行appcfg.py更新目录名,使用 Gmail 帐号和密码,即可发布。
  发布后,GAE可以定期执行twitter.py程序。由于定时执行最小可以设置为1分钟,所以同步速度非常快,基本可以达到实时自动同步的效果。
  其他注意事项
  Follow5 需要使用 api_key 进行同步。目前,我的 api_key 存储在程序中。建议使用follow5的用户单独申请一个api_key,防止我的api_key爆炸。人见网需要邀请码才能注册和使用。点击此处获取邀请链接。 Ping.fm 和 Hellotxt 使用密钥进行身份验证。具体操作方法请参考这里。
  
  () ()

php新浪微博的操作类和认证类,就是SDK

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

  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,才能对用户进行操作。
  回调.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
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台网站的应用介绍~再见 查看全部

  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,才能对用户进行操作。
  回调.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
  好了,到此结束,毕竟只是介绍
  有时间写一篇微博开放平台网站的应用介绍~再见

android.2.使用到的OAuth示例,持续更新下载

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

  android.2.使用到的OAuth示例,持续更新下载
  简介
  最近不太忙,花了点时间学习Android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我打算以新浪微博的开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是signpost的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的具体技术细节。
  
  从上图可以看出,实际的流程分为消费者和提供者两部分。示例中的消费者为 c 应用,提供者为示例中的 B 服务提供者。
  使用OAuth进行认证授权的流程如下:
  用户在客户端访问网站,想要操作用户存储在服务提供者中的资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博平台上打开一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_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、新浪微博 查看全部

  android.2.使用到的OAuth示例,持续更新下载
  简介
  最近不太忙,花了点时间学习Android应用开发。经过两周的学习,我在学习的同时也写了很多demo例子。您可以播放来自基本控件和基本动画效果的大量演示,并继续更新和下载。
  从本周开始,我打算以新浪微博的开放平台为实践,开发一个简单的Android客户端,尽可能完善功能。
  今天的内容
  
  上图是这个客户端的主界面。目前只拿到了前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
  运行系统为android2.2.
  用到的技术点包括ListView、自定义ListAdapter、多线程相关的Message、Handler、认证相关的OAuth、用户图片的异步加载。
  新浪微博的验证使用的是signpost的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的具体技术细节。
  
  从上图可以看出,实际的流程分为消费者和提供者两部分。示例中的消费者为 c 应用,提供者为示例中的 B 服务提供者。
  使用OAuth进行认证授权的流程如下:
  用户在客户端访问网站,想要操作用户存储在服务提供者中的资源。客户端向服务提供者请求一个临时令牌。在服务提供者验证客户端的身份后,它会授予一个临时令牌。客户端获取临时令牌后,将用户引导至服务提供商的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供者的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务提供者将用户引导回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户的授权情况向客户端授予访问令牌。客户端使用获取的访问令牌访问存储在服务提供者上的受保护资源。新浪微博上的Oauth
  
  借用新浪微博上的oauth验证流程图。
  当我们在新浪微博平台上打开一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去到request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们将根据 callback_url 重定向到我们应用程序的地址。我们再次使用request_token获取access_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、新浪微博

终于搞定了博客同步到微博的问题,解决过程及思路

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

  终于搞定了博客同步到微博的问题,解决过程及思路
  终于解决了博客同步到微博的问题!
  利用清晰的思路,记录解决过程和思路...
  原因:
  很久很久以前(2018年初),百度空间、网易博客等网络博客停止运营,所以我决定自己开个博客,记录一些东西(虽然我不经常写东西),但是因为很多域名都在等我注册了,所以退休注册了这个博客的域名qingsheng.xyz,用这个域名完成了ICP备案,域名解析,网站建筑,百度收录提交.. . 等繁琐的事情,准备添加博客实时更新同步到微博的功能,然后从网上搜索插件和代码,在微博开放平台上申请,审核上线。 ..当一切准备就绪后,无论是发布新文章还是更新,经过多次测试,都无法同步到微博。
  
  
  错误提示码:"error":"text not find domain!","error_code":10017,"request":"/2/statuses/share.json"
  查了一下,发现新的分享界面在同步微博的时候需要在微博的文字内容中收录一个带有安全域名的网址。
  
  
  微博申请中的安全域名没有填写,所以我填写了,但是提交失败,提示:“请填写主域名和二级域名,如有问题请联系开放平台运营账号。”
  
  
  然后给@微博开平台发了私信,得到的回复是:目前平台只支持传统域名...
  
  
  ... 然后就卡住了,换域名?懒……又要弄了,数据传输太麻烦了,但又不想放弃微博同步。
  解决方案
  昨晚突然想到一个办法:把同步到微博的安全域名url换成传统的域名,然后做传统域名的301重定向到已有的博客...
  就这样吧,我今天申请了一个.com结尾的域名,然后在服务器上添加了二级域名,做了301重定向到现有的博客域名qingsheng.xyz。为微博同步的代码添加字符串替换动作。
  $status = str_replace("qingsheng.xyz","weibo.qsboke.com", $status);
  
  
  测试成功发布微博(^-^)V
  PS:新域名正在备案中,同步到微博的网址链接暂时无法打开
  
  
  文章青生博客首发:
  解决微博安全域名无法设置的问题 qingsheng.xyz
   查看全部

  终于搞定了博客同步到微博的问题,解决过程及思路
  终于解决了博客同步到微博的问题!
  利用清晰的思路,记录解决过程和思路...
  原因:
  很久很久以前(2018年初),百度空间、网易博客等网络博客停止运营,所以我决定自己开个博客,记录一些东西(虽然我不经常写东西),但是因为很多域名都在等我注册了,所以退休注册了这个博客的域名qingsheng.xyz,用这个域名完成了ICP备案,域名解析,网站建筑,百度收录提交.. . 等繁琐的事情,准备添加博客实时更新同步到微博的功能,然后从网上搜索插件和代码,在微博开放平台上申请,审核上线。 ..当一切准备就绪后,无论是发布新文章还是更新,经过多次测试,都无法同步到微博。
  
  
  错误提示码:"error":"text not find domain!","error_code":10017,"request":"/2/statuses/share.json"
  查了一下,发现新的分享界面在同步微博的时候需要在微博的文字内容中收录一个带有安全域名的网址。
  
  
  微博申请中的安全域名没有填写,所以我填写了,但是提交失败,提示:“请填写主域名和二级域名,如有问题请联系开放平台运营账号。”
  
  
  然后给@微博开平台发了私信,得到的回复是:目前平台只支持传统域名...
  
  
  ... 然后就卡住了,换域名?懒……又要弄了,数据传输太麻烦了,但又不想放弃微博同步。
  解决方案
  昨晚突然想到一个办法:把同步到微博的安全域名url换成传统的域名,然后做传统域名的301重定向到已有的博客...
  就这样吧,我今天申请了一个.com结尾的域名,然后在服务器上添加了二级域名,做了301重定向到现有的博客域名qingsheng.xyz。为微博同步的代码添加字符串替换动作。
  $status = str_replace("qingsheng.xyz","weibo.qsboke.com", $status);
  
  
  测试成功发布微博(^-^)V
  PS:新域名正在备案中,同步到微博的网址链接暂时无法打开
  
  
  文章青生博客首发:
  解决微博安全域名无法设置的问题 qingsheng.xyz
  

新浪云存储SCS插件、移植自WordPress的音乐播放器插件

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

  新浪云存储SCS插件、移植自WordPress的音乐播放器插件
  今年 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中直接编译执行的功能... 查看全部

  新浪云存储SCS插件、移植自WordPress的音乐播放器插件
  今年 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中直接编译执行的功能...

Xweibo是基于新浪微博开放API开发免费开源的微博程序

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

  
Xweibo是基于新浪微博开放API开发免费开源的微博程序
  
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、私信等常用功能,并可自定义功能和界面。
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、关注、私信等常用功能,并可自定义功能和界面。微博开放平台是基于新浪微博系统的开放信息订阅、分享和交流平台。微博开放平台为您提供海量微博信息、粉丝关系、随时随地发生的信息裂变传播渠道。您可以登录平台创建应用,利用微博平台提供的界面创建有趣的应用或让您的网站具有更强的社交特征。
  账号互通,畅游微博世界
  1.可以单独使用新浪微博账号登录。
  2.可以单独用网站原账号登录。
  3.support网站原账号和新浪微博账号选择登录。
  4.分享新浪微博海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,从而获得营销推广机会,与新浪微博共同成长.
  高效的运营管理平台
  1.User 认证系统:支持在新浪认证、网站authentication、新浪认证和网站authentification双重认证之间切换。
  2.内容推荐:根据用户需求,以多种形式推荐用户和话题。
  3.界面管理:模板设置,可选择两栏和三栏模板。
  4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义某条微博或评论;支持屏蔽用户,支持屏蔽指定用户。
  5.Skinning 机制:灵活的换肤机制,提供多套炫丽的皮肤,可自定义换肤。
  6.异地通话功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的通话,丰富@k14的内容@其他页面。
  7.互动模块:活动、直播、采访。
  8.扩展设置:焦点位置、轮廓位置、页眉和页脚的推荐设置。
  9.Search 功能:为用户和微博提供全面的搜索。
  10.数据隔离:可以选择只显示本站的数据。
  11.一个页面可以添加多个同类型组件的功能。
  12.更多个性化设置:短链接、个性化域名。
  完善的内容审核,保障信息安全
  1.数据本地备份。
  2.六层信息安全审查机制:
  第一级:用户筛选和屏蔽。
  第二级:非法信息发布过滤(新浪微博帮你完成)
  第三层:信息审核和人工排查(新浪微博庞大的24小时内容监控团队会帮你完成)。
  第四层:网站运营人员实时排查(X微博管理后台可以实时查看网站发来的微博进行屏蔽)。
  第五层:关键词secondary filter(可以在微博管理后台设置关键词filter)。
  第六级:违规留言反馈删除通道(可以使用新浪微博举报功能举报需要删除的微博内容)。
  多版本
  1. 支持移动 WAP 访问。
  2. WEB页面信息实时同步,尽享掌上微博无限乐趣。
  WAP不需要设置,直接读取WEB管理后台设置。 查看全部

  
Xweibo是基于新浪微博开放API开发免费开源的微博程序
  
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、私信等常用功能,并可自定义功能和界面。
  Xweibo是一款基于新浪微博开放API开发的免费开源微博程序。 网站运营商只需要下载X微博安装文件,按照安装向导在服务器上完成安装即可获得完整的微博平台。微博平台收录微博内容的接收、发送、评论、关注、私信等常用功能,并可自定义功能和界面。微博开放平台是基于新浪微博系统的开放信息订阅、分享和交流平台。微博开放平台为您提供海量微博信息、粉丝关系、随时随地发生的信息裂变传播渠道。您可以登录平台创建应用,利用微博平台提供的界面创建有趣的应用或让您的网站具有更强的社交特征。
  账号互通,畅游微博世界
  1.可以单独使用新浪微博账号登录。
  2.可以单独用网站原账号登录。
  3.support网站原账号和新浪微博账号选择登录。
  4.分享新浪微博海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,从而获得营销推广机会,与新浪微博共同成长.
  高效的运营管理平台
  1.User 认证系统:支持在新浪认证、网站authentication、新浪认证和网站authentification双重认证之间切换。
  2.内容推荐:根据用户需求,以多种形式推荐用户和话题。
  3.界面管理:模板设置,可选择两栏和三栏模板。
  4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义某条微博或评论;支持屏蔽用户,支持屏蔽指定用户。
  5.Skinning 机制:灵活的换肤机制,提供多套炫丽的皮肤,可自定义换肤。
  6.异地通话功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的通话,丰富@k14的内容@其他页面。
  7.互动模块:活动、直播、采访。
  8.扩展设置:焦点位置、轮廓位置、页眉和页脚的推荐设置。
  9.Search 功能:为用户和微博提供全面的搜索。
  10.数据隔离:可以选择只显示本站的数据。
  11.一个页面可以添加多个同类型组件的功能。
  12.更多个性化设置:短链接、个性化域名。
  完善的内容审核,保障信息安全
  1.数据本地备份。
  2.六层信息安全审查机制:
  第一级:用户筛选和屏蔽。
  第二级:非法信息发布过滤(新浪微博帮你完成)
  第三层:信息审核和人工排查(新浪微博庞大的24小时内容监控团队会帮你完成)。
  第四层:网站运营人员实时排查(X微博管理后台可以实时查看网站发来的微博进行屏蔽)。
  第五层:关键词secondary filter(可以在微博管理后台设置关键词filter)。
  第六级:违规留言反馈删除通道(可以使用新浪微博举报功能举报需要删除的微博内容)。
  多版本
  1. 支持移动 WAP 访问。
  2. WEB页面信息实时同步,尽享掌上微博无限乐趣。
  WAP不需要设置,直接读取WEB管理后台设置。

文档介绍:毕业论文_微博信息抓取系统(组图)

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

  文档介绍:毕业论文_微博信息抓取系统(组图)
  文档介绍:毕业论文_微博信息采集系统 微博信息采集系统 [摘要] 本文针对微博的海量数据和用户关系群,提出并实现了一个基于新浪和Oauth2.0的微博的开放平台信息抓取系统。系统实现的主要功能有:(1)微博大厅的滚动微博及其评论爬行(2)微博用户的好友及其相互关系)。微博通过线程池和数据库实现。博客信息的抓取和存储,通过prefuse API图形化展示用户关系,从实际运行效果分析,抓取系统可以满足各种SNS应用的内容填充和网络用户社交关系的分析。【 关键词】Oauth2.0;新浪开放平台;社交网络关系;序言介绍研究背景和意义随着移动互联网的发展,中国迎来了真正的微博时代。门槛低、便捷、多元化、同步的发布渠道,使信息生产趋向于零时间。微博与其他信息交流方式不同,最大的特点在于其技术性l 便携性。 2009年,3G牌照的发放标志着移动互联网时代的到来,手机和互联网这两个中国发展最快的媒体开始融合,并为快速扩张的移动互联网做了技术准备。微博。与传统博客相比,微博能够产生粘性强的原因在于其技术上无与伦比的便携性。用户可以通过多种方式登录微博并发布微博。
  尤其是手机与微博的绑定,使得这种贴近微博用户的新媒体满足了4A元素,即Anything, Anywhere, Anytime, Anytime。任何用户都可以随时随地发布任何内容。从此,人们的信息交流得到了前所未有的解放。微博信息抓取系统通过开放平台的API抓取我们需要的信息,在运营初期丰富各种SNS[1]社区应用的数据量和用户量,吸引更多用户的关注和使用。在 SNS 社区交朋友是现在在线用户相互交流的最重要方式。目前最流行的SNS网络是开心网、人人网和各大微博。其中,新浪微博的活跃用户数最多。本课题主要以新浪微博为主要研究和抓取对象。信息捕捉功能。整个系统的框架具有很强的可扩展性,可以根据需要添加其他SNS网络社区抢模块。此外,本系统还从网络用户的社交网络关系入手,以图形化的方式展示网络用户之间的社交关系。本专题的主要工作 本文解决的主要问题是抓取新浪微博微博馆的数据及其相关评论和用户信息。包括新浪微博的Oauth2.0认证,通过调用新浪微博API,获取并解析服务器返回的json文档,建立相应的数据库并存储在数据库中。并且通过Prefuse,将抓取到的微博用户的好友关系直观的展现出来。
  实现全自动抓取、解析和数据存储过程。大大提高了信息采集的效率,大大降低了信息采集的错误率。满足企事业单位对微博信息内容和网民社会关系分析的需求。新浪微博开放平台 微博用户授权2.1.1 新浪微博应用创建 新浪微博开放平台允许所有微博用户创建自己的应用。用户只需要填写开发者的详细信息和申请信息。相关信息可以创建您自己的应用程序。应用创建成功后,开发者会获取应用的APPKEY和SercretKey。我们使用这两个键来进行相关的技术开发工作。这两个键唯一地标识了我们的应用程序。其新浪微博应用创建与发布流程图如图1所示。 图1 新浪开放平台应用创建与发布流程图2.1.2OAuth2.0 授权与鉴权 OAuth2.0是OAuth[2] 协议的下一个版本,始于 2006 年。 OAuth(开放授权)是一种开放标准,允许用户允许第三方应用程序访问用户存储在其上的私人资源(如照片、视频、联系人列表)某某网站不提供用户名和密码给第三方使用。 OAuth 允许用户提供令牌而不是用户名和密码来访问他们存储在特定服务提供商中的数据。每个令牌授权特定的网站(例如视频编辑网站)在特定时间段内(例如,在接下来的2小时内)访问特定资源(例如,只是某个专辑中的视频) .
  通过这种方式,OAuth 允许用户授权第三方网站 访问他们存储在另一个服务提供商上的信息,而无需共享他们的访问权限或他们的所有数据内容。与OAuth1.0相比,OAuth2.0的整个授权验证过程更简单、更安全。也是未来新浪微博开发平台最重要的用户验证和授权方式。使用新的2.0 协议进行授权和认证。开发者只需调用oauth2/authorize接口引导用户进行授权,重定向后的网页获取授权后的code code后,服务端oauth2/ess_token、ess_token调用新浪微博API。授权的基本流程如图2所示: 图2 OAuth认证的基本流程虽然2.0的授权机制更简单安全,但越安全越严格,ess_token的有效期仅为24 小时处于开发和测试阶段。 ess_token。部分新浪微博界面也有访问频率限制。在软件开发和测试阶段,一个接口的访问频率通常限制在每小时150次。当应用程序获得批准并正式发布时,将会有越来越多的权限。其授权标准也将得到提高,访问限制的频率将增加。访问令牌 查看全部

  文档介绍:毕业论文_微博信息抓取系统(组图)
  文档介绍:毕业论文_微博信息采集系统 微博信息采集系统 [摘要] 本文针对微博的海量数据和用户关系群,提出并实现了一个基于新浪和Oauth2.0的微博的开放平台信息抓取系统。系统实现的主要功能有:(1)微博大厅的滚动微博及其评论爬行(2)微博用户的好友及其相互关系)。微博通过线程池和数据库实现。博客信息的抓取和存储,通过prefuse API图形化展示用户关系,从实际运行效果分析,抓取系统可以满足各种SNS应用的内容填充和网络用户社交关系的分析。【 关键词】Oauth2.0;新浪开放平台;社交网络关系;序言介绍研究背景和意义随着移动互联网的发展,中国迎来了真正的微博时代。门槛低、便捷、多元化、同步的发布渠道,使信息生产趋向于零时间。微博与其他信息交流方式不同,最大的特点在于其技术性l 便携性。 2009年,3G牌照的发放标志着移动互联网时代的到来,手机和互联网这两个中国发展最快的媒体开始融合,并为快速扩张的移动互联网做了技术准备。微博。与传统博客相比,微博能够产生粘性强的原因在于其技术上无与伦比的便携性。用户可以通过多种方式登录微博并发布微博。
  尤其是手机与微博的绑定,使得这种贴近微博用户的新媒体满足了4A元素,即Anything, Anywhere, Anytime, Anytime。任何用户都可以随时随地发布任何内容。从此,人们的信息交流得到了前所未有的解放。微博信息抓取系统通过开放平台的API抓取我们需要的信息,在运营初期丰富各种SNS[1]社区应用的数据量和用户量,吸引更多用户的关注和使用。在 SNS 社区交朋友是现在在线用户相互交流的最重要方式。目前最流行的SNS网络是开心网、人人网和各大微博。其中,新浪微博的活跃用户数最多。本课题主要以新浪微博为主要研究和抓取对象。信息捕捉功能。整个系统的框架具有很强的可扩展性,可以根据需要添加其他SNS网络社区抢模块。此外,本系统还从网络用户的社交网络关系入手,以图形化的方式展示网络用户之间的社交关系。本专题的主要工作 本文解决的主要问题是抓取新浪微博微博馆的数据及其相关评论和用户信息。包括新浪微博的Oauth2.0认证,通过调用新浪微博API,获取并解析服务器返回的json文档,建立相应的数据库并存储在数据库中。并且通过Prefuse,将抓取到的微博用户的好友关系直观的展现出来。
  实现全自动抓取、解析和数据存储过程。大大提高了信息采集的效率,大大降低了信息采集的错误率。满足企事业单位对微博信息内容和网民社会关系分析的需求。新浪微博开放平台 微博用户授权2.1.1 新浪微博应用创建 新浪微博开放平台允许所有微博用户创建自己的应用。用户只需要填写开发者的详细信息和申请信息。相关信息可以创建您自己的应用程序。应用创建成功后,开发者会获取应用的APPKEY和SercretKey。我们使用这两个键来进行相关的技术开发工作。这两个键唯一地标识了我们的应用程序。其新浪微博应用创建与发布流程图如图1所示。 图1 新浪开放平台应用创建与发布流程图2.1.2OAuth2.0 授权与鉴权 OAuth2.0是OAuth[2] 协议的下一个版本,始于 2006 年。 OAuth(开放授权)是一种开放标准,允许用户允许第三方应用程序访问用户存储在其上的私人资源(如照片、视频、联系人列表)某某网站不提供用户名和密码给第三方使用。 OAuth 允许用户提供令牌而不是用户名和密码来访问他们存储在特定服务提供商中的数据。每个令牌授权特定的网站(例如视频编辑网站)在特定时间段内(例如,在接下来的2小时内)访问特定资源(例如,只是某个专辑中的视频) .
  通过这种方式,OAuth 允许用户授权第三方网站 访问他们存储在另一个服务提供商上的信息,而无需共享他们的访问权限或他们的所有数据内容。与OAuth1.0相比,OAuth2.0的整个授权验证过程更简单、更安全。也是未来新浪微博开发平台最重要的用户验证和授权方式。使用新的2.0 协议进行授权和认证。开发者只需调用oauth2/authorize接口引导用户进行授权,重定向后的网页获取授权后的code code后,服务端oauth2/ess_token、ess_token调用新浪微博API。授权的基本流程如图2所示: 图2 OAuth认证的基本流程虽然2.0的授权机制更简单安全,但越安全越严格,ess_token的有效期仅为24 小时处于开发和测试阶段。 ess_token。部分新浪微博界面也有访问频率限制。在软件开发和测试阶段,一个接口的访问频率通常限制在每小时150次。当应用程序获得批准并正式发布时,将会有越来越多的权限。其授权标准也将得到提高,访问限制的频率将增加。访问令牌

从WordPress微博同步插件第一个版本的强势来袭!

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

  从WordPress微博同步插件第一个版本的强势来袭!
  这个插件简单实用。您可以在 WordPress 中发布文章 自动发送新浪微博(带有精选图片)。不得不说,市面上有很多不同的同步插件,但是都太臃肿了,或者添加的太多了。不实用的第三方功能,作为一个追求极致的博主,这是一种煎熬,我们需要的是简单实用。插件提供后台设置菜单,也可以拥有自己的微博尾巴,但需要自己在微博开放平台申请Appkey。
  声明:由于微博开放平台界面和权限问题,凡力微博V3.1将不再支持早期创建“微连接-连接网站”微博应用,请转发微博开放平台创建“微连接-web应用”,并添加设置的应用的安全域名和回调地址,应用必须通过审核,否则插件将无法同步!请注意!
  
  WordPress微博同步插件第一版发布已经一年多了,已经有数百个网站使用了。它也经历了几次版本升级和变化,但总有不尽人意的地方。这一次,V2.0版WordPress微博同步插件来了。插件再次进行了深度升级和开发,更换了插件的各种功能和数据存储方式。同时,插件正式命名为“Fanly微博”,保持原有风格,尽可能完美。
  简单的背景设置
  
  完美的同步效果
  
  如何使用
  安装方法和普通的WordPress插件一样。您可以直接通过WordPress后台在线上传安装这个插件,也可以解压上传到WordPress程序的“/wp-content/plugins/”,然后在后台插件菜单中启用“Micro”。 “博客同步”,最后在设置菜单的“微博同步”中填写微博开放平台申请的Appkey和自己的微博。
  如有任何问题,请直接联系作者,或在本页留言。我们及时为您提供售后服务。
  更新记录
  1.0 版本:实现微博同步功能。
  1.1 版本:实现后台菜单设置。
  1.2版本:实现文章中图片的同步。
  1.3版本:实现文章精选图片优先同步功能。
  1.4 版本:通过微博Token实现微博同步,实现稳定同步。
  范利微博V2.0版去除插件原有数据写入方式,使用数组方式保存后台设置,重写功能兼容性问题,支持WordPress汇总支持文章首段内容同步去除同步内容包装等格式,加入Fanly插件系列。插件正式命名为:范利微博范利微博V2.1 版本优化回调 获取方法 授权回调页面地址 获取范利微博V3.0 版本升级微博 最新同步界面 删除旧版本界面范利微博V 3. 1版本新增发布选项,新增视图同步微博功能,新增插件重置功能,全面支持微连接——网页应用不再支持微连接——连接网站Fanly微博V3.2版本支持自定义文章类型同步优化同步设置,需要重新设置插件。添加设置页面。新版本更新提醒。其他细节优化调整。 Fanly微博V3.3版本新增微博延时同步功能。优化插件同步逻辑。优化插件更新提醒。说到看不懂的细节,调整范力微博V3.4。修复部分PHP版本无法同步图片的情况。修复插件更新提醒。提示:服务器必须支持 curl
  范利微博V3.4.1 版本:调整延迟同步选项的判断规则
  范利微博V3.5版本延时功能支持自定义定时同步到微博同步失败提示错误信息支持同步站点名称范利微博V3.6版本支持WordPress 5.0+新版块编辑器添加定位模块选择功能 添加自定义延迟时间开关,增强数据判断减少冗余(建议关闭默认同步选项)优化插件同步规则
  说明:凡力微博V3.6版本后,价格调整为88元,已购买的用户可免费升级下载最新版本。
  粉丝微博V3.6.1版本:修复同步成功后再次更新文章时清除同步状态的问题
  使用步骤
  Fanly微博微博同步插件使用教程(必看):
  1.购买并通过雷雪建站平台下载最新版本的插件;
  2.通过WordPress后台插件禁用和删除插件(新购买者请跳过);
  3.将插件文件通过FTP解压上传到“wp-content/plugins”目录,或者通过WordPress后台插件上传安装;
  4.通过后台插件菜单启用插件;
  5.通过启用的插件点击插件设置,或者通过WordPress设置菜单找到插件设置面板;
  6.然后填写在微博开放平台申请的AppKey和AppSecret并保存;
  7.点击“获取Token”,登录需要同步的微博账号,并保存;
  8.如需修改同步微博账号,请先删除并保存token,然后重复上一步获取token。
  使用提示:如果同步失败,请删除Token并保存,重新获取Token,或者禁用和启用插件一次。
  付费资源
  购买须知:是否适用请自行确定,虚拟物品不支持退换货!
  资源价格:88CNY
  泪雪提示:需要先登录才能购买资源
  隐藏内容:资源收录隐藏内容,购买后可见! 查看全部

  从WordPress微博同步插件第一个版本的强势来袭!
  这个插件简单实用。您可以在 WordPress 中发布文章 自动发送新浪微博(带有精选图片)。不得不说,市面上有很多不同的同步插件,但是都太臃肿了,或者添加的太多了。不实用的第三方功能,作为一个追求极致的博主,这是一种煎熬,我们需要的是简单实用。插件提供后台设置菜单,也可以拥有自己的微博尾巴,但需要自己在微博开放平台申请Appkey。
  声明:由于微博开放平台界面和权限问题,凡力微博V3.1将不再支持早期创建“微连接-连接网站”微博应用,请转发微博开放平台创建“微连接-web应用”,并添加设置的应用的安全域名和回调地址,应用必须通过审核,否则插件将无法同步!请注意!
  
  WordPress微博同步插件第一版发布已经一年多了,已经有数百个网站使用了。它也经历了几次版本升级和变化,但总有不尽人意的地方。这一次,V2.0版WordPress微博同步插件来了。插件再次进行了深度升级和开发,更换了插件的各种功能和数据存储方式。同时,插件正式命名为“Fanly微博”,保持原有风格,尽可能完美。
  简单的背景设置
  
  完美的同步效果
  
  如何使用
  安装方法和普通的WordPress插件一样。您可以直接通过WordPress后台在线上传安装这个插件,也可以解压上传到WordPress程序的“/wp-content/plugins/”,然后在后台插件菜单中启用“Micro”。 “博客同步”,最后在设置菜单的“微博同步”中填写微博开放平台申请的Appkey和自己的微博。
  如有任何问题,请直接联系作者,或在本页留言。我们及时为您提供售后服务。
  更新记录
  1.0 版本:实现微博同步功能。
  1.1 版本:实现后台菜单设置。
  1.2版本:实现文章中图片的同步。
  1.3版本:实现文章精选图片优先同步功能。
  1.4 版本:通过微博Token实现微博同步,实现稳定同步。
  范利微博V2.0版去除插件原有数据写入方式,使用数组方式保存后台设置,重写功能兼容性问题,支持WordPress汇总支持文章首段内容同步去除同步内容包装等格式,加入Fanly插件系列。插件正式命名为:范利微博范利微博V2.1 版本优化回调 获取方法 授权回调页面地址 获取范利微博V3.0 版本升级微博 最新同步界面 删除旧版本界面范利微博V 3. 1版本新增发布选项,新增视图同步微博功能,新增插件重置功能,全面支持微连接——网页应用不再支持微连接——连接网站Fanly微博V3.2版本支持自定义文章类型同步优化同步设置,需要重新设置插件。添加设置页面。新版本更新提醒。其他细节优化调整。 Fanly微博V3.3版本新增微博延时同步功能。优化插件同步逻辑。优化插件更新提醒。说到看不懂的细节,调整范力微博V3.4。修复部分PHP版本无法同步图片的情况。修复插件更新提醒。提示:服务器必须支持 curl
  范利微博V3.4.1 版本:调整延迟同步选项的判断规则
  范利微博V3.5版本延时功能支持自定义定时同步到微博同步失败提示错误信息支持同步站点名称范利微博V3.6版本支持WordPress 5.0+新版块编辑器添加定位模块选择功能 添加自定义延迟时间开关,增强数据判断减少冗余(建议关闭默认同步选项)优化插件同步规则
  说明:凡力微博V3.6版本后,价格调整为88元,已购买的用户可免费升级下载最新版本。
  粉丝微博V3.6.1版本:修复同步成功后再次更新文章时清除同步状态的问题
  使用步骤
  Fanly微博微博同步插件使用教程(必看):
  1.购买并通过雷雪建站平台下载最新版本的插件;
  2.通过WordPress后台插件禁用和删除插件(新购买者请跳过);
  3.将插件文件通过FTP解压上传到“wp-content/plugins”目录,或者通过WordPress后台插件上传安装;
  4.通过后台插件菜单启用插件;
  5.通过启用的插件点击插件设置,或者通过WordPress设置菜单找到插件设置面板;
  6.然后填写在微博开放平台申请的AppKey和AppSecret并保存;
  7.点击“获取Token”,登录需要同步的微博账号,并保存;
  8.如需修改同步微博账号,请先删除并保存token,然后重复上一步获取token。
  使用提示:如果同步失败,请删除Token并保存,重新获取Token,或者禁用和启用插件一次。
  付费资源
  购买须知:是否适用请自行确定,虚拟物品不支持退换货!
  资源价格:88CNY
  泪雪提示:需要先登录才能购买资源
  隐藏内容:资源收录隐藏内容,购买后可见!

新浪微博开放平台SSO授权上线:用户只需登录一次

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

  新浪微博开放平台SSO授权上线:用户只需登录一次
  新浪科技讯10月16日消息,由SSO授权的SSO微博开放平台近日正式上线。用户只需登录一次即可访问其他可信应用系统。
  作为一个普通的微博用户,在他的手机上使用新浪微博客户端,我已经输入了我的账号和密码,我希望我的手机上有第三方应用,比如360安全浏览器,唱歌吧等。 , 识别当前微博账号,无需重新输入账号密码即可登录? SSO 授权可以帮助用户实现这个愿望。
  SSO的英文全称是Single Sign On(单点登录),意思是用户只需要登录一次就可以访问其他受信任的应用程序。新浪微博开放平台推出SSO授权,意味着已安装新浪微博客户端并登录经此授权的第三方应用的手机用户,只需简单操作即可完成授权,即可使用新浪微博客户端微博帐号和使用密码登录这些应用程序,无需重新输入帐号和密码。如果用户手机未安装微博客户端,则启用网页授权方式完成授权。
  据悉,首批SSO授权发布的应用包括360安全浏览器、唱吧、航旅方面、豆果美食、美食店等11个,更多第三方应用将陆续上线稍后添加。用户登录这些应用后,只需点击几下即可完成授权流程:“点击授权按钮-在官方微博客户端选择已登录的微博账号-点击确认”。
  SSO授权将避免手机输入不便带来的麻烦,让用户可以使用微博账号作为公众账号登录其他第三方应用。一个新浪微博账号,通过N个第三方应用,最大程度提升操作便捷性。
  新浪微博开放平台SSO授权的推出和SSO服务(单点登录服务中心)的建立,将大大简化用户登录程序,方便各类第三方使用,也将吸引更多并且更多的第三方开发者使用此授权。同时,第三方也可以根据自己的需要重新开发新浪微博官方SDK。
  SSO 授权的出现,标志着新浪正在逐步构建完整的生态系统。对于第三方开发者来说,使用SSO授权,新用户的进入会更容易,带来更多的流量和用户资源;同时,便捷的登录方式也降低了用户的使用门槛,只要用户手机安装了微博客户端,无需再次输入账号密码即可完成登录,促使更多外界信息流入新浪微博平台。 查看全部

  新浪微博开放平台SSO授权上线:用户只需登录一次
  新浪科技讯10月16日消息,由SSO授权的SSO微博开放平台近日正式上线。用户只需登录一次即可访问其他可信应用系统。
  作为一个普通的微博用户,在他的手机上使用新浪微博客户端,我已经输入了我的账号和密码,我希望我的手机上有第三方应用,比如360安全浏览器,唱歌吧等。 , 识别当前微博账号,无需重新输入账号密码即可登录? SSO 授权可以帮助用户实现这个愿望。
  SSO的英文全称是Single Sign On(单点登录),意思是用户只需要登录一次就可以访问其他受信任的应用程序。新浪微博开放平台推出SSO授权,意味着已安装新浪微博客户端并登录经此授权的第三方应用的手机用户,只需简单操作即可完成授权,即可使用新浪微博客户端微博帐号和使用密码登录这些应用程序,无需重新输入帐号和密码。如果用户手机未安装微博客户端,则启用网页授权方式完成授权。
  据悉,首批SSO授权发布的应用包括360安全浏览器、唱吧、航旅方面、豆果美食、美食店等11个,更多第三方应用将陆续上线稍后添加。用户登录这些应用后,只需点击几下即可完成授权流程:“点击授权按钮-在官方微博客户端选择已登录的微博账号-点击确认”。
  SSO授权将避免手机输入不便带来的麻烦,让用户可以使用微博账号作为公众账号登录其他第三方应用。一个新浪微博账号,通过N个第三方应用,最大程度提升操作便捷性。
  新浪微博开放平台SSO授权的推出和SSO服务(单点登录服务中心)的建立,将大大简化用户登录程序,方便各类第三方使用,也将吸引更多并且更多的第三方开发者使用此授权。同时,第三方也可以根据自己的需要重新开发新浪微博官方SDK。
  SSO 授权的出现,标志着新浪正在逐步构建完整的生态系统。对于第三方开发者来说,使用SSO授权,新用户的进入会更容易,带来更多的流量和用户资源;同时,便捷的登录方式也降低了用户的使用门槛,只要用户手机安装了微博客户端,无需再次输入账号密码即可完成登录,促使更多外界信息流入新浪微博平台。

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

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

  如何使用新浪微博开放平台api同步微博内容至自己网站
  使用新浪微博开放平台api同步微博内容至自己网站,然后发出去,新浪微博会自动转发,这时候你的网站已经实现了类似facebook那样的推送,自然而然就可以加上互动话题,
  @李明婷的办法,解决了问题本身。这个问题还有点站在巨人的肩膀上,依然有点“几脚踏空”。
  对于不经常看微博的用户来说,pc端打开也实现不了这个功能。先说官方解决方案吧,现在推出的微博推送推送界面一般是这样的:左边选择你的内容推送到哪个社交平台,右边选择你的推送的社交平台、时间。也就是这种操作,这样可以同步你的pc、wap网站的微博内容,但是对于拥有太多账号、服务器庞大、大到几十万小到几千人的体量的用户,需要多人同时操作同一个pc页面,几乎很难做到,并且互相之间的不安全性(相信每个有200账号都知道这一点),同时内容推送的推送源太弱了,很难达到当时的要求,真正的全网推送还得是微博推送。
  之前(2017年)微博推送提供了这样的服务方案,真心不咋地,(有推送功能的都会提供该功能,这就是互联网的游戏规则),现在的新浪微博本身采用收费服务的,主要是300元,花300元可以在1个微博、5个社交平台之间实现全网推送(目前包括其他平台)。这种方案本身的优点是免费推送,以及很安全。但不能达到全网推送(因为推送源太多),这是目前比较不错的方案。基于这个事实,那该怎么办?让开发者可以在你的wap微博后台实现以下功能:。
  1、看什么时间看推送到哪个平台,
  2、关键时间点、地点、社交平台,关键推送出去的内容,
  3、关键时间点、地点、推送出去的内容,引导用户关注等等。该怎么设计呢?要回答以上3个问题的话,分别来回答。
  对于
  1、3点,不能像原先设计的那样随意,必须在该平台是重点推送时间段(很多时候用户的注意力都在哪个时间段),该平台是重点推送内容时间段(太多),并且关键推送时间点(太多),为保证安全性的话,选一个关键推送内容时间点、地点;如果实在想在更早期就达到全网推送的效果,如安排在高峰期,增加推送时间段和推送时间段的精确度,还是有可能的。
  回答2-3点,要求你提供的资源足够多,实现全网推送的话,最少得增加几十万个并发访问来支持,用户的请求太多了,服务器和负载能力跟不上;并且互相之间互相不安全,需要仔细把控;对于互动话题,一样,要依靠该平台的过亿级别用户,并且其他平台都需要在公开场合提供这些内容。目前,请问下,一个人,或者。
  2、3个人同时让你去发布有互动话题的微 查看全部

  如何使用新浪微博开放平台api同步微博内容至自己网站
  使用新浪微博开放平台api同步微博内容至自己网站,然后发出去,新浪微博会自动转发,这时候你的网站已经实现了类似facebook那样的推送,自然而然就可以加上互动话题,
  @李明婷的办法,解决了问题本身。这个问题还有点站在巨人的肩膀上,依然有点“几脚踏空”。
  对于不经常看微博的用户来说,pc端打开也实现不了这个功能。先说官方解决方案吧,现在推出的微博推送推送界面一般是这样的:左边选择你的内容推送到哪个社交平台,右边选择你的推送的社交平台、时间。也就是这种操作,这样可以同步你的pc、wap网站的微博内容,但是对于拥有太多账号、服务器庞大、大到几十万小到几千人的体量的用户,需要多人同时操作同一个pc页面,几乎很难做到,并且互相之间的不安全性(相信每个有200账号都知道这一点),同时内容推送的推送源太弱了,很难达到当时的要求,真正的全网推送还得是微博推送。
  之前(2017年)微博推送提供了这样的服务方案,真心不咋地,(有推送功能的都会提供该功能,这就是互联网的游戏规则),现在的新浪微博本身采用收费服务的,主要是300元,花300元可以在1个微博、5个社交平台之间实现全网推送(目前包括其他平台)。这种方案本身的优点是免费推送,以及很安全。但不能达到全网推送(因为推送源太多),这是目前比较不错的方案。基于这个事实,那该怎么办?让开发者可以在你的wap微博后台实现以下功能:。
  1、看什么时间看推送到哪个平台,
  2、关键时间点、地点、社交平台,关键推送出去的内容,
  3、关键时间点、地点、推送出去的内容,引导用户关注等等。该怎么设计呢?要回答以上3个问题的话,分别来回答。
  对于
  1、3点,不能像原先设计的那样随意,必须在该平台是重点推送时间段(很多时候用户的注意力都在哪个时间段),该平台是重点推送内容时间段(太多),并且关键推送时间点(太多),为保证安全性的话,选一个关键推送内容时间点、地点;如果实在想在更早期就达到全网推送的效果,如安排在高峰期,增加推送时间段和推送时间段的精确度,还是有可能的。
  回答2-3点,要求你提供的资源足够多,实现全网推送的话,最少得增加几十万个并发访问来支持,用户的请求太多了,服务器和负载能力跟不上;并且互相之间互相不安全,需要仔细把控;对于互动话题,一样,要依靠该平台的过亿级别用户,并且其他平台都需要在公开场合提供这些内容。目前,请问下,一个人,或者。
  2、3个人同时让你去发布有互动话题的微

开源软件供应链点亮计划,等你来!(图)

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

  开源软件供应链点亮计划,等你来!(图)
  开源软件供应链照明计划等你来! >>>
  
  随着新浪微博用户越来越多,我们有时会考虑在网站中整合新浪微博。例如,我目前的独立博客。
  我博客的整合主要是这几个方面:我写了一个文章,同时发到微博上。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
  新浪微博开放平台地址在这里。文档地址在这里。
  首先涉及的问题是用户使用新浪微博账号登录的问题,即授权机制。有两种基本方法:
  OAuth Basic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth,因此不讨论该方法。其实要求用户名和密码的方法本质上是不安全。)
  OAuth 新浪官方文档在这里。想了解OAuth技术说明的可以访问官方网站。
  其实OAuth的流程还是很简单的。大致如下:
  从 API 调用中获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。将请求令牌交换到新浪微博以获取访问令牌。执行。
  了解了OAuth的原理后,既然是集成到Django中,自然需要下载Python版的微博SDK。
  但是,在一切开始之前,您必须从新浪微博申请。申请地址在这里。这里需要强调的是,以后的应用需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。 (在这个例子中,我们的分类是合作网站。)
  申请完成后,您将获得您申请的App Key和App Secret。
  回到授权用户登录的话题,要允许新浪微博账号访问,首先我们需要在urlpatterns中添加几个URL。如下:
  urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
  接下来,我们启动视图文件。代码:
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""

from django.http import HttpResponseRedirect

from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth

consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret

class WebOAuthHandler(OAuthHandler):

def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()

# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)


def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url

def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)

def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url

# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)

def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']

auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token

# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)

def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
  完成授权码后,接下来我们需要知道如何向新浪微博发送消息等操作。其实就是下载的sdk下exanples文件夹下的examples(是的,其实就是examples,这就是英文水平,不过我吐不出来)。基本上,您可以更改它并直接使用它。以oauthSetTokenUpdate.py为例,我们可以这样写:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)

status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
  运行此程序时,系统会提示您输入 URL 链接。在浏览器中打开链接并授予访问权限,您将获得一串 PIN 码。输入此 PIN 码,将发送一条推文,同时还会显示用户的访问令牌密钥和访问令牌秘密。
  但是,这有点太书呆子了吗?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)

status = api.update_status(status='搞定收工~')
  这时候我们可以重构代码,写一个微博类来实现上述功能,实现一些api操作。
  class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret

def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''

def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''

def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)

def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)

def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id

def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id

def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid

def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid

def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid

def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
  不知道读者是否还记得上面授权部分的代码。在login_check方法代码中,有这么一句。
  request.session['oauth_access_token'] = access_token
  授权用户的access_token已经保存在session变量中。因此,当用户授权完成后,我们可以直接使用session中存储的access_token,如下:
  access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
  以上示例中仅使用了部分 API,完整的 API 手册请参阅此处。
  文章来源: 查看全部

  开源软件供应链点亮计划,等你来!(图)
  开源软件供应链照明计划等你来! >>>
  
  随着新浪微博用户越来越多,我们有时会考虑在网站中整合新浪微博。例如,我目前的独立博客。
  我博客的整合主要是这几个方面:我写了一个文章,同时发到微博上。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
  新浪微博开放平台地址在这里。文档地址在这里。
  首先涉及的问题是用户使用新浪微博账号登录的问题,即授权机制。有两种基本方法:
  OAuth Basic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth,因此不讨论该方法。其实要求用户名和密码的方法本质上是不安全。)
  OAuth 新浪官方文档在这里。想了解OAuth技术说明的可以访问官方网站。
  其实OAuth的流程还是很简单的。大致如下:
  从 API 调用中获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。将请求令牌交换到新浪微博以获取访问令牌。执行。
  了解了OAuth的原理后,既然是集成到Django中,自然需要下载Python版的微博SDK。
  但是,在一切开始之前,您必须从新浪微博申请。申请地址在这里。这里需要强调的是,以后的应用需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。 (在这个例子中,我们的分类是合作网站。)
  申请完成后,您将获得您申请的App Key和App Secret。
  回到授权用户登录的话题,要允许新浪微博账号访问,首先我们需要在urlpatterns中添加几个URL。如下:
  urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
  接下来,我们启动视图文件。代码:
  #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""

from django.http import HttpResponseRedirect

from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth

consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret

class WebOAuthHandler(OAuthHandler):

def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()

# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)


def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url

def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)

def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url

# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)

def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']

auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token

# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)

def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
  完成授权码后,接下来我们需要知道如何向新浪微博发送消息等操作。其实就是下载的sdk下exanples文件夹下的examples(是的,其实就是examples,这就是英文水平,不过我吐不出来)。基本上,您可以更改它并直接使用它。以oauthSetTokenUpdate.py为例,我们可以这样写:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)

status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
  运行此程序时,系统会提示您输入 URL 链接。在浏览器中打开链接并授予访问权限,您将获得一串 PIN 码。输入此 PIN 码,将发送一条推文,同时还会显示用户的访问令牌密钥和访问令牌秘密。
  但是,这有点太书呆子了吗?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
  # -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API

consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)

status = api.update_status(status='搞定收工~')
  这时候我们可以重构代码,写一个微博类来实现上述功能,实现一些api操作。
  class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret

def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''

def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''

def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)

def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)

def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id

def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id

def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid

def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid

def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid

def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
  不知道读者是否还记得上面授权部分的代码。在login_check方法代码中,有这么一句。
  request.session['oauth_access_token'] = access_token
  授权用户的access_token已经保存在session变量中。因此,当用户授权完成后,我们可以直接使用session中存储的access_token,如下:
  access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
  以上示例中仅使用了部分 API,完整的 API 手册请参阅此处。
  文章来源:

官方客服QQ群

微信人工客服

QQ人工客服


线