
使用新浪微博开放平台api同步微博内容至自己网站
使用新浪微博开放平台api同步微博内容至自己网站(国外的微博程序,你知道几个?(上))
网站优化 • 优采云 发表了文章 • 0 个评论 • 342 次浏览 • 2022-02-18 07:17
虽然国外微博程序功能齐全,但StateusNet等可能并不适合国内特殊环境。在这种情况下,我们来数一数国内的微博产品。更多详情请关注相关报道。
微博
微博v2.0官方版下载
界面预览
新浪微博基于新浪开放的API,通过绑定新浪微博账号可以实现与新浪微博的无缝对接。微博完全免费开源,如果不能完全满足客户的需求,客户可以自由修改。微博支持与原站账号系统对接。1. 版本 1 内置了 Discuz! 的帐户适配器,可以连接 Discuz! 和微博账户,只需少量操作。微博支持换肤机制。除了默认提供的六套皮肤外,还可以自行开发自定义皮肤。
微博
iWeibo v1.0 下载
界面预览
腾讯iWeibo系统是基于腾讯微博开放平台API开发的免费微博系统。微博功能齐全,可轻松接入腾讯微博。
页面烹饪
PageCookery微博系统v0.9.8下载
界面预览
PageCookery 是国内第一个公开发布的单用户版本的开源微博程序。基于PHP+MySQL架构,以“分享”和“发现”为理念的安全、高效、稳定的Web2.0微博解决方案。
便条狗
注意狗v3.6.6.20120829升级包UTF-8下载
界面预览
Notedog微博系统是一套行业领先的开源PHP微博程序。支持网页、手机、QQ机器人、异地分享等多种方式发布内容。同步到新浪微博(可以使用新浪微博账号登录、注册、绑定)等传播内容是目前最流行、最受欢迎的互动系统。
易谈
EasyTalk v5.0.1 build 20100801下载
界面预览
EasyTalk是国内首个PHP+Mysql多用户开源微博系统,支持网页、手机等多种方式发布和接收信息。EasyTalk 完全符合中国人的上网习惯。安装部署简单,管理方便。EasyTalk功能强大,二次开发率高,人性化的模板定制功能大大提升了用户体验。因此,EasyTalk相对于国内其他微博软件具有绝对优势! 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(国外的微博程序,你知道几个?(上))
虽然国外微博程序功能齐全,但StateusNet等可能并不适合国内特殊环境。在这种情况下,我们来数一数国内的微博产品。更多详情请关注相关报道。
微博
微博v2.0官方版下载


界面预览
新浪微博基于新浪开放的API,通过绑定新浪微博账号可以实现与新浪微博的无缝对接。微博完全免费开源,如果不能完全满足客户的需求,客户可以自由修改。微博支持与原站账号系统对接。1. 版本 1 内置了 Discuz! 的帐户适配器,可以连接 Discuz! 和微博账户,只需少量操作。微博支持换肤机制。除了默认提供的六套皮肤外,还可以自行开发自定义皮肤。
微博
iWeibo v1.0 下载


界面预览
腾讯iWeibo系统是基于腾讯微博开放平台API开发的免费微博系统。微博功能齐全,可轻松接入腾讯微博。
页面烹饪
PageCookery微博系统v0.9.8下载


界面预览
PageCookery 是国内第一个公开发布的单用户版本的开源微博程序。基于PHP+MySQL架构,以“分享”和“发现”为理念的安全、高效、稳定的Web2.0微博解决方案。
便条狗
注意狗v3.6.6.20120829升级包UTF-8下载


界面预览
Notedog微博系统是一套行业领先的开源PHP微博程序。支持网页、手机、QQ机器人、异地分享等多种方式发布内容。同步到新浪微博(可以使用新浪微博账号登录、注册、绑定)等传播内容是目前最流行、最受欢迎的互动系统。
易谈
EasyTalk v5.0.1 build 20100801下载


界面预览
EasyTalk是国内首个PHP+Mysql多用户开源微博系统,支持网页、手机等多种方式发布和接收信息。EasyTalk 完全符合中国人的上网习惯。安装部署简单,管理方便。EasyTalk功能强大,二次开发率高,人性化的模板定制功能大大提升了用户体验。因此,EasyTalk相对于国内其他微博软件具有绝对优势!
使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站-webgis-native)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2022-02-17 19:04
使用新浪微博开放平台api同步微博内容至自己网站-webgis-native/
你好!专注服务于企业级大数据分析、数据可视化等需求,相关产品线包括行业分析bi系统、行业分析报告bi系统、bi平台、数据源及数据处理模块,平台已经成功服务于多家企业、政府部门。
我们之前用了行业分析的bi系统,特别方便快捷,不管是跟行业数据分析相关的各种仪表盘、报表、分析报告,bi系统都是实时同步的,不用维护,不同部门的进行交流,互通有无也很方便。
这个,你可以先看看新浪微博开放平台有什么合作平台之类的,是专注于微博开放平台开发,算是业内比较专业的了,可以去了解下。
看过一篇文章(来自爱分析),
我认为是这样1.提供技术支持2.提供运营支持3.提供专业的咨询。
微博数据上报平台和微博数据采集平台了解一下,为多方需求提供“天猫超市的毛利分析和进销存管理”服务,是腾讯、阿里、大麦科技合作成立的一个专业团队提供服务的。详情请见新浪微博开放平台。
找
国内的可以了解下apilink, 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站-webgis-native)
使用新浪微博开放平台api同步微博内容至自己网站-webgis-native/
你好!专注服务于企业级大数据分析、数据可视化等需求,相关产品线包括行业分析bi系统、行业分析报告bi系统、bi平台、数据源及数据处理模块,平台已经成功服务于多家企业、政府部门。
我们之前用了行业分析的bi系统,特别方便快捷,不管是跟行业数据分析相关的各种仪表盘、报表、分析报告,bi系统都是实时同步的,不用维护,不同部门的进行交流,互通有无也很方便。
这个,你可以先看看新浪微博开放平台有什么合作平台之类的,是专注于微博开放平台开发,算是业内比较专业的了,可以去了解下。
看过一篇文章(来自爱分析),
我认为是这样1.提供技术支持2.提供运营支持3.提供专业的咨询。
微博数据上报平台和微博数据采集平台了解一下,为多方需求提供“天猫超市的毛利分析和进销存管理”服务,是腾讯、阿里、大麦科技合作成立的一个专业团队提供服务的。详情请见新浪微博开放平台。
找
国内的可以了解下apilink,
使用新浪微博开放平台api同步微博内容至自己网站(E9%A6%E9A1%(图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 62 次浏览 • 2022-02-17 00:06
关于新浪微博开放平台的问题很多。网上的文档不是很清楚。授权机制被难住了。我不知道发生了什么事。
不小心尝试了一个方法States返回成功,代码如下:
1.头部引用
2.Javascript
$(function(){
WB2.anyWhere(function(W){
W.parseCMD("/statuses/home_timeline.json?user_id=2922998432", function(sResult, bStatus){
if(bStatus == true) {
alert(sResult);
}
},{},{
method: ‘get‘
});
});
})
这里的User_id填写自己的Userid。不知道的可以去自己的微博查一下,或者去百度一下怎么查自己的userid。我不会在这里详细解释。
如果成功,会弹出object类型的sResult,你可以根据需要调试它并获取内容;parseCMD的第一个参数是接口,接口的详细信息可以去新浪微博开放平台的API查看你需要的%E9%A6。%96%E9%A1%B5
-----新浪微博好像所有界面都不支持POST,但是默认提交还是POST方式:需要'GET',
新浪微博开放平台API、布扣、
新浪微博开放平台API
原来的: 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(E9%A6%E9A1%(图))
关于新浪微博开放平台的问题很多。网上的文档不是很清楚。授权机制被难住了。我不知道发生了什么事。
不小心尝试了一个方法States返回成功,代码如下:
1.头部引用
2.Javascript
$(function(){
WB2.anyWhere(function(W){
W.parseCMD("/statuses/home_timeline.json?user_id=2922998432", function(sResult, bStatus){
if(bStatus == true) {
alert(sResult);
}
},{},{
method: ‘get‘
});
});
})
这里的User_id填写自己的Userid。不知道的可以去自己的微博查一下,或者去百度一下怎么查自己的userid。我不会在这里详细解释。
如果成功,会弹出object类型的sResult,你可以根据需要调试它并获取内容;parseCMD的第一个参数是接口,接口的详细信息可以去新浪微博开放平台的API查看你需要的%E9%A6。%96%E9%A1%B5
-----新浪微博好像所有界面都不支持POST,但是默认提交还是POST方式:需要'GET',
新浪微博开放平台API、布扣、
新浪微博开放平台API
原来的:
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
网站优化 • 优采云 发表了文章 • 0 个评论 • 58 次浏览 • 2022-02-12 21:10
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容
上图是这个客户端的主界面。目前只获取前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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。新浪微博的誓言
借用一张新浪微博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, 新浪微博 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容

上图是这个客户端的主界面。目前只获取前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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。新浪微博的誓言

借用一张新浪微博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, 新浪微博
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台授权回调页的代码)
网站优化 • 优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2022-02-12 18:19
第 1 步:添加应用程序
进入新浪微博开放平台(如果没有,自行注册),进入“管理中心”,点击“创建应用”,选择“微链接应用”,然后点击“创建应用”,选择“手机申请”,并填写相应信息,如果没有申请地址,选择平台提交即可。请记住保存您的 App Key 和 App Secret 以备后用。
第二步:Oauth2.0 授权设置
应用创建后,可以在“管理中心”-“我的应用”查看信息,“应用信息”-“高级信息”可以设置网站@的授权回调页面和取消授权回调页面>。用户授权成功后会回调授权回调页面,同时会返回一个“code”参数,开发者可以用code换取Access_Token值。当然,如果是手机应用,比如本文没有自己的授权回调页面,建议填写:或者类似的。如果授权后返回的表单如下:
我们只需要得到代码a6146547f981199c07348837b0629d5d的值。请注意,代码的值每次都不同。
第三步:在你要点击登录的地方调整如下代码(注意这里的redirectURI写你自己的回调页面)
WBAuthorizeRequest *request = [WBAuthorizeRequest request];
request.redirectURI = @"你的授权回调页网址";
request.scope = @"all";
[WeiboSDK sendRequest:request];
第四步:在appdelegate中引入头文件,跟随代理WeiboSDKDelegate
#import "WeiboSDK.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WeiboSDK enableDebugMode:YES];
[WeiboSDK registerApp:kAppKey];
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WeiboSDK handleOpenURL:url delegate:self];
}
/**
收到一个来自微博客户端程序的请求
收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {
WBProvideMessageForWeiboResponse *response = [WBProvideMessageForWeiboResponse responseWithMessage:[self messageToShare]];
[WeiboSDK sendResponse:response];
NSLog(@"收到一个来自微博客户端程序的请求");
}
/**
收到一个来自微博客户端程序的响应
收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
NSLog(@"收到一个来自微博客户端程序的响应");
// 这里response就是返回来的数据,包含token,uid等键值对;
NSLog(@"%@",response.userInfo);
NSString *theString = [NSString stringWithFormat:@"https://api.weibo.com/2/users/ ... ot%3B,response.userInfo[@"access_token"],response.userInfo[@"uid"]];
// 这里只是通过URL对数据进行请求,可以用系统的也可用AFNetworking,下面我使用对AFNetworking的简单封装过后的方法,请忽略
[NetWork netWorkWithPath:theString Params:[NSDictionary dictionary] CallBack:^(NSDictionary *info, NetType type) {
// 这里info就包含请求回来的用户头像等数据
NSLog(@"%@",info);
}];
}
- (WBMessageObject *)messageToShare {
WBMessageObject *message = [WBMessageObject message];
message.text = @"测试使用";
return message;
}
!!!!如果输入账号后登录返回403错误,是因为项目没有通过审核,或者没有添加测试账号,请到申请信息-测试信息添加测试账号 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台授权回调页的代码)
第 1 步:添加应用程序
进入新浪微博开放平台(如果没有,自行注册),进入“管理中心”,点击“创建应用”,选择“微链接应用”,然后点击“创建应用”,选择“手机申请”,并填写相应信息,如果没有申请地址,选择平台提交即可。请记住保存您的 App Key 和 App Secret 以备后用。
第二步:Oauth2.0 授权设置
应用创建后,可以在“管理中心”-“我的应用”查看信息,“应用信息”-“高级信息”可以设置网站@的授权回调页面和取消授权回调页面>。用户授权成功后会回调授权回调页面,同时会返回一个“code”参数,开发者可以用code换取Access_Token值。当然,如果是手机应用,比如本文没有自己的授权回调页面,建议填写:或者类似的。如果授权后返回的表单如下:
我们只需要得到代码a6146547f981199c07348837b0629d5d的值。请注意,代码的值每次都不同。
第三步:在你要点击登录的地方调整如下代码(注意这里的redirectURI写你自己的回调页面)
WBAuthorizeRequest *request = [WBAuthorizeRequest request];
request.redirectURI = @"你的授权回调页网址";
request.scope = @"all";
[WeiboSDK sendRequest:request];
第四步:在appdelegate中引入头文件,跟随代理WeiboSDKDelegate
#import "WeiboSDK.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WeiboSDK enableDebugMode:YES];
[WeiboSDK registerApp:kAppKey];
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WeiboSDK handleOpenURL:url delegate:self];
}
/**
收到一个来自微博客户端程序的请求
收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {
WBProvideMessageForWeiboResponse *response = [WBProvideMessageForWeiboResponse responseWithMessage:[self messageToShare]];
[WeiboSDK sendResponse:response];
NSLog(@"收到一个来自微博客户端程序的请求");
}
/**
收到一个来自微博客户端程序的响应
收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
NSLog(@"收到一个来自微博客户端程序的响应");
// 这里response就是返回来的数据,包含token,uid等键值对;
NSLog(@"%@",response.userInfo);
NSString *theString = [NSString stringWithFormat:@"https://api.weibo.com/2/users/ ... ot%3B,response.userInfo[@"access_token"],response.userInfo[@"uid"]];
// 这里只是通过URL对数据进行请求,可以用系统的也可用AFNetworking,下面我使用对AFNetworking的简单封装过后的方法,请忽略
[NetWork netWorkWithPath:theString Params:[NSDictionary dictionary] CallBack:^(NSDictionary *info, NetType type) {
// 这里info就包含请求回来的用户头像等数据
NSLog(@"%@",info);
}];
}
- (WBMessageObject *)messageToShare {
WBMessageObject *message = [WBMessageObject message];
message.text = @"测试使用";
return message;
}
!!!!如果输入账号后登录返回403错误,是因为项目没有通过审核,或者没有添加测试账号,请到申请信息-测试信息添加测试账号
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2022-02-12 06:16
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容
上图是这个客户端的主界面。目前只获取前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
操作系统是android2.2.
用到的技术点包括ListView、自定义ListAdapter、多线程相关Message、Handler、认证相关OAuth、异步加载用户图片等。
新浪微博的验证使用signpost的OAuth组件,不使用微博的SDK。
源代码下载:
关于 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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。
新浪微博的誓言
借用一张新浪微博oauth验证流程图。
当我们在新浪微博开放平台上创建一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们会根据callback_url跳转到我们应用的某个地址。我们再次使用request_token来获取access_token,然后我们需要通过access token来访问需要验证的开放平台提供的接口。
当然,那些不需要验证就可以访问的接口,可以直接使用key进行访问。具体请参考开放平台提供的API文档。
腾讯微博和163微博的开放平台在原理和实现上也类似。
packagecom.sinaweibo2;
importoauth.signpost.OAuthConsumer;
importoauth.signpost.OAuthProvider;
monshttp.CommonsHttpOAuthConsumer;
monshttp.CommonsHttpOAuthProvider;
importoauth.signpost.exception.OAuthCommunicationException;
importoauth.signpost.exception.OAuthExpectationFailedException;
importoauth.signpost.exception.OAuthMessageSignerException;
importoauth.signpost.exception.OAuthNotAuthorizedException;
公共类OAuth {
privateOAuthConsumer mConsumer;
私有OAuthProvider mProvider;
publicstaticfinalString CALLBACK_URL="sinaweibo2://WeiboListActivity";
publicstaticfinalString CONSUMER_KEY="1849239616";
publicstaticfinalString CONSUMER_SECRET="b2137bf782bf6cae004b8a8394d5d5d6";
publicstaticfinalString REQUEST_TOKEN_URL = "";
publicstaticfinalString ACCESS_TOKEN_URL = "";
publicstaticfinalString AUTHORIZE_URL = "";
公共OAuth(){
}
publicString RetrieveAuthUrl() throwsOAuthMessageSignerException,
OAuthNotAuthorizedException、OAuthExpectationFailedException、
OAuthCommunicationException {
mConsumer =newCommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider =newCommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);
String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);
returnauthUrl;
}
publicvoidRetrieveAccessToken(字符串验证器)
throwsOAuthMessageSignerException、OAuthNotAuthorizedException、
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, 验证者);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}
}
更多功能
接下来主要完善两个功能,一是分页浏览,二是发布微博。
未来可能支持图片发布等实用功能。
有UI美化,性能优化。
总结
在学习的过程中,我看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527). pdf,都是很不错的入门书,书我没有看完,但是看了大部分,边看边写demo。
同时,论坛是eoe天天的开发者门户。回答问题、解决问题、提问、发帖,总之就是锻炼自己,强迫自己锻炼基础和思考。
论坛上有很多中文的pdf教程,但是我发现大部分都是android开发者中心的Dev Guide和Resources中的内容的翻译。所以我觉得,如果英文不是很差,建议直接看上面两节,同时练习里面的例子。保证在两周内,你会取得很大的进步。
参考
Technorati 标签:android, 开放平台, oauth, 新浪微博 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容

上图是这个客户端的主界面。目前只获取前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
操作系统是android2.2.
用到的技术点包括ListView、自定义ListAdapter、多线程相关Message、Handler、认证相关OAuth、异步加载用户图片等。
新浪微博的验证使用signpost的OAuth组件,不使用微博的SDK。

源代码下载:
关于 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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。
新浪微博的誓言

借用一张新浪微博oauth验证流程图。
当我们在新浪微博开放平台上创建一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们会根据callback_url跳转到我们应用的某个地址。我们再次使用request_token来获取access_token,然后我们需要通过access token来访问需要验证的开放平台提供的接口。
当然,那些不需要验证就可以访问的接口,可以直接使用key进行访问。具体请参考开放平台提供的API文档。
腾讯微博和163微博的开放平台在原理和实现上也类似。
packagecom.sinaweibo2;
importoauth.signpost.OAuthConsumer;
importoauth.signpost.OAuthProvider;
monshttp.CommonsHttpOAuthConsumer;
monshttp.CommonsHttpOAuthProvider;
importoauth.signpost.exception.OAuthCommunicationException;
importoauth.signpost.exception.OAuthExpectationFailedException;
importoauth.signpost.exception.OAuthMessageSignerException;
importoauth.signpost.exception.OAuthNotAuthorizedException;
公共类OAuth {
privateOAuthConsumer mConsumer;
私有OAuthProvider mProvider;
publicstaticfinalString CALLBACK_URL="sinaweibo2://WeiboListActivity";
publicstaticfinalString CONSUMER_KEY="1849239616";
publicstaticfinalString CONSUMER_SECRET="b2137bf782bf6cae004b8a8394d5d5d6";
publicstaticfinalString REQUEST_TOKEN_URL = "";
publicstaticfinalString ACCESS_TOKEN_URL = "";
publicstaticfinalString AUTHORIZE_URL = "";
公共OAuth(){
}
publicString RetrieveAuthUrl() throwsOAuthMessageSignerException,
OAuthNotAuthorizedException、OAuthExpectationFailedException、
OAuthCommunicationException {
mConsumer =newCommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider =newCommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);
String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);
returnauthUrl;
}
publicvoidRetrieveAccessToken(字符串验证器)
throwsOAuthMessageSignerException、OAuthNotAuthorizedException、
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, 验证者);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}
}
更多功能
接下来主要完善两个功能,一是分页浏览,二是发布微博。
未来可能支持图片发布等实用功能。
有UI美化,性能优化。
总结
在学习的过程中,我看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527). pdf,都是很不错的入门书,书我没有看完,但是看了大部分,边看边写demo。
同时,论坛是eoe天天的开发者门户。回答问题、解决问题、提问、发帖,总之就是锻炼自己,强迫自己锻炼基础和思考。
论坛上有很多中文的pdf教程,但是我发现大部分都是android开发者中心的Dev Guide和Resources中的内容的翻译。所以我觉得,如果英文不是很差,建议直接看上面两节,同时练习里面的例子。保证在两周内,你会取得很大的进步。
参考
Technorati 标签:android, 开放平台, oauth, 新浪微博
使用新浪微博开放平台api同步微博内容至自己网站(2017年6月微博出了更新分享微博的一下插件更新)
网站优化 • 优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2022-02-12 05:13
自2017年6月起,微博发布更新分享微博api接口的消息,emlog微博同步相关插件无法再使用。
有些人可能会发现,第一次使用新版微博api时,总是会报错10014和10017。这个时候不用担心,只是微博权限增加了,仔细阅读参数说明和错误码就可以解决问题。
1、首先将原来的更新界面改为分享界面。点击查看相关文件。注意必填参数status参数有很多描述权限:
用户在微博上分享的文字内容必须经过URL编码,内容不超过140个汉字,文字不能收录“#topic word#”,且文字必须至少收录一个第三方分享到微博网页的URL,并且 URL 只能是第三方(调用方)绑定域下的 URL 链接。绑定域在“我的应用-应用信息-基本应用信息编辑-安全域名”中设置。
看完这段话,一目了然,相关的错误代码在这里。
2、 然后是微博开放平台的配置,这里有两点需要注意:
(1)AppKey、AppSecret及回调接口配置;
(2)安全域名的配置。
3、以上2点是重点。可以直接下载微博SDK,轻松集成。
此处内容已被作者隐藏,请输入验证码查看内容,请关注本站bilibili直播间,赠送大礼“B克拉”(限时1小时以内) ,获取验证码,并以水印或弹幕的形式展示。扫描BilibiliApp右侧二维码进入直播间。
评论:
1、如果运营受到系统故障影响的概率非常低,只需要带粉丝勋章的主播私信通知事件即可。
2、此行为纯属自愿赠送。
3、验证码生效一次后需要重新获取。
4、使用注意事项:
这个插件是用 php5.6 编写的。如果遇到语法错误,只需适当降低 php 版本即可。
5、变更日志:
2018-06-02
1、修复发送微博时的字数限制;
2、添加了可以发到微博的图片。
2018-05-09
1、2017年6月26日更新微博API微博同步功能。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(2017年6月微博出了更新分享微博的一下插件更新)
自2017年6月起,微博发布更新分享微博api接口的消息,emlog微博同步相关插件无法再使用。
有些人可能会发现,第一次使用新版微博api时,总是会报错10014和10017。这个时候不用担心,只是微博权限增加了,仔细阅读参数说明和错误码就可以解决问题。
1、首先将原来的更新界面改为分享界面。点击查看相关文件。注意必填参数status参数有很多描述权限:
用户在微博上分享的文字内容必须经过URL编码,内容不超过140个汉字,文字不能收录“#topic word#”,且文字必须至少收录一个第三方分享到微博网页的URL,并且 URL 只能是第三方(调用方)绑定域下的 URL 链接。绑定域在“我的应用-应用信息-基本应用信息编辑-安全域名”中设置。
看完这段话,一目了然,相关的错误代码在这里。
2、 然后是微博开放平台的配置,这里有两点需要注意:
(1)AppKey、AppSecret及回调接口配置;
(2)安全域名的配置。
3、以上2点是重点。可以直接下载微博SDK,轻松集成。

此处内容已被作者隐藏,请输入验证码查看内容,请关注本站bilibili直播间,赠送大礼“B克拉”(限时1小时以内) ,获取验证码,并以水印或弹幕的形式展示。扫描BilibiliApp右侧二维码进入直播间。
评论:
1、如果运营受到系统故障影响的概率非常低,只需要带粉丝勋章的主播私信通知事件即可。
2、此行为纯属自愿赠送。
3、验证码生效一次后需要重新获取。
4、使用注意事项:
这个插件是用 php5.6 编写的。如果遇到语法错误,只需适当降低 php 版本即可。
5、变更日志:
2018-06-02
1、修复发送微博时的字数限制;
2、添加了可以发到微博的图片。
2018-05-09
1、2017年6月26日更新微博API微博同步功能。
使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用,测试好多次,终于成功了)
网站优化 • 优采云 发表了文章 • 0 个评论 • 316 次浏览 • 2022-02-12 05:09
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:,选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APP SECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
在weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的APP KEY和APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefined index: SCRIPT_URI inD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后出现错误:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APP KEY和APPSECRET,然后我们要验证APP KEY是否合法,并询问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发布的消息文章 消息,下面要标注“from xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接到下面的/callback.php没关系。
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是前面用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个什么都不知道的.DS_Stor,打开就是乱码,我也不管,估计没用。
另外提醒注意页面的编码格式,如有乱码请耐心调试。
本文转载自: 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用,测试好多次,终于成功了)
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:,选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APP SECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
在weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的APP KEY和APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefined index: SCRIPT_URI inD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后出现错误:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APP KEY和APPSECRET,然后我们要验证APP KEY是否合法,并询问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发布的消息文章 消息,下面要标注“from xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接到下面的/callback.php没关系。
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是前面用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个什么都不知道的.DS_Stor,打开就是乱码,我也不管,估计没用。
另外提醒注意页面的编码格式,如有乱码请耐心调试。
本文转载自:
使用新浪微博开放平台api同步微博内容至自己网站(QQ登录OAuth2.0,PHP,Java等多个版本的SDK)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2022-02-06 17:17
内容
1.什么是“QQ登录OAuth2.0”
OAuth:OAuth(开放授权)是一种开放标准,允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而无需向第三方提供用户名和密码网站或共享所有他们的数据。
QQ登录OAuth2.0:对于用户相关的OpenAPI(如获取用户信息、动态同步、照片、日志、分享等),为了保护用户数据的安全和隐私,第三方< @网站 访问用户 访问数据前需要明确要求用户授权。
QQ登录OAuth2.0使用OAuth2.0标准协议对用户进行认证,获取用户授权。与之前的 OAuth1.0 协议相比,认证过程更简单、更安全。
因此,请使用 OAuth 1.0 协议的 网站 升级到 OAuth 2.0 协议。升级方法请参考 OAuth1.0 升级到 OAuth2.0 指南。
尖端:
如果想扩展对OAuth2.0开放标准的阅读,请参考:OAuth标准(英文)| OAuth 维基百科(中文)
2.QQ登录OAuth2.0访问方式
QQ登录OAuth2.0支持网站访问和手机应用访问。
网站可以通过以下两种方式访问:
(1)使用QQ互联网提供的SDK包,用户体验统一,只需要修改少量代码,无需了解验证和授权流程,可以使用此方法适用于网站和需要快速访问QQ登录的手机应用。
QQ互联网提供了JavaScript、PHP、Java等多个版本的SDK,详情请参考:SDK下载
QQ登录JS SDK见:JS SDK使用说明
(2)根据QQ登录OAuth2.0协议,自行开发,此方式定制化程度高,网站及需要与现有系统集成的移动应用可以选择这种方法。
参见:OAuth2.0 开发文档
可以通过两种方式访问移动应用程序开发:
(1)使用QQ互联网提供的iOS、Android等平台的SDK包,用户体验统一,只需要修改少量代码,无需了解验证授权需要快速访问QQ登录的应用可以选择这种方式。
iOS和Android版本的SDK都支持网页视图和浏览器模式,即支持跳转到手机浏览器进行QQ登录和验证过程。开发者可以在SDK包中选择浏览器模式,但是浏览器模式用户跳转很多,所以不推荐使用。
见:SDK下载
(2)根据QQ登录OAuth2.0协议,自行开发,该方式定制化程度高,移动应用需要与现有系统集成可以选择该方式。
建议移动应用使用webview打开登录页面。登录成功后获取accesstoken和openid,关闭webview控件。用户体验更好。
参见:OAuth2.0 开发文档
对于Android2.1以下的版本,访问https时会出现签名证书验证的问题,解决方法可以看这里。
3.QQ登录OAuth2.0整体处理流程
QQ登录OAuth2.0整体处理流程如下:
Step1:申请访问,获取appid和apikey;
Step2:开发应用并设置协作者账号,用于测试和联调;
Step3:放置QQ登录按钮;
Step4:通过用户登录验证和授权获取Access Token;
Step5:通过Access Token获取用户的OpenID;
Step6:调用OpenAPI请求访问或修改用户授权的资源。
4.QQ登录OAuth2.0开发说明
开发者需要根据腾讯提供的 UI 规范、请求描述、接口描述,开发 UI 和代码。
有关详细信息,请参阅 OAuth2.0 开发文档。
以上信息是否解决了您的问题?
为了让我们更有效地优化我们的数据库并有针对性地改进我们的服务,我们需要您进一步反馈:
提交成功!
非常感谢您的反馈,我们会继续努力让它变得更好!
提交成功!
感谢您的批评和建议,我们将进行针对性的优化,为您提供更好的服务。
开放平台与您一起成长!
取自“%E7%AE%80%E4%BB%8B” 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(QQ登录OAuth2.0,PHP,Java等多个版本的SDK)
内容
1.什么是“QQ登录OAuth2.0”
OAuth:OAuth(开放授权)是一种开放标准,允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而无需向第三方提供用户名和密码网站或共享所有他们的数据。
QQ登录OAuth2.0:对于用户相关的OpenAPI(如获取用户信息、动态同步、照片、日志、分享等),为了保护用户数据的安全和隐私,第三方< @网站 访问用户 访问数据前需要明确要求用户授权。
QQ登录OAuth2.0使用OAuth2.0标准协议对用户进行认证,获取用户授权。与之前的 OAuth1.0 协议相比,认证过程更简单、更安全。
因此,请使用 OAuth 1.0 协议的 网站 升级到 OAuth 2.0 协议。升级方法请参考 OAuth1.0 升级到 OAuth2.0 指南。
尖端:
如果想扩展对OAuth2.0开放标准的阅读,请参考:OAuth标准(英文)| OAuth 维基百科(中文)
2.QQ登录OAuth2.0访问方式
QQ登录OAuth2.0支持网站访问和手机应用访问。
网站可以通过以下两种方式访问:
(1)使用QQ互联网提供的SDK包,用户体验统一,只需要修改少量代码,无需了解验证和授权流程,可以使用此方法适用于网站和需要快速访问QQ登录的手机应用。
QQ互联网提供了JavaScript、PHP、Java等多个版本的SDK,详情请参考:SDK下载
QQ登录JS SDK见:JS SDK使用说明
(2)根据QQ登录OAuth2.0协议,自行开发,此方式定制化程度高,网站及需要与现有系统集成的移动应用可以选择这种方法。
参见:OAuth2.0 开发文档
可以通过两种方式访问移动应用程序开发:
(1)使用QQ互联网提供的iOS、Android等平台的SDK包,用户体验统一,只需要修改少量代码,无需了解验证授权需要快速访问QQ登录的应用可以选择这种方式。
iOS和Android版本的SDK都支持网页视图和浏览器模式,即支持跳转到手机浏览器进行QQ登录和验证过程。开发者可以在SDK包中选择浏览器模式,但是浏览器模式用户跳转很多,所以不推荐使用。
见:SDK下载
(2)根据QQ登录OAuth2.0协议,自行开发,该方式定制化程度高,移动应用需要与现有系统集成可以选择该方式。
建议移动应用使用webview打开登录页面。登录成功后获取accesstoken和openid,关闭webview控件。用户体验更好。
参见:OAuth2.0 开发文档
对于Android2.1以下的版本,访问https时会出现签名证书验证的问题,解决方法可以看这里。
3.QQ登录OAuth2.0整体处理流程
QQ登录OAuth2.0整体处理流程如下:
Step1:申请访问,获取appid和apikey;
Step2:开发应用并设置协作者账号,用于测试和联调;
Step3:放置QQ登录按钮;
Step4:通过用户登录验证和授权获取Access Token;
Step5:通过Access Token获取用户的OpenID;
Step6:调用OpenAPI请求访问或修改用户授权的资源。
4.QQ登录OAuth2.0开发说明
开发者需要根据腾讯提供的 UI 规范、请求描述、接口描述,开发 UI 和代码。
有关详细信息,请参阅 OAuth2.0 开发文档。
以上信息是否解决了您的问题?
为了让我们更有效地优化我们的数据库并有针对性地改进我们的服务,我们需要您进一步反馈:
提交成功!
非常感谢您的反馈,我们会继续努力让它变得更好!
提交成功!
感谢您的批评和建议,我们将进行针对性的优化,为您提供更好的服务。
开放平台与您一起成长!
取自“%E7%AE%80%E4%BB%8B”
使用新浪微博开放平台api同步微博内容至自己网站(PHP下通过API实现与新浪微博同步应用测试好多次)
网站优化 • 优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2022-02-05 20:20
(转贴) PHP下通过API与新浪微博同步
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APPSECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证方式”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后报错:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后我们要验证APPKEY是否合法,并询问我们是否授权应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发送的消息文章 ,以下应标记为“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是这样的,知道文件夹d:/www/,我的weibodemo文件夹放在/www/下,那我改$_SERVER['SCRIPT_URI']连接下面的/callback.php就可以了.
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(PHP下通过API实现与新浪微博同步应用测试好多次)
(转贴) PHP下通过API与新浪微博同步
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APPSECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证方式”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后报错:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后我们要验证APPKEY是否合法,并询问我们是否授权应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发送的消息文章 ,以下应标记为“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是这样的,知道文件夹d:/www/,我的weibodemo文件夹放在/www/下,那我改$_SERVER['SCRIPT_URI']连接下面的/callback.php就可以了.
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。
使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5 )
网站优化 • 优采云 发表了文章 • 0 个评论 • 54 次浏览 • 2022-02-05 20:17
)
最近做了一个关于联合第三方平台的登录访问,第一次接触到开放平台,在这里做个笔记。
开发前的准备工作如下:
1、注册新浪微博
2、访问新浪微博开发平台。如果是企业,申请企业准入并提交相关材料进行审核;如果是个人开发者,请申请个人开发者申请。我们以开发者为例
3、使用新浪微博开放API,需要向新浪申请一个appkey和一个App Secret。这些是入口。您必须先获得这两个,然后才能进行下一个访问工作。
4、输入完善个人信息后,必须完成身份验证审核。审核完成后,新浪开放平台会给出appkey和App Secret。
5、接下来就是如何使用appkey和App Secret了。您需要在开放平台下载文档或演示代码。其实提供的文档基本上都是技术文档,很多东西都没有解释清楚。还是会有很多麻烦
6、新浪开放平台提供了很多不同开发语言的SDK,这里我选择java SDK,下载一个zip文件(包括新接口和OAuth2.0),解压后即可可以直接导入go到eclipse,结构如下,包括weibo4j源码和示例代码
这里是一个config配置文件,打开如下:
我们之前申请的appkey和App Secret就派上用场了。这里的client_ID为appkey,client_SERCRET为App Secret,填写对应内容,redirect_URI为回调地址。
点击“第三方”-》跳转微博登录-》登录ok,授权-》回调自己的应用,这里是回调地址的意思。
7、开始运行测试程序,测试程序在example下,包weibo4j.examples.oauth2下的类OAuth4Code,这里我们需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把这一段改成oauth.authorize("code","","all"),至于为什么,请看这里的接口文档说明使用 oauth.authorize
假设我们这里没有回调地址,配置文件中的redirect_URI为空。运行后会自动打开浏览器运行测试,显示如下:
此时的URL地址为:
这说明我的appkey和App Secret是有效的,因为我们还没有创建正式的应用,新浪无法识别我的来源
8、在开放平台上创建应用,如下图
这里有三种类型的应用程序,网站 访问、站内应用程序和移动应用程序。如果是企业行为,有公有域名可以访问,应用通过域名访问。这里可以用任何方法,但是如果我们只是一个简单的开发者,没有公网域名,比如内网模式,ip以内网地址192.168.开头1.*,本地127.0.0.1等,这里只能选择创建站内应用,填写如下
这里红框标注的地方就是回调地址。如果我没有公网ip和域名,我在局域网玩的时候随便填,但是不能用localhost代替127.0.0.1,这里是按照配置要求做的,这个配置的要求很严格,
尤其是下面的应用图标比较麻烦。完成后,您可以提交它们以供审核。
9、提交审核后,新浪开放平台会在1天左右第一时间向您的邮箱发送邮件通知您审核结果,但无论审核结果是否失败,关键是提交审核。没有审核成功,这里可以照常使用
10、完成测试项目中的配置文件redirect_URI,必须与创建应用时填写的【应用实际地址】一致,这是回调地址!完成配置后,再次运行OAuth4Code.java,如图
在这里你会跳转到新浪微博的登录页面。登录新浪微博账号后,需要点击授权,表示平台可以访问您的微博账号相关内容分享您的信息等。授权结束后,
将返回一个代码。这段代码非常重要。它是我们整个访问第三方平台的门钥匙。通过这段代码,我们可以获取到用户的access_token、UID等内容,相当于整个访问过程。
11、调用新浪微博开放API
这里我们需要研究这些API来满足访问的需要。首先要熟悉的是OAuth2.0授权接口,网上可以查到,如下:
12、通过servlet程序调用开放API获取新浪微博的UID和微博名的示例
response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/
查看全部
使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5
)
最近做了一个关于联合第三方平台的登录访问,第一次接触到开放平台,在这里做个笔记。
开发前的准备工作如下:
1、注册新浪微博
2、访问新浪微博开发平台。如果是企业,申请企业准入并提交相关材料进行审核;如果是个人开发者,请申请个人开发者申请。我们以开发者为例
3、使用新浪微博开放API,需要向新浪申请一个appkey和一个App Secret。这些是入口。您必须先获得这两个,然后才能进行下一个访问工作。
4、输入完善个人信息后,必须完成身份验证审核。审核完成后,新浪开放平台会给出appkey和App Secret。
5、接下来就是如何使用appkey和App Secret了。您需要在开放平台下载文档或演示代码。其实提供的文档基本上都是技术文档,很多东西都没有解释清楚。还是会有很多麻烦
6、新浪开放平台提供了很多不同开发语言的SDK,这里我选择java SDK,下载一个zip文件(包括新接口和OAuth2.0),解压后即可可以直接导入go到eclipse,结构如下,包括weibo4j源码和示例代码

这里是一个config配置文件,打开如下:

我们之前申请的appkey和App Secret就派上用场了。这里的client_ID为appkey,client_SERCRET为App Secret,填写对应内容,redirect_URI为回调地址。
点击“第三方”-》跳转微博登录-》登录ok,授权-》回调自己的应用,这里是回调地址的意思。
7、开始运行测试程序,测试程序在example下,包weibo4j.examples.oauth2下的类OAuth4Code,这里我们需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把这一段改成oauth.authorize("code","","all"),至于为什么,请看这里的接口文档说明使用 oauth.authorize
假设我们这里没有回调地址,配置文件中的redirect_URI为空。运行后会自动打开浏览器运行测试,显示如下:

此时的URL地址为:
这说明我的appkey和App Secret是有效的,因为我们还没有创建正式的应用,新浪无法识别我的来源
8、在开放平台上创建应用,如下图

这里有三种类型的应用程序,网站 访问、站内应用程序和移动应用程序。如果是企业行为,有公有域名可以访问,应用通过域名访问。这里可以用任何方法,但是如果我们只是一个简单的开发者,没有公网域名,比如内网模式,ip以内网地址192.168.开头1.*,本地127.0.0.1等,这里只能选择创建站内应用,填写如下

这里红框标注的地方就是回调地址。如果我没有公网ip和域名,我在局域网玩的时候随便填,但是不能用localhost代替127.0.0.1,这里是按照配置要求做的,这个配置的要求很严格,
尤其是下面的应用图标比较麻烦。完成后,您可以提交它们以供审核。
9、提交审核后,新浪开放平台会在1天左右第一时间向您的邮箱发送邮件通知您审核结果,但无论审核结果是否失败,关键是提交审核。没有审核成功,这里可以照常使用

10、完成测试项目中的配置文件redirect_URI,必须与创建应用时填写的【应用实际地址】一致,这是回调地址!完成配置后,再次运行OAuth4Code.java,如图

在这里你会跳转到新浪微博的登录页面。登录新浪微博账号后,需要点击授权,表示平台可以访问您的微博账号相关内容分享您的信息等。授权结束后,
将返回一个代码。这段代码非常重要。它是我们整个访问第三方平台的门钥匙。通过这段代码,我们可以获取到用户的access_token、UID等内容,相当于整个访问过程。
11、调用新浪微博开放API
这里我们需要研究这些API来满足访问的需要。首先要熟悉的是OAuth2.0授权接口,网上可以查到,如下:

12、通过servlet程序调用开放API获取新浪微博的UID和微博名的示例

response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/

使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-02-05 20:16
因为毕业项目需要用到微博数据采集,所以获取微博数据的方式主要有两种:基于官方API和基于网络爬虫。让我们看看这些天如何使用官方API。比较麻烦的是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
因为毕业项目需要用到微博数据采集,所以获取微博数据的方式主要有两种:基于官方API和基于网络爬虫。让我们看看这些天如何使用官方API。比较麻烦的是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。
使用新浪微博开放平台api同步微博内容至自己网站( 如何自动将的Twitter信息同步到国内的新浪微博(图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2022-02-04 21:14
如何自动将的Twitter信息同步到国内的新浪微博(图))
如何将推特信息自动同步到新浪微博、开心网、人人网等国内SNS网站,我之前介绍过一种同步方法。这种方法虽然可以实现同步功能,但是同步不是实时的。是的,时差约为一小时。这个时差是由 TwitterFeed 引起的。同时,这种方法的设置比较复杂,需要多次翻转。
于是,我开始尝试一种新的同步方式,开发了一个Python程序,定时自动读取和同步推特信息,以简化同步过程,缩短同步时间,实现基本的实时同步功能。原来的同步流程图是:twitter->appspot->twitterfeed->ping.fm->customurl->huotu->新浪微博,新的同步流程变成:twitter->appspot->huotu->新浪微博,步骤大大简化了,只需要在GAE上设置一个定时任务定时执行即可。
由于 GAE 支持 Cron Job 定时任务,所以我们的 Python 程序可以每分钟自动调用一次。调用时,先从推特上抓取用户的最新消息,抓取成功后,将消息同步到地瓜火兔。然后分发到新浪微博、开心网等,如果设置为每分钟执行一次,同步时差只有一分钟左右,基本实现了推特信息实时同步到新浪微博等SNS的功能网站。
我在GAE上调试了这个程序Python程序,不是很流畅。我按照官方说明配置了 cron.yaml 文件,但是更新 Twitter.py 后,Cron Job 定时任务还是不行,后台也看不到相关的 Cron。工作任务。
后来经过一番研究,终于解决了GAE中Python中Cron Job调度任务的问题。原因很简单,因为我的“Google App Engine SDK for Python”是很久以前安装的,当时GAE不支持定时任务,所以无法更新cron.yaml文件,重新下载最新版本后“Google App Engine SDK for Python”安装后,Cron Job 计划任务更新成功。
然而,新的问题又来了。我发现当app调用Twitter API时,失败率非常高。几乎有一半的情况下会提示“Rate limit exceeded. Clients may not make more than 150 requests per hour”,这让我怀疑是不是GAE的外网IP很小,还有很多第三方程序在调用GAE 上的 Twitter API,导致每小时调用超过 150 次,否则,我自己的调用永远不会有这么高的频率,可能是因为 Twitter 没有将 GAE IP 列入白名单,如果有一天 Twitter 不限制 GAE IP,有应该没有问题。
安装说明:
下载方法,使用TortoiseSVN查看这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名称,然后修改twitter.py文件最后一行,添加你的推特用户名,喃喃火兔用户名和密码分别填写,cron.yaml文件收录定时任务设置,然后就可以按照本文方法发布,执行appcfg.py更新目录名,使用Gmail账号和密码,就可以了发布。
发布后,GAE 可以定期执行 twitter.py 程序。由于可以设置定时执行最少1分钟,同步速度非常快,基本可以达到即时自动同步的效果。
() () 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(
如何自动将的Twitter信息同步到国内的新浪微博(图))

如何将推特信息自动同步到新浪微博、开心网、人人网等国内SNS网站,我之前介绍过一种同步方法。这种方法虽然可以实现同步功能,但是同步不是实时的。是的,时差约为一小时。这个时差是由 TwitterFeed 引起的。同时,这种方法的设置比较复杂,需要多次翻转。
于是,我开始尝试一种新的同步方式,开发了一个Python程序,定时自动读取和同步推特信息,以简化同步过程,缩短同步时间,实现基本的实时同步功能。原来的同步流程图是:twitter->appspot->twitterfeed->ping.fm->customurl->huotu->新浪微博,新的同步流程变成:twitter->appspot->huotu->新浪微博,步骤大大简化了,只需要在GAE上设置一个定时任务定时执行即可。
由于 GAE 支持 Cron Job 定时任务,所以我们的 Python 程序可以每分钟自动调用一次。调用时,先从推特上抓取用户的最新消息,抓取成功后,将消息同步到地瓜火兔。然后分发到新浪微博、开心网等,如果设置为每分钟执行一次,同步时差只有一分钟左右,基本实现了推特信息实时同步到新浪微博等SNS的功能网站。
我在GAE上调试了这个程序Python程序,不是很流畅。我按照官方说明配置了 cron.yaml 文件,但是更新 Twitter.py 后,Cron Job 定时任务还是不行,后台也看不到相关的 Cron。工作任务。
后来经过一番研究,终于解决了GAE中Python中Cron Job调度任务的问题。原因很简单,因为我的“Google App Engine SDK for Python”是很久以前安装的,当时GAE不支持定时任务,所以无法更新cron.yaml文件,重新下载最新版本后“Google App Engine SDK for Python”安装后,Cron Job 计划任务更新成功。
然而,新的问题又来了。我发现当app调用Twitter API时,失败率非常高。几乎有一半的情况下会提示“Rate limit exceeded. Clients may not make more than 150 requests per hour”,这让我怀疑是不是GAE的外网IP很小,还有很多第三方程序在调用GAE 上的 Twitter API,导致每小时调用超过 150 次,否则,我自己的调用永远不会有这么高的频率,可能是因为 Twitter 没有将 GAE IP 列入白名单,如果有一天 Twitter 不限制 GAE IP,有应该没有问题。
安装说明:
下载方法,使用TortoiseSVN查看这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名称,然后修改twitter.py文件最后一行,添加你的推特用户名,喃喃火兔用户名和密码分别填写,cron.yaml文件收录定时任务设置,然后就可以按照本文方法发布,执行appcfg.py更新目录名,使用Gmail账号和密码,就可以了发布。
发布后,GAE 可以定期执行 twitter.py 程序。由于可以设置定时执行最少1分钟,同步速度非常快,基本可以达到即时自动同步的效果。

() ()
使用新浪微博开放平台api同步微博内容至自己网站(本次开放微博渠道接口,不需要验证网站地址。。)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2022-02-02 17:05
此次开通微博频道界面,为广大站长提供了更便捷的申请方式。
不仅需要在管理后台点击应用,还可以将内容同步到微博,显示来自自己网站。
无需等待开放平台审核,无需去微博开放平台申请,无需验证网站地址。
新浪微博为您提供支持和开放渠道接口,目前实现了以下功能。
发布更新文章,同时发布到微博时,来源显示为网站自定义的名称,链接地址为本站自定义链接。它非常强大吗?!
要实现这个功能,只需要简单的 3 个步骤:
【第一步】打开管理后台,进入设置,滚动至底部:设置新浪微博频道AppKey。
【第二步】输入站点名称和网站url:网站的名称将显示为微博来源,不超过5个汉字,或10个英文/数字。url:点击源后指向的网站网址,我们默认为您填写。
【第三步】授权此api:使用此时登录的wp账号对应的新浪微博账号授权此api。
完毕!发帖文章来测试一下吧~
注意:
1. 微博默认会在站点名称后加一个_ds logo,这样站点就不会和原微博注册冲突了;
2. 仅对拥有授权微博账号且在有效期内的用户,同步时会显示来源;
3. 在内测期间,新浪微博只提供7天的授权,您可以在页面更新授权。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(本次开放微博渠道接口,不需要验证网站地址。。)
此次开通微博频道界面,为广大站长提供了更便捷的申请方式。
不仅需要在管理后台点击应用,还可以将内容同步到微博,显示来自自己网站。
无需等待开放平台审核,无需去微博开放平台申请,无需验证网站地址。
新浪微博为您提供支持和开放渠道接口,目前实现了以下功能。
发布更新文章,同时发布到微博时,来源显示为网站自定义的名称,链接地址为本站自定义链接。它非常强大吗?!
要实现这个功能,只需要简单的 3 个步骤:
【第一步】打开管理后台,进入设置,滚动至底部:设置新浪微博频道AppKey。
【第二步】输入站点名称和网站url:网站的名称将显示为微博来源,不超过5个汉字,或10个英文/数字。url:点击源后指向的网站网址,我们默认为您填写。
【第三步】授权此api:使用此时登录的wp账号对应的新浪微博账号授权此api。
完毕!发帖文章来测试一下吧~
注意:
1. 微博默认会在站点名称后加一个_ds logo,这样站点就不会和原微博注册冲突了;
2. 仅对拥有授权微博账号且在有效期内的用户,同步时会显示来源;
3. 在内测期间,新浪微博只提供7天的授权,您可以在页面更新授权。
使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2022-02-01 17:18
因为毕业项目需要用到微博数据采集,所以获取微博数据主要有两种方式:基于官方API和基于网络爬虫,这几天来看看官方API怎么用,比较麻烦是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
因为毕业项目需要用到微博数据采集,所以获取微博数据主要有两种方式:基于官方API和基于网络爬虫,这几天来看看官方API怎么用,比较麻烦是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。
使用新浪微博开放平台api同步微博内容至自己网站( +python模拟登陆新浪微博(2):)
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2022-02-01 17:07
+python模拟登陆新浪微博(2):)
上次准备用selenium + python模拟登陆新浪微博(这个方法太烂了)。最后我卡在了验证码链接。对于我这样的菜鸟,新浪太不友好了。完全没有考虑到我的感受。附上模拟登录代码。
问题出在获取验证码图片的环节,这里新浪不知道怎么弄。地址是一样的,但是每次访问得到的验证码都不一样,所以无法得到正确的验证码。本来打算用selenium截图获取验证码,交给百度兽人鉴定。我发现百度的新浪验证码识别准确率低的可怕。
所以,我放弃了。请改用官方提供的正确做法。这样你就不会被封号了。还是很不错的。官方 API 基本上是一个 rest 接口。它可以很容易地调用和获取。主要写在下面。如何成功获得授权。授权完成后,可以调用新浪接口获取数据(公开、公平)。
官方的Api相当丰富。我主要用他们的评论,也用搜索界面。所以我认为它是完美的。
首先,要访问这些东西,你需要有一个新浪帐号。然后点击:“微连接”创建应用程序。
创建完成后。您可以在“我的应用程序”中找到它:
点击应用进入后,可以看到应用的app key和App Secret。这两个很重要,后面会用到授权。
获得授权。这里新浪使用了一种授权机制,叫做:OAuth2.0:简单来说就是你访问授权服务器,授权服务器给你返回一个证书,然后你就可以用这个证书访问新浪的其他接口。
授权服务器相当于门卫的意思。你来到一座建筑。然后门卫给了一张身份证。之后,您进入大楼。每次进入房间。门口的守卫都要求你提供刚进楼的人给你的身份证。否则,您将被拒绝入境。大概就是这个意思。
长话短说,直接看如何获取授权:
授权需要自己配置回调地址。需要访问。除了在参数中添加这个地址外,还需要在你的应用程序中写入。那是:
这里。我直接用 Flask 搭建了一个本地服务器:
然后使用内网穿透软件。免费的是:natapp:
渗透出来。这样我们就有了回调的地址。
接下来看官方API:
首先我们需要访问:
这需要我们填写之前佩戴应用后获取的app key和我们构建的接受回调的地址:
然后在浏览器中打开这个地址:
点击Authorize(我的回调函数写的打印代码,所以这里直接打印代码,地址栏也可以拿到这个代码):
之后,我们使用新浪给出的第二个url:
此 url 需要使用 post 方法提交。
代码也有自己的应用密钥和应用秘密。
填写后提交:
您将获得 json 格式的返回:
{“access_token”:“asdasdasdadasdasdsadda”,“remind_in”:“1233566966”,“expires_in”:1233566966,“uid”:“”,“isRealName”:“true”}
这就是我们最终的结果。代表我们授权成功。
然后访问界面很容易。我们只保存 access_token。每次访问调用界面时都可以带上这个。
接口测试可以使用谷歌的postman,或者新浪提供的测试工具
新浪提供了一个接口测试工具,可以直接在线测试接口:这里我从之前爬过的微博列表中选择了一个ID为文章。请求后得到新浪返回的评论结果的json字符串。
大概一目了然(一万多行的字符串): 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(
+python模拟登陆新浪微博(2):)
上次准备用selenium + python模拟登陆新浪微博(这个方法太烂了)。最后我卡在了验证码链接。对于我这样的菜鸟,新浪太不友好了。完全没有考虑到我的感受。附上模拟登录代码。
问题出在获取验证码图片的环节,这里新浪不知道怎么弄。地址是一样的,但是每次访问得到的验证码都不一样,所以无法得到正确的验证码。本来打算用selenium截图获取验证码,交给百度兽人鉴定。我发现百度的新浪验证码识别准确率低的可怕。
所以,我放弃了。请改用官方提供的正确做法。这样你就不会被封号了。还是很不错的。官方 API 基本上是一个 rest 接口。它可以很容易地调用和获取。主要写在下面。如何成功获得授权。授权完成后,可以调用新浪接口获取数据(公开、公平)。
官方的Api相当丰富。我主要用他们的评论,也用搜索界面。所以我认为它是完美的。
首先,要访问这些东西,你需要有一个新浪帐号。然后点击:“微连接”创建应用程序。
创建完成后。您可以在“我的应用程序”中找到它:
点击应用进入后,可以看到应用的app key和App Secret。这两个很重要,后面会用到授权。
获得授权。这里新浪使用了一种授权机制,叫做:OAuth2.0:简单来说就是你访问授权服务器,授权服务器给你返回一个证书,然后你就可以用这个证书访问新浪的其他接口。
授权服务器相当于门卫的意思。你来到一座建筑。然后门卫给了一张身份证。之后,您进入大楼。每次进入房间。门口的守卫都要求你提供刚进楼的人给你的身份证。否则,您将被拒绝入境。大概就是这个意思。
长话短说,直接看如何获取授权:
授权需要自己配置回调地址。需要访问。除了在参数中添加这个地址外,还需要在你的应用程序中写入。那是:
这里。我直接用 Flask 搭建了一个本地服务器:
然后使用内网穿透软件。免费的是:natapp:
渗透出来。这样我们就有了回调的地址。
接下来看官方API:
首先我们需要访问:
这需要我们填写之前佩戴应用后获取的app key和我们构建的接受回调的地址:
然后在浏览器中打开这个地址:
点击Authorize(我的回调函数写的打印代码,所以这里直接打印代码,地址栏也可以拿到这个代码):
之后,我们使用新浪给出的第二个url:
此 url 需要使用 post 方法提交。
代码也有自己的应用密钥和应用秘密。
填写后提交:
您将获得 json 格式的返回:
{“access_token”:“asdasdasdadasdasdsadda”,“remind_in”:“1233566966”,“expires_in”:1233566966,“uid”:“”,“isRealName”:“true”}
这就是我们最终的结果。代表我们授权成功。
然后访问界面很容易。我们只保存 access_token。每次访问调用界面时都可以带上这个。
接口测试可以使用谷歌的postman,或者新浪提供的测试工具
新浪提供了一个接口测试工具,可以直接在线测试接口:这里我从之前爬过的微博列表中选择了一个ID为文章。请求后得到新浪返回的评论结果的json字符串。
大概一目了然(一万多行的字符串):
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发的资源比较多,一个开发者下载地址)
网站优化 • 优采云 发表了文章 • 0 个评论 • 46 次浏览 • 2022-02-01 06:04
现在玩微博的人越来越多,关于微博的第三方应用开发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
新浪微博API开发准备
首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
新浪微博API开发最重要的用户授权流程
事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。新浪微博开放平台对OAuth授权流程有清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
1.先获取一个未授权的Request Token
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
2.然后请求用户授权Token
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , '#39;);
拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。拿到$aurl后,我们可以使用header()直接跳转到页面。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
3.用户最后授权的Access Token
$o = new WeiboOAuth( WB_AKEY ,
WB_SKEY ,
$_SESSION['keys']['oauth_token'] ,
$_SESSION['keys']['oauth_token_secret'] );
$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
回声($last_key['oauth_token']);
上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
授权完成后工作
授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
//获取前20条最新更新的公众微博消息
$c = new WeiboClient( WB_AKEY ,
WB_SKEY ,
$oauth_token ,
$oauth_token_secret );
$msg = $c->public_timeline();
if ($msg === false || $msg === null){
echo "发生错误";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
返回假;
}
print_r($msg);
通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用php进行开发,所以使用Json格式数据有先天优势。如果返回Json格式数据,直接使用php函数json_decode()可以转换成php常用的数组格式。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发的资源比较多,一个开发者下载地址)
现在玩微博的人越来越多,关于微博的第三方应用开发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
新浪微博API开发准备
首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
新浪微博API开发最重要的用户授权流程
事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。新浪微博开放平台对OAuth授权流程有清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
1.先获取一个未授权的Request Token
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
2.然后请求用户授权Token
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , '#39;);
拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。拿到$aurl后,我们可以使用header()直接跳转到页面。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
3.用户最后授权的Access Token
$o = new WeiboOAuth( WB_AKEY ,
WB_SKEY ,
$_SESSION['keys']['oauth_token'] ,
$_SESSION['keys']['oauth_token_secret'] );
$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
回声($last_key['oauth_token']);
上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
授权完成后工作
授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
//获取前20条最新更新的公众微博消息
$c = new WeiboClient( WB_AKEY ,
WB_SKEY ,
$oauth_token ,
$oauth_token_secret );
$msg = $c->public_timeline();
if ($msg === false || $msg === null){
echo "发生错误";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
返回假;
}
print_r($msg);
通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用php进行开发,所以使用Json格式数据有先天优势。如果返回Json格式数据,直接使用php函数json_decode()可以转换成php常用的数组格式。
使用新浪微博开放平台api同步微博内容至自己网站( 使用GAE的程序同步程序有一些优势(1)_光明网(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2022-01-29 21:05
使用GAE的程序同步程序有一些优势(1)_光明网(组图))
从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。Twitter、新浪微博、地谷、9911等都非常受欢迎。许多人在各种微博平台上注册了账号。但是这里又出现了一个新的问题,那就是信息同步。
每个人的使用习惯不同,每个微博圈的用户也不同。许多微博用户都有一些人在每个平台上关注和关注。因此,需要使用同步程序来统一各个平台的信息。处理,还有这个处理中心,我觉得应该是推特。
推特的优势
使用 Twitter 作为微博中心的原因是有很多方法和工具可以更新 Twitter,您也可以使用 TwitterFeed 或 FeedBurner 从 RSS 提要直接更新 Twitter。Twitter本身也是全球最大的微博平台。在可预见的未来不会消失,用户发布的信息通常不会丢失或删除。Twitter信息的备份和导出方法有很多种,所以把信息放到Twitter上吧。相对安全、稳妥、稳定。
将 Twitter 同步到其他微博的方法是使用 GAE。GAE 是谷歌提供的一个非常好的免费托管平台。它具有很好的稳定性和强大的功能。它支持 Cron Job 调度任务。因此,我们只需要部署在 GAE 上。定时任务,设置每分钟抓取一次用户推特信息,抓取成功后将最新消息直接发布到新浪微博等平台,实现推特信息实时同步到各微博网站功能。
同步器的优点
这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
在安全方面,那些第三方网站会保存你的微博密码进行同步,这会给你的微博账号带来潜在的安全问题。此外,保存你拥有的数千个粉丝的账号密码在那些同步网站中,你放心吗?使用GAE的程序同步,只有你知道密码。我们不应该担心 GAE 被黑客入侵。
稳定性方面,我用了这个同步程序好几个月了,几乎没有信息丢失。GAE服务本身的性能也很稳定,停机时间很少。
在速度方面,这个同步程序最快可以在1分钟内同步所有信息,很少有网站能提供这样的同步速度。
在灵活性方面,我们可以自己修改代码来实现一些自定义的特殊功能。比如在这个程序中,我已经定义了收录@的信息是不同步的。我们也可以自己修改程序来实现很多其他的功能。
目前该同步程序支持推特同步新浪微博、地谷、9911、Dosha、人见网、follow5、6条微博,以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。
主要在其他微博
如果用户不打算使用Twitter作为主源,也可以使用这个程序进行同步,先注册一个Twitter账号,然后找到用户主微博的RSS Feed地址,使用TwitterFeed或者FeedBurner同步这个feed到Twitter,然后用这个程序来以后同步。如果新浪微博以后支持RSS Feed,可以通过这种方式将新浪微博的信息同步到其他微博。
应用安装部署方法
下载方法,使用TortoiseSVN查看SVN地址,然后编辑app.yaml,修改为自己的appspot应用名称,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改from ret = For 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 使用密钥进行身份验证。有关详细信息,请参阅此处。
() () 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(
使用GAE的程序同步程序有一些优势(1)_光明网(组图))

从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。Twitter、新浪微博、地谷、9911等都非常受欢迎。许多人在各种微博平台上注册了账号。但是这里又出现了一个新的问题,那就是信息同步。
每个人的使用习惯不同,每个微博圈的用户也不同。许多微博用户都有一些人在每个平台上关注和关注。因此,需要使用同步程序来统一各个平台的信息。处理,还有这个处理中心,我觉得应该是推特。
推特的优势
使用 Twitter 作为微博中心的原因是有很多方法和工具可以更新 Twitter,您也可以使用 TwitterFeed 或 FeedBurner 从 RSS 提要直接更新 Twitter。Twitter本身也是全球最大的微博平台。在可预见的未来不会消失,用户发布的信息通常不会丢失或删除。Twitter信息的备份和导出方法有很多种,所以把信息放到Twitter上吧。相对安全、稳妥、稳定。
将 Twitter 同步到其他微博的方法是使用 GAE。GAE 是谷歌提供的一个非常好的免费托管平台。它具有很好的稳定性和强大的功能。它支持 Cron Job 调度任务。因此,我们只需要部署在 GAE 上。定时任务,设置每分钟抓取一次用户推特信息,抓取成功后将最新消息直接发布到新浪微博等平台,实现推特信息实时同步到各微博网站功能。
同步器的优点
这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
在安全方面,那些第三方网站会保存你的微博密码进行同步,这会给你的微博账号带来潜在的安全问题。此外,保存你拥有的数千个粉丝的账号密码在那些同步网站中,你放心吗?使用GAE的程序同步,只有你知道密码。我们不应该担心 GAE 被黑客入侵。
稳定性方面,我用了这个同步程序好几个月了,几乎没有信息丢失。GAE服务本身的性能也很稳定,停机时间很少。
在速度方面,这个同步程序最快可以在1分钟内同步所有信息,很少有网站能提供这样的同步速度。
在灵活性方面,我们可以自己修改代码来实现一些自定义的特殊功能。比如在这个程序中,我已经定义了收录@的信息是不同步的。我们也可以自己修改程序来实现很多其他的功能。
目前该同步程序支持推特同步新浪微博、地谷、9911、Dosha、人见网、follow5、6条微博,以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。

主要在其他微博
如果用户不打算使用Twitter作为主源,也可以使用这个程序进行同步,先注册一个Twitter账号,然后找到用户主微博的RSS Feed地址,使用TwitterFeed或者FeedBurner同步这个feed到Twitter,然后用这个程序来以后同步。如果新浪微博以后支持RSS Feed,可以通过这种方式将新浪微博的信息同步到其他微博。
应用安装部署方法
下载方法,使用TortoiseSVN查看SVN地址,然后编辑app.yaml,修改为自己的appspot应用名称,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改from ret = For 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 使用密钥进行身份验证。有关详细信息,请参阅此处。

() ()
使用新浪微博开放平台api同步微博内容至自己网站(如何调用微博API爬单条微博的评论呢?(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2022-01-29 17:24
当我沉浸在学习mysql、scrapy、django准备下一波吹水的时候,有人说,你可以爬下老薛的微博,蹭个热点,这让勤奋(mo)很难( mo) learning (kou) xi (jia) 我停止发几个代码了。
然后赶紧关注了最近关于老薛的新闻……感受了剧情的复杂和案件的扑朔迷离……我默默的学会了看合同……怎么用ELA分析图片……论文怎么写……怎么查别人的银行对账单……一点小知识……让我慢一点……
所以,这次的主题是分析老薛最新的微博评论,分析评论粉丝的心情,听我说。
1.新浪微博API
在经历了几次(非常痛苦的)爬虫禁令后,我学会了在爬 网站 之前检查 API 的“好”习惯。新浪作为大公司,怎么可能不推出新浪微博API?新浪有自己的开发者开放平台。我们就不讲python调用微博API的方法了。以下是登录App_key和App_secret访问微博。API的代码,代码基于Python2。Python3 使用 weibo 模块存在一定的问题。
既然知道了如何登录API,那么如何调用API爬取一条微博评论呢?一行代码就可以做到。
r = ments.show.get(id = 41509,count = 200,page = 1)
一条微博的所有评论信息都在ments中。这里我们需要对比一下微博API文档。微博API中说调用微博评论API需要用户授权,但是捏~只要知道单条微博的id,就可以调用这个API后,再讲如何获取单条微博的id(小声点,别让微博知道,万一发了)。
以client.interface name.get(request parameter)的方式获取API。获取API后,您可以在接口详情中查看规格。文档中有返回结果的示例。
关键数据的json接口名称也在文档中给出。
如果我们想获取微博评论的内容,只需要调用文本接口即可
对于 st inments:
文本 = st.text
2.微博爬虫
通过调用新浪微博API,我们可以简单的获取单条微博的评论信息。为什么简单,因为流行的信息很昂贵!你以为大V的微博只是免费给你API调用吗?未经认证的应用程序开发人员每天只能请求数千次 API。这对于老薛这种单条微博评论几十万的大V来说,是个大问题。说...太少(TT)
所以捏,还是要写微博爬虫。
俗话说,知己知彼,百战不殆。作为一家大公司,新浪一定经历了数百场战斗。它一定经历过无数次爬虫与反爬虫的战争,一定有完善的反爬虫策略。俗话说,面对强敌,绕道而行。一个老板说的好,爬网站,先爬移动端
登录微博后,去老薛的微博回应P图事件,_(:зゝ∠)_老薛,怪我,怪我来不及,点进去的时候已经有70w+评论了(截至发文当天已有100w+评论),静谧的微博下,可见粉丝的不安之心……
移动端微博的URL简洁明了,不像PC端的逻辑那么复杂不清楚:
从xhr文件我们可以知道,热门评论的变化规律是:
';id=' + 单条微博id + '&type=comment&hot=1&page=' + 页码
最新评论的变化规律是:
'' + 单个微博id + '&page=' + 页码
打开可以看到热门评论的json文件。
接下来就是套路,伪装浏览器头,读取json文件,遍历每一页……这不是重点!而这些我之前都讲过~直接上代码~这里是Python3的代码~
这里有几点注意事项:
设置爬取间隔后,微博爬虫被封禁的概率大大降低(尤其是晚上)
新浪每次返回的json数据个数是随机的,所以翻页后会有数据重复,所以使用了重复数据删除,后面会讲到。
添加删除文本和源码中的emoji表情的代码(写入数据库花了很长时间,几乎从删除库到逃跑/(ㄒoㄒ)/),还删除了对别人的回复与它混合。html代码。
我只写了读取的数据,没有写怎么保存,因为我们需要统计!根据!图书馆!热的!(这才是重点!敲黑板)
在python中读取和写入数据库
微博爬虫虽然大大增加了数据获取量,但也因为是爬虫而轻易被新浪封杀。这里结束循环的判断是网络状态不是200,但是当微博发现是爬虫时,微博会返回一个网页,网页中并没有真实的内容。这时候程序会报错,而之前爬取的数据,什么都没有了。
但是如果你爬一会儿,保存一次数据,数据量会增加……冷文件随机射在猿脸上……我的心就像是……这时候,我们需要使用数据库。
数据库,顾名思义,就是存储数据的仓库。数据库作为一个发展了60多年的管理系统,应用领域巨大,功能复杂……好吧,我不能再编辑了。
在本文中,数据库的主要作用是一个AI风格的excel表格(●—●)。在爬取的过程中,爬取的数据会存储在里面,爬取的数字也会存储在里面。即使爬虫程序中断,中断前爬取的数据也会存入数据库。
大多数数据库都可以用python,我知道mysql、sqlite、mongodb、redis。这里是mysql,mac上mysql的安装,Navicat的使用,管理数据库的软件,其他系统大家可以自己找,如果安装使用过程中出现问题,请不要找我(溜走)根据上面的代码,在navicat中创建数据库、表和字段,以及字段的格式。将代码添加到 Python 程序。
运行python程序,我大概爬了2w实时评论。不得不说,新浪微博的反爬还是很厉害的。解决方案有两种:更改IP和切换帐户。我之前写过关于IP代理的使用。可以在宝藏上购买,但是!_(:зゝ∠)_因为这篇文章的作者是个很穷也经常小气的人,而且身患重病(懒癌)……2w条数据也有研究价值,对吧(((;꒪ꈊ꒪ ; ))),让我们继续我们的研究 (((;꒪ꈊ꒪;)))...
在进行下一步之前,我们还需要读取数据库的内容,python中读取数据库的代码也很简单。
这样就读出了之前爬取的信息,但是前面已经提到,微博爬虫在翻页的时候返回的数据个数是随机的,所以会出现重复的情况,所以读完之后需要使用使数据变得繁重的 if 语句。
4.自然语言处理
自然语言处理是人工智能的一个领域。机器可以通过算法设计来理解人类语言。自然语言也是人工智能的难点。汉语等语言是深奥难测的。最大的困难是python中有很多与NLP相关的模块。感兴趣的朋友可以通过在python中实现简单的文本情感分析来探索NLP。
我拿了(ban)test(yun)一些现成的情感分析算法,对爬取的评论进行分析。错误率很高_(:зゝ∠)_,怎么办?算法应该重新设计吗?好像遇到了人生第一个大问题,就是没学好语言……
当然,像我这样聪明(lan)和生活(duo)的女孩子,自然很快就发现了python中的一个中文著名的NLP库:snowNLP。snowNLP调用的方法比较简单。调用方法和生成结果在源码中有详细说明。
这段代码读取数据库后获取评论正文生成的列表文件,依次对每条评论进行情感值分析。snowNLP 可以根据给定的句子生成一个介于 0 和 1 之间的值。当值大于0.5时,表示句子的情感极性更积极。当分数小于 0.5 时,情绪的极性偏向于负面。当然,越是朝着两个脑袋,情绪越明显。我们来看看测试评论的结果。
第一项:恶心给了0.01分,最后一项:支持薛之谦给了0.99分。看其他基本符合上下文的句子的态度,当需要对单个产品的评价态度进行评价时,可以使用snowNLP。但由于老雪的评论涉及到他本人、李雨桐、高磊鑫三个人,算法无法判断评论的情感价值是谁的,而且微博评论可以由粉丝互相回复,这使得确定评论的主题是谁。这更令人困惑(机器说我无法学习......)。
这似乎意味着这个分析的结果将是……没有用处。我不希望这种事情发生……我是人……最重要的是要开心……我不会写算法,我的语言也不好,我真的做不到(๑°⌓°๑)@ >…
5.分析结果
这次分析的目的愉快地从分析粉丝对薛之谦事件的情绪转变为单纯分析粉丝的情绪(●—●)。
plt.hist(sentimentslist,bins=np.arange(0,1,0.02))
plt.show()
统计上一节处理的情感值列表,生成分布图。以下数据采集时间为9月27日19:00,采集2w条评论。
对了(真的对了,一脸正经)我还爬了2w条李雨桐转发网友捐款的微博评论。
对了(真的对了,看我真诚的眼神)我爬了微博评论说陈赫作弊时发错博了。
从这三张图可以看出,在0、1的末端和0.5附近的情绪值更频繁,说明粉丝对此类事件的情绪是正面的还是负面的。比较明显。但是您也可以从图片中看到一些细微的差异。老薛微博中接近1的情感值数量高于接近0的数量,但没有超过700个。李雨桐微博中接近1的情感值数量要低得多。 0,甚至接近0的数字也达到了1000多,但都超过了700,而陈赫的微博分析结果显示,两者都接近800。由于算法存在一定误差,不代表真实审查结果,所以我不再分析它(你知道的)。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(如何调用微博API爬单条微博的评论呢?(组图))
当我沉浸在学习mysql、scrapy、django准备下一波吹水的时候,有人说,你可以爬下老薛的微博,蹭个热点,这让勤奋(mo)很难( mo) learning (kou) xi (jia) 我停止发几个代码了。
然后赶紧关注了最近关于老薛的新闻……感受了剧情的复杂和案件的扑朔迷离……我默默的学会了看合同……怎么用ELA分析图片……论文怎么写……怎么查别人的银行对账单……一点小知识……让我慢一点……
所以,这次的主题是分析老薛最新的微博评论,分析评论粉丝的心情,听我说。
1.新浪微博API
在经历了几次(非常痛苦的)爬虫禁令后,我学会了在爬 网站 之前检查 API 的“好”习惯。新浪作为大公司,怎么可能不推出新浪微博API?新浪有自己的开发者开放平台。我们就不讲python调用微博API的方法了。以下是登录App_key和App_secret访问微博。API的代码,代码基于Python2。Python3 使用 weibo 模块存在一定的问题。
既然知道了如何登录API,那么如何调用API爬取一条微博评论呢?一行代码就可以做到。
r = ments.show.get(id = 41509,count = 200,page = 1)
一条微博的所有评论信息都在ments中。这里我们需要对比一下微博API文档。微博API中说调用微博评论API需要用户授权,但是捏~只要知道单条微博的id,就可以调用这个API后,再讲如何获取单条微博的id(小声点,别让微博知道,万一发了)。
以client.interface name.get(request parameter)的方式获取API。获取API后,您可以在接口详情中查看规格。文档中有返回结果的示例。
关键数据的json接口名称也在文档中给出。
如果我们想获取微博评论的内容,只需要调用文本接口即可
对于 st inments:
文本 = st.text
2.微博爬虫
通过调用新浪微博API,我们可以简单的获取单条微博的评论信息。为什么简单,因为流行的信息很昂贵!你以为大V的微博只是免费给你API调用吗?未经认证的应用程序开发人员每天只能请求数千次 API。这对于老薛这种单条微博评论几十万的大V来说,是个大问题。说...太少(TT)
所以捏,还是要写微博爬虫。
俗话说,知己知彼,百战不殆。作为一家大公司,新浪一定经历了数百场战斗。它一定经历过无数次爬虫与反爬虫的战争,一定有完善的反爬虫策略。俗话说,面对强敌,绕道而行。一个老板说的好,爬网站,先爬移动端
登录微博后,去老薛的微博回应P图事件,_(:зゝ∠)_老薛,怪我,怪我来不及,点进去的时候已经有70w+评论了(截至发文当天已有100w+评论),静谧的微博下,可见粉丝的不安之心……
移动端微博的URL简洁明了,不像PC端的逻辑那么复杂不清楚:
从xhr文件我们可以知道,热门评论的变化规律是:
';id=' + 单条微博id + '&type=comment&hot=1&page=' + 页码
最新评论的变化规律是:
'' + 单个微博id + '&page=' + 页码
打开可以看到热门评论的json文件。
接下来就是套路,伪装浏览器头,读取json文件,遍历每一页……这不是重点!而这些我之前都讲过~直接上代码~这里是Python3的代码~
这里有几点注意事项:
设置爬取间隔后,微博爬虫被封禁的概率大大降低(尤其是晚上)
新浪每次返回的json数据个数是随机的,所以翻页后会有数据重复,所以使用了重复数据删除,后面会讲到。
添加删除文本和源码中的emoji表情的代码(写入数据库花了很长时间,几乎从删除库到逃跑/(ㄒoㄒ)/),还删除了对别人的回复与它混合。html代码。
我只写了读取的数据,没有写怎么保存,因为我们需要统计!根据!图书馆!热的!(这才是重点!敲黑板)
在python中读取和写入数据库
微博爬虫虽然大大增加了数据获取量,但也因为是爬虫而轻易被新浪封杀。这里结束循环的判断是网络状态不是200,但是当微博发现是爬虫时,微博会返回一个网页,网页中并没有真实的内容。这时候程序会报错,而之前爬取的数据,什么都没有了。
但是如果你爬一会儿,保存一次数据,数据量会增加……冷文件随机射在猿脸上……我的心就像是……这时候,我们需要使用数据库。
数据库,顾名思义,就是存储数据的仓库。数据库作为一个发展了60多年的管理系统,应用领域巨大,功能复杂……好吧,我不能再编辑了。
在本文中,数据库的主要作用是一个AI风格的excel表格(●—●)。在爬取的过程中,爬取的数据会存储在里面,爬取的数字也会存储在里面。即使爬虫程序中断,中断前爬取的数据也会存入数据库。
大多数数据库都可以用python,我知道mysql、sqlite、mongodb、redis。这里是mysql,mac上mysql的安装,Navicat的使用,管理数据库的软件,其他系统大家可以自己找,如果安装使用过程中出现问题,请不要找我(溜走)根据上面的代码,在navicat中创建数据库、表和字段,以及字段的格式。将代码添加到 Python 程序。
运行python程序,我大概爬了2w实时评论。不得不说,新浪微博的反爬还是很厉害的。解决方案有两种:更改IP和切换帐户。我之前写过关于IP代理的使用。可以在宝藏上购买,但是!_(:зゝ∠)_因为这篇文章的作者是个很穷也经常小气的人,而且身患重病(懒癌)……2w条数据也有研究价值,对吧(((;꒪ꈊ꒪ ; ))),让我们继续我们的研究 (((;꒪ꈊ꒪;)))...
在进行下一步之前,我们还需要读取数据库的内容,python中读取数据库的代码也很简单。
这样就读出了之前爬取的信息,但是前面已经提到,微博爬虫在翻页的时候返回的数据个数是随机的,所以会出现重复的情况,所以读完之后需要使用使数据变得繁重的 if 语句。
4.自然语言处理
自然语言处理是人工智能的一个领域。机器可以通过算法设计来理解人类语言。自然语言也是人工智能的难点。汉语等语言是深奥难测的。最大的困难是python中有很多与NLP相关的模块。感兴趣的朋友可以通过在python中实现简单的文本情感分析来探索NLP。
我拿了(ban)test(yun)一些现成的情感分析算法,对爬取的评论进行分析。错误率很高_(:зゝ∠)_,怎么办?算法应该重新设计吗?好像遇到了人生第一个大问题,就是没学好语言……
当然,像我这样聪明(lan)和生活(duo)的女孩子,自然很快就发现了python中的一个中文著名的NLP库:snowNLP。snowNLP调用的方法比较简单。调用方法和生成结果在源码中有详细说明。
这段代码读取数据库后获取评论正文生成的列表文件,依次对每条评论进行情感值分析。snowNLP 可以根据给定的句子生成一个介于 0 和 1 之间的值。当值大于0.5时,表示句子的情感极性更积极。当分数小于 0.5 时,情绪的极性偏向于负面。当然,越是朝着两个脑袋,情绪越明显。我们来看看测试评论的结果。
第一项:恶心给了0.01分,最后一项:支持薛之谦给了0.99分。看其他基本符合上下文的句子的态度,当需要对单个产品的评价态度进行评价时,可以使用snowNLP。但由于老雪的评论涉及到他本人、李雨桐、高磊鑫三个人,算法无法判断评论的情感价值是谁的,而且微博评论可以由粉丝互相回复,这使得确定评论的主题是谁。这更令人困惑(机器说我无法学习......)。
这似乎意味着这个分析的结果将是……没有用处。我不希望这种事情发生……我是人……最重要的是要开心……我不会写算法,我的语言也不好,我真的做不到(๑°⌓°๑)@ >…
5.分析结果
这次分析的目的愉快地从分析粉丝对薛之谦事件的情绪转变为单纯分析粉丝的情绪(●—●)。
plt.hist(sentimentslist,bins=np.arange(0,1,0.02))
plt.show()
统计上一节处理的情感值列表,生成分布图。以下数据采集时间为9月27日19:00,采集2w条评论。
对了(真的对了,一脸正经)我还爬了2w条李雨桐转发网友捐款的微博评论。
对了(真的对了,看我真诚的眼神)我爬了微博评论说陈赫作弊时发错博了。
从这三张图可以看出,在0、1的末端和0.5附近的情绪值更频繁,说明粉丝对此类事件的情绪是正面的还是负面的。比较明显。但是您也可以从图片中看到一些细微的差异。老薛微博中接近1的情感值数量高于接近0的数量,但没有超过700个。李雨桐微博中接近1的情感值数量要低得多。 0,甚至接近0的数字也达到了1000多,但都超过了700,而陈赫的微博分析结果显示,两者都接近800。由于算法存在一定误差,不代表真实审查结果,所以我不再分析它(你知道的)。
使用新浪微博开放平台api同步微博内容至自己网站(实现一个绑定新浪微博实现同步微博登录效果的方便)
网站优化 • 优采云 发表了文章 • 0 个评论 • 42 次浏览 • 2022-01-28 21:05
近日,公司要求实现绑定新浪微博,以达到同步微博登录的效果。
我花了一段时间才充分利用它。下面说说我的实现过程,希望能给想做这个开发的人一些帮助!
首先我们要到新浪微博开放平台创建我们的网站
在创建网站之前,如果没有认证,需要先认证(几小时内可以审核通过)
根据条件创建网站。中途注意复制一段代码到发布的项目中,然后等待审批(预计时间)
中间会返回一个AppKey和一个AppSecret;
批准后,我们将正式开始我们的开发过程
我们先来看看整个过程
在管理中心 > 接口管理中有所有可以调用的授权接口
在授权机制里面。如果测试用户可以填写/Weibo.aspx,请注意填写其回调地址(Weibo.aspx是我们的回调页面)
public partial class wbAPI : System.Web.UI.Page
{
public const string AppKey = "207788581"; //请自行设置AppKey
public const string AppSecret = "cba11dad8522a7b1f32aefde396be"; //请自行设置AppSecret
public const string CallbackUrl = "http://www.miutrip.com/Weibo.aspx"; //请自行设置回调地址,一般这里不用填应用实际地址,填站内应用地址也是可以的
protected void Page_Load(object sender, EventArgs e)
{
#region 注意事项(绑定新浪微博)
/**
*这段代码放入你的触发时间处。绑定按钮,一般是在别的页面跳过
* 127.0.0.1本机IP 一般用于测试
* 8080 本机端口号
* Weibo.aspx为当前你的页面
* 授权申请成功之后,配置的返回路径应该为 http://www.miutrip.com/Weibo.aspx
* 调用微博信息 要添加NetDimension.Weibo.DLL文件
*/
// href="https://api.weibo.com/oauth2/a ... ot%3B
#endregion
if (!IsPostBack)
{
var sign = Request["code"];
//var sign = "b3eb3bccbf4cd9399236a02a81cde4bf";
var oauth = new NetDimension.Weibo.OAuth(AppKey, AppSecret, CallbackUrl);
/*
* 正常的流程或Web流程:
* 1. 获取授权地址
* 2. 访问授权地址
* 3. 授权成功后自动跳转至callback指定的网站,并获得code
* 4. 通过code换取access token
*/
if (!string.IsNullOrEmpty(sign))
{
var accessToken = oauth.GetAccessTokenByAuthorizationCode(sign).Token;//注意:callback指定的url必须一致
oauth = new OAuth(AppKey, AppSecret, accessToken, "");
var sina = new Client(oauth);
var userInfo = sina.API.Dynamic.Users.Show(uid: sina.API.Entity.Account.GetUID());
//userInfo就为我们得到的用户信息
Response.Write(userInfo);
//Server.Transfer("CorpActivate.aspx", true);
}
}
}
要实现这个页面,我们还需要添加一个DLL:NetDimension.Weibo.dll 可以在线下载
微博入口:
新浪微博登陆
function openwin() {
window.open("https://api.weibo.com/oauth2/a ... ot%3B, "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //写成一行
}
client_id 是 appkey。如果有多个微博条目,不方便处理。
可以在回调地址中,即redirect_uri=
http://www.miutrip.com/Weibo.aspx?sinatype=Login
后跟一个参数,用于区分该条目传递的值。
您可以在 weibo.aspx 获得它
string sinatype = Request.QueryString["Login"];
有什么不明白的可以加我@写下你的情况 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(实现一个绑定新浪微博实现同步微博登录效果的方便)
近日,公司要求实现绑定新浪微博,以达到同步微博登录的效果。
我花了一段时间才充分利用它。下面说说我的实现过程,希望能给想做这个开发的人一些帮助!
首先我们要到新浪微博开放平台创建我们的网站
在创建网站之前,如果没有认证,需要先认证(几小时内可以审核通过)
根据条件创建网站。中途注意复制一段代码到发布的项目中,然后等待审批(预计时间)
中间会返回一个AppKey和一个AppSecret;
批准后,我们将正式开始我们的开发过程
我们先来看看整个过程
在管理中心 > 接口管理中有所有可以调用的授权接口
在授权机制里面。如果测试用户可以填写/Weibo.aspx,请注意填写其回调地址(Weibo.aspx是我们的回调页面)
public partial class wbAPI : System.Web.UI.Page
{
public const string AppKey = "207788581"; //请自行设置AppKey
public const string AppSecret = "cba11dad8522a7b1f32aefde396be"; //请自行设置AppSecret
public const string CallbackUrl = "http://www.miutrip.com/Weibo.aspx"; //请自行设置回调地址,一般这里不用填应用实际地址,填站内应用地址也是可以的
protected void Page_Load(object sender, EventArgs e)
{
#region 注意事项(绑定新浪微博)
/**
*这段代码放入你的触发时间处。绑定按钮,一般是在别的页面跳过
* 127.0.0.1本机IP 一般用于测试
* 8080 本机端口号
* Weibo.aspx为当前你的页面
* 授权申请成功之后,配置的返回路径应该为 http://www.miutrip.com/Weibo.aspx
* 调用微博信息 要添加NetDimension.Weibo.DLL文件
*/
// href="https://api.weibo.com/oauth2/a ... ot%3B
#endregion
if (!IsPostBack)
{
var sign = Request["code"];
//var sign = "b3eb3bccbf4cd9399236a02a81cde4bf";
var oauth = new NetDimension.Weibo.OAuth(AppKey, AppSecret, CallbackUrl);
/*
* 正常的流程或Web流程:
* 1. 获取授权地址
* 2. 访问授权地址
* 3. 授权成功后自动跳转至callback指定的网站,并获得code
* 4. 通过code换取access token
*/
if (!string.IsNullOrEmpty(sign))
{
var accessToken = oauth.GetAccessTokenByAuthorizationCode(sign).Token;//注意:callback指定的url必须一致
oauth = new OAuth(AppKey, AppSecret, accessToken, "");
var sina = new Client(oauth);
var userInfo = sina.API.Dynamic.Users.Show(uid: sina.API.Entity.Account.GetUID());
//userInfo就为我们得到的用户信息
Response.Write(userInfo);
//Server.Transfer("CorpActivate.aspx", true);
}
}
}
要实现这个页面,我们还需要添加一个DLL:NetDimension.Weibo.dll 可以在线下载
微博入口:
新浪微博登陆
function openwin() {
window.open("https://api.weibo.com/oauth2/a ... ot%3B, "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //写成一行
}
client_id 是 appkey。如果有多个微博条目,不方便处理。
可以在回调地址中,即redirect_uri=
http://www.miutrip.com/Weibo.aspx?sinatype=Login
后跟一个参数,用于区分该条目传递的值。
您可以在 weibo.aspx 获得它
string sinatype = Request.QueryString["Login"];
有什么不明白的可以加我@写下你的情况
使用新浪微博开放平台api同步微博内容至自己网站(国外的微博程序,你知道几个?(上))
网站优化 • 优采云 发表了文章 • 0 个评论 • 342 次浏览 • 2022-02-18 07:17
虽然国外微博程序功能齐全,但StateusNet等可能并不适合国内特殊环境。在这种情况下,我们来数一数国内的微博产品。更多详情请关注相关报道。
微博
微博v2.0官方版下载
界面预览
新浪微博基于新浪开放的API,通过绑定新浪微博账号可以实现与新浪微博的无缝对接。微博完全免费开源,如果不能完全满足客户的需求,客户可以自由修改。微博支持与原站账号系统对接。1. 版本 1 内置了 Discuz! 的帐户适配器,可以连接 Discuz! 和微博账户,只需少量操作。微博支持换肤机制。除了默认提供的六套皮肤外,还可以自行开发自定义皮肤。
微博
iWeibo v1.0 下载
界面预览
腾讯iWeibo系统是基于腾讯微博开放平台API开发的免费微博系统。微博功能齐全,可轻松接入腾讯微博。
页面烹饪
PageCookery微博系统v0.9.8下载
界面预览
PageCookery 是国内第一个公开发布的单用户版本的开源微博程序。基于PHP+MySQL架构,以“分享”和“发现”为理念的安全、高效、稳定的Web2.0微博解决方案。
便条狗
注意狗v3.6.6.20120829升级包UTF-8下载
界面预览
Notedog微博系统是一套行业领先的开源PHP微博程序。支持网页、手机、QQ机器人、异地分享等多种方式发布内容。同步到新浪微博(可以使用新浪微博账号登录、注册、绑定)等传播内容是目前最流行、最受欢迎的互动系统。
易谈
EasyTalk v5.0.1 build 20100801下载
界面预览
EasyTalk是国内首个PHP+Mysql多用户开源微博系统,支持网页、手机等多种方式发布和接收信息。EasyTalk 完全符合中国人的上网习惯。安装部署简单,管理方便。EasyTalk功能强大,二次开发率高,人性化的模板定制功能大大提升了用户体验。因此,EasyTalk相对于国内其他微博软件具有绝对优势! 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(国外的微博程序,你知道几个?(上))
虽然国外微博程序功能齐全,但StateusNet等可能并不适合国内特殊环境。在这种情况下,我们来数一数国内的微博产品。更多详情请关注相关报道。
微博
微博v2.0官方版下载


界面预览
新浪微博基于新浪开放的API,通过绑定新浪微博账号可以实现与新浪微博的无缝对接。微博完全免费开源,如果不能完全满足客户的需求,客户可以自由修改。微博支持与原站账号系统对接。1. 版本 1 内置了 Discuz! 的帐户适配器,可以连接 Discuz! 和微博账户,只需少量操作。微博支持换肤机制。除了默认提供的六套皮肤外,还可以自行开发自定义皮肤。
微博
iWeibo v1.0 下载


界面预览
腾讯iWeibo系统是基于腾讯微博开放平台API开发的免费微博系统。微博功能齐全,可轻松接入腾讯微博。
页面烹饪
PageCookery微博系统v0.9.8下载


界面预览
PageCookery 是国内第一个公开发布的单用户版本的开源微博程序。基于PHP+MySQL架构,以“分享”和“发现”为理念的安全、高效、稳定的Web2.0微博解决方案。
便条狗
注意狗v3.6.6.20120829升级包UTF-8下载


界面预览
Notedog微博系统是一套行业领先的开源PHP微博程序。支持网页、手机、QQ机器人、异地分享等多种方式发布内容。同步到新浪微博(可以使用新浪微博账号登录、注册、绑定)等传播内容是目前最流行、最受欢迎的互动系统。
易谈
EasyTalk v5.0.1 build 20100801下载


界面预览
EasyTalk是国内首个PHP+Mysql多用户开源微博系统,支持网页、手机等多种方式发布和接收信息。EasyTalk 完全符合中国人的上网习惯。安装部署简单,管理方便。EasyTalk功能强大,二次开发率高,人性化的模板定制功能大大提升了用户体验。因此,EasyTalk相对于国内其他微博软件具有绝对优势!
使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站-webgis-native)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2022-02-17 19:04
使用新浪微博开放平台api同步微博内容至自己网站-webgis-native/
你好!专注服务于企业级大数据分析、数据可视化等需求,相关产品线包括行业分析bi系统、行业分析报告bi系统、bi平台、数据源及数据处理模块,平台已经成功服务于多家企业、政府部门。
我们之前用了行业分析的bi系统,特别方便快捷,不管是跟行业数据分析相关的各种仪表盘、报表、分析报告,bi系统都是实时同步的,不用维护,不同部门的进行交流,互通有无也很方便。
这个,你可以先看看新浪微博开放平台有什么合作平台之类的,是专注于微博开放平台开发,算是业内比较专业的了,可以去了解下。
看过一篇文章(来自爱分析),
我认为是这样1.提供技术支持2.提供运营支持3.提供专业的咨询。
微博数据上报平台和微博数据采集平台了解一下,为多方需求提供“天猫超市的毛利分析和进销存管理”服务,是腾讯、阿里、大麦科技合作成立的一个专业团队提供服务的。详情请见新浪微博开放平台。
找
国内的可以了解下apilink, 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(使用新浪微博开放平台api同步微博内容至自己网站-webgis-native)
使用新浪微博开放平台api同步微博内容至自己网站-webgis-native/
你好!专注服务于企业级大数据分析、数据可视化等需求,相关产品线包括行业分析bi系统、行业分析报告bi系统、bi平台、数据源及数据处理模块,平台已经成功服务于多家企业、政府部门。
我们之前用了行业分析的bi系统,特别方便快捷,不管是跟行业数据分析相关的各种仪表盘、报表、分析报告,bi系统都是实时同步的,不用维护,不同部门的进行交流,互通有无也很方便。
这个,你可以先看看新浪微博开放平台有什么合作平台之类的,是专注于微博开放平台开发,算是业内比较专业的了,可以去了解下。
看过一篇文章(来自爱分析),
我认为是这样1.提供技术支持2.提供运营支持3.提供专业的咨询。
微博数据上报平台和微博数据采集平台了解一下,为多方需求提供“天猫超市的毛利分析和进销存管理”服务,是腾讯、阿里、大麦科技合作成立的一个专业团队提供服务的。详情请见新浪微博开放平台。
找
国内的可以了解下apilink,
使用新浪微博开放平台api同步微博内容至自己网站(E9%A6%E9A1%(图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 62 次浏览 • 2022-02-17 00:06
关于新浪微博开放平台的问题很多。网上的文档不是很清楚。授权机制被难住了。我不知道发生了什么事。
不小心尝试了一个方法States返回成功,代码如下:
1.头部引用
2.Javascript
$(function(){
WB2.anyWhere(function(W){
W.parseCMD("/statuses/home_timeline.json?user_id=2922998432", function(sResult, bStatus){
if(bStatus == true) {
alert(sResult);
}
},{},{
method: ‘get‘
});
});
})
这里的User_id填写自己的Userid。不知道的可以去自己的微博查一下,或者去百度一下怎么查自己的userid。我不会在这里详细解释。
如果成功,会弹出object类型的sResult,你可以根据需要调试它并获取内容;parseCMD的第一个参数是接口,接口的详细信息可以去新浪微博开放平台的API查看你需要的%E9%A6。%96%E9%A1%B5
-----新浪微博好像所有界面都不支持POST,但是默认提交还是POST方式:需要'GET',
新浪微博开放平台API、布扣、
新浪微博开放平台API
原来的: 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(E9%A6%E9A1%(图))
关于新浪微博开放平台的问题很多。网上的文档不是很清楚。授权机制被难住了。我不知道发生了什么事。
不小心尝试了一个方法States返回成功,代码如下:
1.头部引用
2.Javascript
$(function(){
WB2.anyWhere(function(W){
W.parseCMD("/statuses/home_timeline.json?user_id=2922998432", function(sResult, bStatus){
if(bStatus == true) {
alert(sResult);
}
},{},{
method: ‘get‘
});
});
})
这里的User_id填写自己的Userid。不知道的可以去自己的微博查一下,或者去百度一下怎么查自己的userid。我不会在这里详细解释。
如果成功,会弹出object类型的sResult,你可以根据需要调试它并获取内容;parseCMD的第一个参数是接口,接口的详细信息可以去新浪微博开放平台的API查看你需要的%E9%A6。%96%E9%A1%B5
-----新浪微博好像所有界面都不支持POST,但是默认提交还是POST方式:需要'GET',
新浪微博开放平台API、布扣、
新浪微博开放平台API
原来的:
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
网站优化 • 优采云 发表了文章 • 0 个评论 • 58 次浏览 • 2022-02-12 21:10
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容
上图是这个客户端的主界面。目前只获取前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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。新浪微博的誓言
借用一张新浪微博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, 新浪微博 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容

上图是这个客户端的主界面。目前只获取前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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。新浪微博的誓言

借用一张新浪微博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, 新浪微博
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台授权回调页的代码)
网站优化 • 优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2022-02-12 18:19
第 1 步:添加应用程序
进入新浪微博开放平台(如果没有,自行注册),进入“管理中心”,点击“创建应用”,选择“微链接应用”,然后点击“创建应用”,选择“手机申请”,并填写相应信息,如果没有申请地址,选择平台提交即可。请记住保存您的 App Key 和 App Secret 以备后用。
第二步:Oauth2.0 授权设置
应用创建后,可以在“管理中心”-“我的应用”查看信息,“应用信息”-“高级信息”可以设置网站@的授权回调页面和取消授权回调页面>。用户授权成功后会回调授权回调页面,同时会返回一个“code”参数,开发者可以用code换取Access_Token值。当然,如果是手机应用,比如本文没有自己的授权回调页面,建议填写:或者类似的。如果授权后返回的表单如下:
我们只需要得到代码a6146547f981199c07348837b0629d5d的值。请注意,代码的值每次都不同。
第三步:在你要点击登录的地方调整如下代码(注意这里的redirectURI写你自己的回调页面)
WBAuthorizeRequest *request = [WBAuthorizeRequest request];
request.redirectURI = @"你的授权回调页网址";
request.scope = @"all";
[WeiboSDK sendRequest:request];
第四步:在appdelegate中引入头文件,跟随代理WeiboSDKDelegate
#import "WeiboSDK.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WeiboSDK enableDebugMode:YES];
[WeiboSDK registerApp:kAppKey];
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WeiboSDK handleOpenURL:url delegate:self];
}
/**
收到一个来自微博客户端程序的请求
收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {
WBProvideMessageForWeiboResponse *response = [WBProvideMessageForWeiboResponse responseWithMessage:[self messageToShare]];
[WeiboSDK sendResponse:response];
NSLog(@"收到一个来自微博客户端程序的请求");
}
/**
收到一个来自微博客户端程序的响应
收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
NSLog(@"收到一个来自微博客户端程序的响应");
// 这里response就是返回来的数据,包含token,uid等键值对;
NSLog(@"%@",response.userInfo);
NSString *theString = [NSString stringWithFormat:@"https://api.weibo.com/2/users/ ... ot%3B,response.userInfo[@"access_token"],response.userInfo[@"uid"]];
// 这里只是通过URL对数据进行请求,可以用系统的也可用AFNetworking,下面我使用对AFNetworking的简单封装过后的方法,请忽略
[NetWork netWorkWithPath:theString Params:[NSDictionary dictionary] CallBack:^(NSDictionary *info, NetType type) {
// 这里info就包含请求回来的用户头像等数据
NSLog(@"%@",info);
}];
}
- (WBMessageObject *)messageToShare {
WBMessageObject *message = [WBMessageObject message];
message.text = @"测试使用";
return message;
}
!!!!如果输入账号后登录返回403错误,是因为项目没有通过审核,或者没有添加测试账号,请到申请信息-测试信息添加测试账号 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台授权回调页的代码)
第 1 步:添加应用程序
进入新浪微博开放平台(如果没有,自行注册),进入“管理中心”,点击“创建应用”,选择“微链接应用”,然后点击“创建应用”,选择“手机申请”,并填写相应信息,如果没有申请地址,选择平台提交即可。请记住保存您的 App Key 和 App Secret 以备后用。
第二步:Oauth2.0 授权设置
应用创建后,可以在“管理中心”-“我的应用”查看信息,“应用信息”-“高级信息”可以设置网站@的授权回调页面和取消授权回调页面>。用户授权成功后会回调授权回调页面,同时会返回一个“code”参数,开发者可以用code换取Access_Token值。当然,如果是手机应用,比如本文没有自己的授权回调页面,建议填写:或者类似的。如果授权后返回的表单如下:
我们只需要得到代码a6146547f981199c07348837b0629d5d的值。请注意,代码的值每次都不同。
第三步:在你要点击登录的地方调整如下代码(注意这里的redirectURI写你自己的回调页面)
WBAuthorizeRequest *request = [WBAuthorizeRequest request];
request.redirectURI = @"你的授权回调页网址";
request.scope = @"all";
[WeiboSDK sendRequest:request];
第四步:在appdelegate中引入头文件,跟随代理WeiboSDKDelegate
#import "WeiboSDK.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WeiboSDK enableDebugMode:YES];
[WeiboSDK registerApp:kAppKey];
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WeiboSDK handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WeiboSDK handleOpenURL:url delegate:self];
}
/**
收到一个来自微博客户端程序的请求
收到微博的请求后,第三方应用应该按照请求类型进行处理,处理完后必须通过 [WeiboSDK sendResponse:] 将结果回传给微博
@param request 具体的请求对象
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request {
WBProvideMessageForWeiboResponse *response = [WBProvideMessageForWeiboResponse responseWithMessage:[self messageToShare]];
[WeiboSDK sendResponse:response];
NSLog(@"收到一个来自微博客户端程序的请求");
}
/**
收到一个来自微博客户端程序的响应
收到微博的响应后,第三方应用可以通过响应类型、响应的数据和 WBBaseResponse.userInfo 中的数据完成自己的功能
@param response 具体的响应对象
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *)response {
NSLog(@"收到一个来自微博客户端程序的响应");
// 这里response就是返回来的数据,包含token,uid等键值对;
NSLog(@"%@",response.userInfo);
NSString *theString = [NSString stringWithFormat:@"https://api.weibo.com/2/users/ ... ot%3B,response.userInfo[@"access_token"],response.userInfo[@"uid"]];
// 这里只是通过URL对数据进行请求,可以用系统的也可用AFNetworking,下面我使用对AFNetworking的简单封装过后的方法,请忽略
[NetWork netWorkWithPath:theString Params:[NSDictionary dictionary] CallBack:^(NSDictionary *info, NetType type) {
// 这里info就包含请求回来的用户头像等数据
NSLog(@"%@",info);
}];
}
- (WBMessageObject *)messageToShare {
WBMessageObject *message = [WBMessageObject message];
message.text = @"测试使用";
return message;
}
!!!!如果输入账号后登录返回403错误,是因为项目没有通过审核,或者没有添加测试账号,请到申请信息-测试信息添加测试账号
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2022-02-12 06:16
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容
上图是这个客户端的主界面。目前只获取前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
操作系统是android2.2.
用到的技术点包括ListView、自定义ListAdapter、多线程相关Message、Handler、认证相关OAuth、异步加载用户图片等。
新浪微博的验证使用signpost的OAuth组件,不使用微博的SDK。
源代码下载:
关于 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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。
新浪微博的誓言
借用一张新浪微博oauth验证流程图。
当我们在新浪微博开放平台上创建一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们会根据callback_url跳转到我们应用的某个地址。我们再次使用request_token来获取access_token,然后我们需要通过access token来访问需要验证的开放平台提供的接口。
当然,那些不需要验证就可以访问的接口,可以直接使用key进行访问。具体请参考开放平台提供的API文档。
腾讯微博和163微博的开放平台在原理和实现上也类似。
packagecom.sinaweibo2;
importoauth.signpost.OAuthConsumer;
importoauth.signpost.OAuthProvider;
monshttp.CommonsHttpOAuthConsumer;
monshttp.CommonsHttpOAuthProvider;
importoauth.signpost.exception.OAuthCommunicationException;
importoauth.signpost.exception.OAuthExpectationFailedException;
importoauth.signpost.exception.OAuthMessageSignerException;
importoauth.signpost.exception.OAuthNotAuthorizedException;
公共类OAuth {
privateOAuthConsumer mConsumer;
私有OAuthProvider mProvider;
publicstaticfinalString CALLBACK_URL="sinaweibo2://WeiboListActivity";
publicstaticfinalString CONSUMER_KEY="1849239616";
publicstaticfinalString CONSUMER_SECRET="b2137bf782bf6cae004b8a8394d5d5d6";
publicstaticfinalString REQUEST_TOKEN_URL = "";
publicstaticfinalString ACCESS_TOKEN_URL = "";
publicstaticfinalString AUTHORIZE_URL = "";
公共OAuth(){
}
publicString RetrieveAuthUrl() throwsOAuthMessageSignerException,
OAuthNotAuthorizedException、OAuthExpectationFailedException、
OAuthCommunicationException {
mConsumer =newCommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider =newCommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);
String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);
returnauthUrl;
}
publicvoidRetrieveAccessToken(字符串验证器)
throwsOAuthMessageSignerException、OAuthNotAuthorizedException、
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, 验证者);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}
}
更多功能
接下来主要完善两个功能,一是分页浏览,二是发布微博。
未来可能支持图片发布等实用功能。
有UI美化,性能优化。
总结
在学习的过程中,我看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527). pdf,都是很不错的入门书,书我没有看完,但是看了大部分,边看边写demo。
同时,论坛是eoe天天的开发者门户。回答问题、解决问题、提问、发帖,总之就是锻炼自己,强迫自己锻炼基础和思考。
论坛上有很多中文的pdf教程,但是我发现大部分都是android开发者中心的Dev Guide和Resources中的内容的翻译。所以我觉得,如果英文不是很差,建议直接看上面两节,同时练习里面的例子。保证在两周内,你会取得很大的进步。
参考
Technorati 标签:android, 开放平台, oauth, 新浪微博 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博开放平台做个实践,开发一个功能简单的android客户端)
介绍
最近不太忙,花点时间学习android app开发。经过两周的学习,我在学习的同时也写了很多demo例子,可以从基本控件和基本动画效果的demo合集中放出,不断更新下载。
从这周开始,我打算以新浪微博开放平台为实践,开发一个功能简单的安卓客户端,尽可能的完善功能。
今天的内容

上图是这个客户端的主界面。目前只获取前20条数据。您也可以单击刷新来刷新数据。功能比较简单。
操作系统是android2.2.
用到的技术点包括ListView、自定义ListAdapter、多线程相关Message、Handler、认证相关OAuth、异步加载用户图片等。
新浪微博的验证使用signpost的OAuth组件,不使用微博的SDK。

源代码下载:
关于 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 进行认证和授权的流程如下:
用户访问客户端的网站,想要操作存储在服务提供者中的用户资源。客户端向服务提供者请求一个临时令牌。服务提供者对客户端进行身份验证后,将授予一个临时令牌。客户端获取临时token后,将用户引导至服务提供者的授权页面,请求用户授权。在这个过程中,临时令牌和客户端的回调连接被发送给服务提供者。用户在服务提供商的网页上输入用户名和密码,然后授权客户端访问所请求的资源。授权成功后,服务商引导用户返回客户端的网页。客户端根据临时令牌从服务提供者处获取访问令牌。服务提供者根据临时令牌和用户授权授予客户端访问令牌。客户端使用获得的访问令牌来访问托管在服务提供商上的受保护资源。
新浪微博的誓言

借用一张新浪微博oauth验证流程图。
当我们在新浪微博开放平台上创建一个新的应用程序时,我们会给新的应用程序分配一个key和secret,即consumerKey和consumerSecret。通过这两件事,我们去request_token,然后将用户重定向到新浪微博平台的授权页面。授权后,我们会根据callback_url跳转到我们应用的某个地址。我们再次使用request_token来获取access_token,然后我们需要通过access token来访问需要验证的开放平台提供的接口。
当然,那些不需要验证就可以访问的接口,可以直接使用key进行访问。具体请参考开放平台提供的API文档。
腾讯微博和163微博的开放平台在原理和实现上也类似。
packagecom.sinaweibo2;
importoauth.signpost.OAuthConsumer;
importoauth.signpost.OAuthProvider;
monshttp.CommonsHttpOAuthConsumer;
monshttp.CommonsHttpOAuthProvider;
importoauth.signpost.exception.OAuthCommunicationException;
importoauth.signpost.exception.OAuthExpectationFailedException;
importoauth.signpost.exception.OAuthMessageSignerException;
importoauth.signpost.exception.OAuthNotAuthorizedException;
公共类OAuth {
privateOAuthConsumer mConsumer;
私有OAuthProvider mProvider;
publicstaticfinalString CALLBACK_URL="sinaweibo2://WeiboListActivity";
publicstaticfinalString CONSUMER_KEY="1849239616";
publicstaticfinalString CONSUMER_SECRET="b2137bf782bf6cae004b8a8394d5d5d6";
publicstaticfinalString REQUEST_TOKEN_URL = "";
publicstaticfinalString ACCESS_TOKEN_URL = "";
publicstaticfinalString AUTHORIZE_URL = "";
公共OAuth(){
}
publicString RetrieveAuthUrl() throwsOAuthMessageSignerException,
OAuthNotAuthorizedException、OAuthExpectationFailedException、
OAuthCommunicationException {
mConsumer =newCommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
mProvider =newCommonsHttpOAuthProvider(REQUEST_TOKEN_URL,
ACCESS_TOKEN_URL, AUTHORIZE_URL);
String authUrl= mProvider.retrieveRequestToken(mConsumer, CALLBACK_URL);
returnauthUrl;
}
publicvoidRetrieveAccessToken(字符串验证器)
throwsOAuthMessageSignerException、OAuthNotAuthorizedException、
OAuthExpectationFailedException, OAuthCommunicationException {
mProvider.setOAuth10a(true);
mProvider.retrieveAccessToken(mConsumer, 验证者);
OAuthUser.USER_ID=mProvider.getResponseParameters().getFirst("user_id");
OAuthUser.ACCESS_TOKEN = mConsumer.getToken();
OAuthUser.ACCESS_TOKEN_SECRET = mConsumer.getTokenSecret();
}
}
更多功能
接下来主要完善两个功能,一是分页浏览,二是发布微博。
未来可能支持图片发布等实用功能。
有UI美化,性能优化。
总结
在学习的过程中,我看了两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527). pdf,都是很不错的入门书,书我没有看完,但是看了大部分,边看边写demo。
同时,论坛是eoe天天的开发者门户。回答问题、解决问题、提问、发帖,总之就是锻炼自己,强迫自己锻炼基础和思考。
论坛上有很多中文的pdf教程,但是我发现大部分都是android开发者中心的Dev Guide和Resources中的内容的翻译。所以我觉得,如果英文不是很差,建议直接看上面两节,同时练习里面的例子。保证在两周内,你会取得很大的进步。
参考
Technorati 标签:android, 开放平台, oauth, 新浪微博
使用新浪微博开放平台api同步微博内容至自己网站(2017年6月微博出了更新分享微博的一下插件更新)
网站优化 • 优采云 发表了文章 • 0 个评论 • 65 次浏览 • 2022-02-12 05:13
自2017年6月起,微博发布更新分享微博api接口的消息,emlog微博同步相关插件无法再使用。
有些人可能会发现,第一次使用新版微博api时,总是会报错10014和10017。这个时候不用担心,只是微博权限增加了,仔细阅读参数说明和错误码就可以解决问题。
1、首先将原来的更新界面改为分享界面。点击查看相关文件。注意必填参数status参数有很多描述权限:
用户在微博上分享的文字内容必须经过URL编码,内容不超过140个汉字,文字不能收录“#topic word#”,且文字必须至少收录一个第三方分享到微博网页的URL,并且 URL 只能是第三方(调用方)绑定域下的 URL 链接。绑定域在“我的应用-应用信息-基本应用信息编辑-安全域名”中设置。
看完这段话,一目了然,相关的错误代码在这里。
2、 然后是微博开放平台的配置,这里有两点需要注意:
(1)AppKey、AppSecret及回调接口配置;
(2)安全域名的配置。
3、以上2点是重点。可以直接下载微博SDK,轻松集成。
此处内容已被作者隐藏,请输入验证码查看内容,请关注本站bilibili直播间,赠送大礼“B克拉”(限时1小时以内) ,获取验证码,并以水印或弹幕的形式展示。扫描BilibiliApp右侧二维码进入直播间。
评论:
1、如果运营受到系统故障影响的概率非常低,只需要带粉丝勋章的主播私信通知事件即可。
2、此行为纯属自愿赠送。
3、验证码生效一次后需要重新获取。
4、使用注意事项:
这个插件是用 php5.6 编写的。如果遇到语法错误,只需适当降低 php 版本即可。
5、变更日志:
2018-06-02
1、修复发送微博时的字数限制;
2、添加了可以发到微博的图片。
2018-05-09
1、2017年6月26日更新微博API微博同步功能。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(2017年6月微博出了更新分享微博的一下插件更新)
自2017年6月起,微博发布更新分享微博api接口的消息,emlog微博同步相关插件无法再使用。
有些人可能会发现,第一次使用新版微博api时,总是会报错10014和10017。这个时候不用担心,只是微博权限增加了,仔细阅读参数说明和错误码就可以解决问题。
1、首先将原来的更新界面改为分享界面。点击查看相关文件。注意必填参数status参数有很多描述权限:
用户在微博上分享的文字内容必须经过URL编码,内容不超过140个汉字,文字不能收录“#topic word#”,且文字必须至少收录一个第三方分享到微博网页的URL,并且 URL 只能是第三方(调用方)绑定域下的 URL 链接。绑定域在“我的应用-应用信息-基本应用信息编辑-安全域名”中设置。
看完这段话,一目了然,相关的错误代码在这里。
2、 然后是微博开放平台的配置,这里有两点需要注意:
(1)AppKey、AppSecret及回调接口配置;
(2)安全域名的配置。
3、以上2点是重点。可以直接下载微博SDK,轻松集成。

此处内容已被作者隐藏,请输入验证码查看内容,请关注本站bilibili直播间,赠送大礼“B克拉”(限时1小时以内) ,获取验证码,并以水印或弹幕的形式展示。扫描BilibiliApp右侧二维码进入直播间。
评论:
1、如果运营受到系统故障影响的概率非常低,只需要带粉丝勋章的主播私信通知事件即可。
2、此行为纯属自愿赠送。
3、验证码生效一次后需要重新获取。
4、使用注意事项:
这个插件是用 php5.6 编写的。如果遇到语法错误,只需适当降低 php 版本即可。
5、变更日志:
2018-06-02
1、修复发送微博时的字数限制;
2、添加了可以发到微博的图片。
2018-05-09
1、2017年6月26日更新微博API微博同步功能。
使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用,测试好多次,终于成功了)
网站优化 • 优采云 发表了文章 • 0 个评论 • 316 次浏览 • 2022-02-12 05:09
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:,选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APP SECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
在weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的APP KEY和APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefined index: SCRIPT_URI inD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后出现错误:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APP KEY和APPSECRET,然后我们要验证APP KEY是否合法,并询问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发布的消息文章 消息,下面要标注“from xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接到下面的/callback.php没关系。
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是前面用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个什么都不知道的.DS_Stor,打开就是乱码,我也不管,估计没用。
另外提醒注意页面的编码格式,如有乱码请耐心调试。
本文转载自: 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用,测试好多次,终于成功了)
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:,选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APP SECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
在weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的APP KEY和APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefined index: SCRIPT_URI inD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后出现错误:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APP KEY和APPSECRET,然后我们要验证APP KEY是否合法,并询问我们是否授权这个应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发布的消息文章 消息,下面要标注“from xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是指向文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接到下面的/callback.php没关系。
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是前面用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个什么都不知道的.DS_Stor,打开就是乱码,我也不管,估计没用。
另外提醒注意页面的编码格式,如有乱码请耐心调试。
本文转载自:
使用新浪微博开放平台api同步微博内容至自己网站(QQ登录OAuth2.0,PHP,Java等多个版本的SDK)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2022-02-06 17:17
内容
1.什么是“QQ登录OAuth2.0”
OAuth:OAuth(开放授权)是一种开放标准,允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而无需向第三方提供用户名和密码网站或共享所有他们的数据。
QQ登录OAuth2.0:对于用户相关的OpenAPI(如获取用户信息、动态同步、照片、日志、分享等),为了保护用户数据的安全和隐私,第三方< @网站 访问用户 访问数据前需要明确要求用户授权。
QQ登录OAuth2.0使用OAuth2.0标准协议对用户进行认证,获取用户授权。与之前的 OAuth1.0 协议相比,认证过程更简单、更安全。
因此,请使用 OAuth 1.0 协议的 网站 升级到 OAuth 2.0 协议。升级方法请参考 OAuth1.0 升级到 OAuth2.0 指南。
尖端:
如果想扩展对OAuth2.0开放标准的阅读,请参考:OAuth标准(英文)| OAuth 维基百科(中文)
2.QQ登录OAuth2.0访问方式
QQ登录OAuth2.0支持网站访问和手机应用访问。
网站可以通过以下两种方式访问:
(1)使用QQ互联网提供的SDK包,用户体验统一,只需要修改少量代码,无需了解验证和授权流程,可以使用此方法适用于网站和需要快速访问QQ登录的手机应用。
QQ互联网提供了JavaScript、PHP、Java等多个版本的SDK,详情请参考:SDK下载
QQ登录JS SDK见:JS SDK使用说明
(2)根据QQ登录OAuth2.0协议,自行开发,此方式定制化程度高,网站及需要与现有系统集成的移动应用可以选择这种方法。
参见:OAuth2.0 开发文档
可以通过两种方式访问移动应用程序开发:
(1)使用QQ互联网提供的iOS、Android等平台的SDK包,用户体验统一,只需要修改少量代码,无需了解验证授权需要快速访问QQ登录的应用可以选择这种方式。
iOS和Android版本的SDK都支持网页视图和浏览器模式,即支持跳转到手机浏览器进行QQ登录和验证过程。开发者可以在SDK包中选择浏览器模式,但是浏览器模式用户跳转很多,所以不推荐使用。
见:SDK下载
(2)根据QQ登录OAuth2.0协议,自行开发,该方式定制化程度高,移动应用需要与现有系统集成可以选择该方式。
建议移动应用使用webview打开登录页面。登录成功后获取accesstoken和openid,关闭webview控件。用户体验更好。
参见:OAuth2.0 开发文档
对于Android2.1以下的版本,访问https时会出现签名证书验证的问题,解决方法可以看这里。
3.QQ登录OAuth2.0整体处理流程
QQ登录OAuth2.0整体处理流程如下:
Step1:申请访问,获取appid和apikey;
Step2:开发应用并设置协作者账号,用于测试和联调;
Step3:放置QQ登录按钮;
Step4:通过用户登录验证和授权获取Access Token;
Step5:通过Access Token获取用户的OpenID;
Step6:调用OpenAPI请求访问或修改用户授权的资源。
4.QQ登录OAuth2.0开发说明
开发者需要根据腾讯提供的 UI 规范、请求描述、接口描述,开发 UI 和代码。
有关详细信息,请参阅 OAuth2.0 开发文档。
以上信息是否解决了您的问题?
为了让我们更有效地优化我们的数据库并有针对性地改进我们的服务,我们需要您进一步反馈:
提交成功!
非常感谢您的反馈,我们会继续努力让它变得更好!
提交成功!
感谢您的批评和建议,我们将进行针对性的优化,为您提供更好的服务。
开放平台与您一起成长!
取自“%E7%AE%80%E4%BB%8B” 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(QQ登录OAuth2.0,PHP,Java等多个版本的SDK)
内容
1.什么是“QQ登录OAuth2.0”
OAuth:OAuth(开放授权)是一种开放标准,允许用户授权第三方网站访问他们存储在另一个服务提供商上的信息,而无需向第三方提供用户名和密码网站或共享所有他们的数据。
QQ登录OAuth2.0:对于用户相关的OpenAPI(如获取用户信息、动态同步、照片、日志、分享等),为了保护用户数据的安全和隐私,第三方< @网站 访问用户 访问数据前需要明确要求用户授权。
QQ登录OAuth2.0使用OAuth2.0标准协议对用户进行认证,获取用户授权。与之前的 OAuth1.0 协议相比,认证过程更简单、更安全。
因此,请使用 OAuth 1.0 协议的 网站 升级到 OAuth 2.0 协议。升级方法请参考 OAuth1.0 升级到 OAuth2.0 指南。
尖端:
如果想扩展对OAuth2.0开放标准的阅读,请参考:OAuth标准(英文)| OAuth 维基百科(中文)
2.QQ登录OAuth2.0访问方式
QQ登录OAuth2.0支持网站访问和手机应用访问。
网站可以通过以下两种方式访问:
(1)使用QQ互联网提供的SDK包,用户体验统一,只需要修改少量代码,无需了解验证和授权流程,可以使用此方法适用于网站和需要快速访问QQ登录的手机应用。
QQ互联网提供了JavaScript、PHP、Java等多个版本的SDK,详情请参考:SDK下载
QQ登录JS SDK见:JS SDK使用说明
(2)根据QQ登录OAuth2.0协议,自行开发,此方式定制化程度高,网站及需要与现有系统集成的移动应用可以选择这种方法。
参见:OAuth2.0 开发文档
可以通过两种方式访问移动应用程序开发:
(1)使用QQ互联网提供的iOS、Android等平台的SDK包,用户体验统一,只需要修改少量代码,无需了解验证授权需要快速访问QQ登录的应用可以选择这种方式。
iOS和Android版本的SDK都支持网页视图和浏览器模式,即支持跳转到手机浏览器进行QQ登录和验证过程。开发者可以在SDK包中选择浏览器模式,但是浏览器模式用户跳转很多,所以不推荐使用。
见:SDK下载
(2)根据QQ登录OAuth2.0协议,自行开发,该方式定制化程度高,移动应用需要与现有系统集成可以选择该方式。
建议移动应用使用webview打开登录页面。登录成功后获取accesstoken和openid,关闭webview控件。用户体验更好。
参见:OAuth2.0 开发文档
对于Android2.1以下的版本,访问https时会出现签名证书验证的问题,解决方法可以看这里。
3.QQ登录OAuth2.0整体处理流程
QQ登录OAuth2.0整体处理流程如下:
Step1:申请访问,获取appid和apikey;
Step2:开发应用并设置协作者账号,用于测试和联调;
Step3:放置QQ登录按钮;
Step4:通过用户登录验证和授权获取Access Token;
Step5:通过Access Token获取用户的OpenID;
Step6:调用OpenAPI请求访问或修改用户授权的资源。
4.QQ登录OAuth2.0开发说明
开发者需要根据腾讯提供的 UI 规范、请求描述、接口描述,开发 UI 和代码。
有关详细信息,请参阅 OAuth2.0 开发文档。
以上信息是否解决了您的问题?
为了让我们更有效地优化我们的数据库并有针对性地改进我们的服务,我们需要您进一步反馈:
提交成功!
非常感谢您的反馈,我们会继续努力让它变得更好!
提交成功!
感谢您的批评和建议,我们将进行针对性的优化,为您提供更好的服务。
开放平台与您一起成长!
取自“%E7%AE%80%E4%BB%8B”
使用新浪微博开放平台api同步微博内容至自己网站(PHP下通过API实现与新浪微博同步应用测试好多次)
网站优化 • 优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2022-02-05 20:20
(转贴) PHP下通过API与新浪微博同步
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APPSECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证方式”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后报错:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后我们要验证APPKEY是否合法,并询问我们是否授权应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发送的消息文章 ,以下应标记为“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是这样的,知道文件夹d:/www/,我的weibodemo文件夹放在/www/下,那我改$_SERVER['SCRIPT_URI']连接下面的/callback.php就可以了.
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(PHP下通过API实现与新浪微博同步应用测试好多次)
(转贴) PHP下通过API与新浪微博同步
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的APPKEY和APPSECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证方式”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后报错:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后我们要验证APPKEY是否合法,并询问我们是否授权应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发送的消息文章 ,以下应标记为“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。比如:我的本地虚拟凹陷是这样的,知道文件夹d:/www/,我的weibodemo文件夹放在/www/下,那我改$_SERVER['SCRIPT_URI']连接下面的/callback.php就可以了.
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是之前用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。
使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5 )
网站优化 • 优采云 发表了文章 • 0 个评论 • 54 次浏览 • 2022-02-05 20:17
)
最近做了一个关于联合第三方平台的登录访问,第一次接触到开放平台,在这里做个笔记。
开发前的准备工作如下:
1、注册新浪微博
2、访问新浪微博开发平台。如果是企业,申请企业准入并提交相关材料进行审核;如果是个人开发者,请申请个人开发者申请。我们以开发者为例
3、使用新浪微博开放API,需要向新浪申请一个appkey和一个App Secret。这些是入口。您必须先获得这两个,然后才能进行下一个访问工作。
4、输入完善个人信息后,必须完成身份验证审核。审核完成后,新浪开放平台会给出appkey和App Secret。
5、接下来就是如何使用appkey和App Secret了。您需要在开放平台下载文档或演示代码。其实提供的文档基本上都是技术文档,很多东西都没有解释清楚。还是会有很多麻烦
6、新浪开放平台提供了很多不同开发语言的SDK,这里我选择java SDK,下载一个zip文件(包括新接口和OAuth2.0),解压后即可可以直接导入go到eclipse,结构如下,包括weibo4j源码和示例代码
这里是一个config配置文件,打开如下:
我们之前申请的appkey和App Secret就派上用场了。这里的client_ID为appkey,client_SERCRET为App Secret,填写对应内容,redirect_URI为回调地址。
点击“第三方”-》跳转微博登录-》登录ok,授权-》回调自己的应用,这里是回调地址的意思。
7、开始运行测试程序,测试程序在example下,包weibo4j.examples.oauth2下的类OAuth4Code,这里我们需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把这一段改成oauth.authorize("code","","all"),至于为什么,请看这里的接口文档说明使用 oauth.authorize
假设我们这里没有回调地址,配置文件中的redirect_URI为空。运行后会自动打开浏览器运行测试,显示如下:
此时的URL地址为:
这说明我的appkey和App Secret是有效的,因为我们还没有创建正式的应用,新浪无法识别我的来源
8、在开放平台上创建应用,如下图
这里有三种类型的应用程序,网站 访问、站内应用程序和移动应用程序。如果是企业行为,有公有域名可以访问,应用通过域名访问。这里可以用任何方法,但是如果我们只是一个简单的开发者,没有公网域名,比如内网模式,ip以内网地址192.168.开头1.*,本地127.0.0.1等,这里只能选择创建站内应用,填写如下
这里红框标注的地方就是回调地址。如果我没有公网ip和域名,我在局域网玩的时候随便填,但是不能用localhost代替127.0.0.1,这里是按照配置要求做的,这个配置的要求很严格,
尤其是下面的应用图标比较麻烦。完成后,您可以提交它们以供审核。
9、提交审核后,新浪开放平台会在1天左右第一时间向您的邮箱发送邮件通知您审核结果,但无论审核结果是否失败,关键是提交审核。没有审核成功,这里可以照常使用
10、完成测试项目中的配置文件redirect_URI,必须与创建应用时填写的【应用实际地址】一致,这是回调地址!完成配置后,再次运行OAuth4Code.java,如图
在这里你会跳转到新浪微博的登录页面。登录新浪微博账号后,需要点击授权,表示平台可以访问您的微博账号相关内容分享您的信息等。授权结束后,
将返回一个代码。这段代码非常重要。它是我们整个访问第三方平台的门钥匙。通过这段代码,我们可以获取到用户的access_token、UID等内容,相当于整个访问过程。
11、调用新浪微博开放API
这里我们需要研究这些API来满足访问的需要。首先要熟悉的是OAuth2.0授权接口,网上可以查到,如下:
12、通过servlet程序调用开放API获取新浪微博的UID和微博名的示例
response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/
查看全部
使用新浪微博开放平台api同步微博内容至自己网站(联合第三方平台登录接入,初次接触开放平台和AppSecret5
)
最近做了一个关于联合第三方平台的登录访问,第一次接触到开放平台,在这里做个笔记。
开发前的准备工作如下:
1、注册新浪微博
2、访问新浪微博开发平台。如果是企业,申请企业准入并提交相关材料进行审核;如果是个人开发者,请申请个人开发者申请。我们以开发者为例
3、使用新浪微博开放API,需要向新浪申请一个appkey和一个App Secret。这些是入口。您必须先获得这两个,然后才能进行下一个访问工作。
4、输入完善个人信息后,必须完成身份验证审核。审核完成后,新浪开放平台会给出appkey和App Secret。
5、接下来就是如何使用appkey和App Secret了。您需要在开放平台下载文档或演示代码。其实提供的文档基本上都是技术文档,很多东西都没有解释清楚。还是会有很多麻烦
6、新浪开放平台提供了很多不同开发语言的SDK,这里我选择java SDK,下载一个zip文件(包括新接口和OAuth2.0),解压后即可可以直接导入go到eclipse,结构如下,包括weibo4j源码和示例代码

这里是一个config配置文件,打开如下:

我们之前申请的appkey和App Secret就派上用场了。这里的client_ID为appkey,client_SERCRET为App Secret,填写对应内容,redirect_URI为回调地址。
点击“第三方”-》跳转微博登录-》登录ok,授权-》回调自己的应用,这里是回调地址的意思。
7、开始运行测试程序,测试程序在example下,包weibo4j.examples.oauth2下的类OAuth4Code,这里我们需要做一些修改,修改程序在
oauth.authorize("code",args[0],args[1]),把这一段改成oauth.authorize("code","","all"),至于为什么,请看这里的接口文档说明使用 oauth.authorize
假设我们这里没有回调地址,配置文件中的redirect_URI为空。运行后会自动打开浏览器运行测试,显示如下:

此时的URL地址为:
这说明我的appkey和App Secret是有效的,因为我们还没有创建正式的应用,新浪无法识别我的来源
8、在开放平台上创建应用,如下图

这里有三种类型的应用程序,网站 访问、站内应用程序和移动应用程序。如果是企业行为,有公有域名可以访问,应用通过域名访问。这里可以用任何方法,但是如果我们只是一个简单的开发者,没有公网域名,比如内网模式,ip以内网地址192.168.开头1.*,本地127.0.0.1等,这里只能选择创建站内应用,填写如下

这里红框标注的地方就是回调地址。如果我没有公网ip和域名,我在局域网玩的时候随便填,但是不能用localhost代替127.0.0.1,这里是按照配置要求做的,这个配置的要求很严格,
尤其是下面的应用图标比较麻烦。完成后,您可以提交它们以供审核。
9、提交审核后,新浪开放平台会在1天左右第一时间向您的邮箱发送邮件通知您审核结果,但无论审核结果是否失败,关键是提交审核。没有审核成功,这里可以照常使用

10、完成测试项目中的配置文件redirect_URI,必须与创建应用时填写的【应用实际地址】一致,这是回调地址!完成配置后,再次运行OAuth4Code.java,如图

在这里你会跳转到新浪微博的登录页面。登录新浪微博账号后,需要点击授权,表示平台可以访问您的微博账号相关内容分享您的信息等。授权结束后,
将返回一个代码。这段代码非常重要。它是我们整个访问第三方平台的门钥匙。通过这段代码,我们可以获取到用户的access_token、UID等内容,相当于整个访问过程。
11、调用新浪微博开放API
这里我们需要研究这些API来满足访问的需要。首先要熟悉的是OAuth2.0授权接口,网上可以查到,如下:

12、通过servlet程序调用开放API获取新浪微博的UID和微博名的示例

response.setContentType("text/html;charset=UTF-8");
String accessToken = null ;
String uid = null ;
String screenName = null ;
String username = null ;
AccessToken accessTokenObj = null ;
Oauth oauth2 = new Oauth();
try {
out = response.getWriter();
accessTokenObj = oauth2.getAccessTokenByCode(code) ;
logger.info(accessTokenObj);
accessToken = accessTokenObj.getAccessToken() ;
oauth2.setToken(accessToken) ;
Account account = new Account() ;
account.client.setToken(accessToken) ;
JSONObject uidJson = account.getUid() ;
uid = uidJson.getString("uid") ;
Users users = new Users() ;
users.client.setToken(accessToken) ;
User weiboUser = users.showUserById(uid) ;
username = weiboUser.getName() ;
screenName = weiboUser.getScreenName() ;
} catch (WeiboException | IOException | JSONException e) {
e.printStackTrace();
}
out.println("微博访问Token_Info:" + accessTokenObj + "\t");
out.println("微博访问Token:" + accessToken + "\t");
out.println("微博用户-Uid:" + uid + "\t");
out.println("微博用户-名称:" + screenName + "\t");
out.flush();
out.close();*/

使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-02-05 20:16
因为毕业项目需要用到微博数据采集,所以获取微博数据的方式主要有两种:基于官方API和基于网络爬虫。让我们看看这些天如何使用官方API。比较麻烦的是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
因为毕业项目需要用到微博数据采集,所以获取微博数据的方式主要有两种:基于官方API和基于网络爬虫。让我们看看这些天如何使用官方API。比较麻烦的是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。
使用新浪微博开放平台api同步微博内容至自己网站( 如何自动将的Twitter信息同步到国内的新浪微博(图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 75 次浏览 • 2022-02-04 21:14
如何自动将的Twitter信息同步到国内的新浪微博(图))
如何将推特信息自动同步到新浪微博、开心网、人人网等国内SNS网站,我之前介绍过一种同步方法。这种方法虽然可以实现同步功能,但是同步不是实时的。是的,时差约为一小时。这个时差是由 TwitterFeed 引起的。同时,这种方法的设置比较复杂,需要多次翻转。
于是,我开始尝试一种新的同步方式,开发了一个Python程序,定时自动读取和同步推特信息,以简化同步过程,缩短同步时间,实现基本的实时同步功能。原来的同步流程图是:twitter->appspot->twitterfeed->ping.fm->customurl->huotu->新浪微博,新的同步流程变成:twitter->appspot->huotu->新浪微博,步骤大大简化了,只需要在GAE上设置一个定时任务定时执行即可。
由于 GAE 支持 Cron Job 定时任务,所以我们的 Python 程序可以每分钟自动调用一次。调用时,先从推特上抓取用户的最新消息,抓取成功后,将消息同步到地瓜火兔。然后分发到新浪微博、开心网等,如果设置为每分钟执行一次,同步时差只有一分钟左右,基本实现了推特信息实时同步到新浪微博等SNS的功能网站。
我在GAE上调试了这个程序Python程序,不是很流畅。我按照官方说明配置了 cron.yaml 文件,但是更新 Twitter.py 后,Cron Job 定时任务还是不行,后台也看不到相关的 Cron。工作任务。
后来经过一番研究,终于解决了GAE中Python中Cron Job调度任务的问题。原因很简单,因为我的“Google App Engine SDK for Python”是很久以前安装的,当时GAE不支持定时任务,所以无法更新cron.yaml文件,重新下载最新版本后“Google App Engine SDK for Python”安装后,Cron Job 计划任务更新成功。
然而,新的问题又来了。我发现当app调用Twitter API时,失败率非常高。几乎有一半的情况下会提示“Rate limit exceeded. Clients may not make more than 150 requests per hour”,这让我怀疑是不是GAE的外网IP很小,还有很多第三方程序在调用GAE 上的 Twitter API,导致每小时调用超过 150 次,否则,我自己的调用永远不会有这么高的频率,可能是因为 Twitter 没有将 GAE IP 列入白名单,如果有一天 Twitter 不限制 GAE IP,有应该没有问题。
安装说明:
下载方法,使用TortoiseSVN查看这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名称,然后修改twitter.py文件最后一行,添加你的推特用户名,喃喃火兔用户名和密码分别填写,cron.yaml文件收录定时任务设置,然后就可以按照本文方法发布,执行appcfg.py更新目录名,使用Gmail账号和密码,就可以了发布。
发布后,GAE 可以定期执行 twitter.py 程序。由于可以设置定时执行最少1分钟,同步速度非常快,基本可以达到即时自动同步的效果。
() () 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(
如何自动将的Twitter信息同步到国内的新浪微博(图))

如何将推特信息自动同步到新浪微博、开心网、人人网等国内SNS网站,我之前介绍过一种同步方法。这种方法虽然可以实现同步功能,但是同步不是实时的。是的,时差约为一小时。这个时差是由 TwitterFeed 引起的。同时,这种方法的设置比较复杂,需要多次翻转。
于是,我开始尝试一种新的同步方式,开发了一个Python程序,定时自动读取和同步推特信息,以简化同步过程,缩短同步时间,实现基本的实时同步功能。原来的同步流程图是:twitter->appspot->twitterfeed->ping.fm->customurl->huotu->新浪微博,新的同步流程变成:twitter->appspot->huotu->新浪微博,步骤大大简化了,只需要在GAE上设置一个定时任务定时执行即可。
由于 GAE 支持 Cron Job 定时任务,所以我们的 Python 程序可以每分钟自动调用一次。调用时,先从推特上抓取用户的最新消息,抓取成功后,将消息同步到地瓜火兔。然后分发到新浪微博、开心网等,如果设置为每分钟执行一次,同步时差只有一分钟左右,基本实现了推特信息实时同步到新浪微博等SNS的功能网站。
我在GAE上调试了这个程序Python程序,不是很流畅。我按照官方说明配置了 cron.yaml 文件,但是更新 Twitter.py 后,Cron Job 定时任务还是不行,后台也看不到相关的 Cron。工作任务。
后来经过一番研究,终于解决了GAE中Python中Cron Job调度任务的问题。原因很简单,因为我的“Google App Engine SDK for Python”是很久以前安装的,当时GAE不支持定时任务,所以无法更新cron.yaml文件,重新下载最新版本后“Google App Engine SDK for Python”安装后,Cron Job 计划任务更新成功。
然而,新的问题又来了。我发现当app调用Twitter API时,失败率非常高。几乎有一半的情况下会提示“Rate limit exceeded. Clients may not make more than 150 requests per hour”,这让我怀疑是不是GAE的外网IP很小,还有很多第三方程序在调用GAE 上的 Twitter API,导致每小时调用超过 150 次,否则,我自己的调用永远不会有这么高的频率,可能是因为 Twitter 没有将 GAE IP 列入白名单,如果有一天 Twitter 不限制 GAE IP,有应该没有问题。
安装说明:
下载方法,使用TortoiseSVN查看这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名称,然后修改twitter.py文件最后一行,添加你的推特用户名,喃喃火兔用户名和密码分别填写,cron.yaml文件收录定时任务设置,然后就可以按照本文方法发布,执行appcfg.py更新目录名,使用Gmail账号和密码,就可以了发布。
发布后,GAE 可以定期执行 twitter.py 程序。由于可以设置定时执行最少1分钟,同步速度非常快,基本可以达到即时自动同步的效果。

() ()
使用新浪微博开放平台api同步微博内容至自己网站(本次开放微博渠道接口,不需要验证网站地址。。)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2022-02-02 17:05
此次开通微博频道界面,为广大站长提供了更便捷的申请方式。
不仅需要在管理后台点击应用,还可以将内容同步到微博,显示来自自己网站。
无需等待开放平台审核,无需去微博开放平台申请,无需验证网站地址。
新浪微博为您提供支持和开放渠道接口,目前实现了以下功能。
发布更新文章,同时发布到微博时,来源显示为网站自定义的名称,链接地址为本站自定义链接。它非常强大吗?!
要实现这个功能,只需要简单的 3 个步骤:
【第一步】打开管理后台,进入设置,滚动至底部:设置新浪微博频道AppKey。
【第二步】输入站点名称和网站url:网站的名称将显示为微博来源,不超过5个汉字,或10个英文/数字。url:点击源后指向的网站网址,我们默认为您填写。
【第三步】授权此api:使用此时登录的wp账号对应的新浪微博账号授权此api。
完毕!发帖文章来测试一下吧~
注意:
1. 微博默认会在站点名称后加一个_ds logo,这样站点就不会和原微博注册冲突了;
2. 仅对拥有授权微博账号且在有效期内的用户,同步时会显示来源;
3. 在内测期间,新浪微博只提供7天的授权,您可以在页面更新授权。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(本次开放微博渠道接口,不需要验证网站地址。。)
此次开通微博频道界面,为广大站长提供了更便捷的申请方式。
不仅需要在管理后台点击应用,还可以将内容同步到微博,显示来自自己网站。
无需等待开放平台审核,无需去微博开放平台申请,无需验证网站地址。
新浪微博为您提供支持和开放渠道接口,目前实现了以下功能。
发布更新文章,同时发布到微博时,来源显示为网站自定义的名称,链接地址为本站自定义链接。它非常强大吗?!
要实现这个功能,只需要简单的 3 个步骤:
【第一步】打开管理后台,进入设置,滚动至底部:设置新浪微博频道AppKey。
【第二步】输入站点名称和网站url:网站的名称将显示为微博来源,不超过5个汉字,或10个英文/数字。url:点击源后指向的网站网址,我们默认为您填写。
【第三步】授权此api:使用此时登录的wp账号对应的新浪微博账号授权此api。
完毕!发帖文章来测试一下吧~
注意:
1. 微博默认会在站点名称后加一个_ds logo,这样站点就不会和原微博注册冲突了;
2. 仅对拥有授权微博账号且在有效期内的用户,同步时会显示来源;
3. 在内测期间,新浪微博只提供7天的授权,您可以在页面更新授权。
使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2022-02-01 17:18
因为毕业项目需要用到微博数据采集,所以获取微博数据主要有两种方式:基于官方API和基于网络爬虫,这几天来看看官方API怎么用,比较麻烦是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(如何获取AccessToken以及如何使用新浪微博API的使用方式)
因为毕业项目需要用到微博数据采集,所以获取微博数据主要有两种方式:基于官方API和基于网络爬虫,这几天来看看官方API怎么用,比较麻烦是oauth2的验证,今天看到一个帖子,实践了一下API的使用方法,转载过来看看。
转载至:
使用新浪微博API的前提是在新浪微博开放平台上注册一个应用,获取App Key和App Secret,然后根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。
一、获取访问令牌
1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择“web应用”
2、填写申请的基本信息
随便填什么,点击“创建”,就可以创建成功了!
创建成功后,可以查看应用信息。您需要的主要是 App Key 和 App Secret。
3、添加授权回调页面
选择刚刚创建的应用,进入应用信息,选择高级信息,添加授权回调页面。
这必须添加。如果回调页面没有被授权,则无法获取Access Token,必须保证回调页面的URL是可访问的。
4、获取新浪微博SDK包
在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择JavaSDK的版本。下载完成后,解压并将项目导入Eclipse。
可以查看文档:readme.txt,内容为:
[清楚的]
请先填写相关配置:在Config.properties中client_ID:appkey client_SERCRET:app_secret redirect_URI:回调地址
即需要配置运行项目的前提。
5、配置SDK开发包
打开 Config.properties 文件(在 src 目录中)
[清楚的]
client_ID= client_SERCRET= redirect_URI= baseURL= accessTokenURL= authorizeURL= rmURL=
您需要填写client_ID、client_SERCRET、redirect_URI,这些必须与您的应用程序相对应。格式与以下相同。不要放双引号,不要在末尾放分号。
6、获取访问令牌
打开示例资源文件夹,weibo4j.examples.oauth2文件夹中的OAuth4Code.java
放上代码:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2])); System.out.println(oauth.authorize("code",args[1],args[2]));
变成:
[清楚的]
BareBonesBrowserLaunch.openURL(oauth.authorize("code","","")); System.out.println(oauth.authorize("code","",""));
即删除 args 参数。
然后选择run as Java Application,打开浏览器,也就是打开你填写的回调地址,注意此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制此代码的值。查看 Eclipse 的控制台窗口:
输入您刚刚获得的代码值,然后按 Enter。
至此,您已经获得了access_token值和uid值,现在可以使用access_token运行示例中的程序了。注意access_token的取值有一定的时效性。access_token过期后需要重新申请,即重复第6步,access_token的值不会每次都改变。
二、运行示例程序
我在weibo4j.examples.timeline中选择了ShowStatus.java。将access_token替换为刚刚获取的值,id指的是微博的ID,运行它,可以得到微博的信息和用户的信息。注意这里的第二个参数id,必须是具体微博的id,而不是uid!!!
其他程序也是如此。
使用新浪微博开放平台api同步微博内容至自己网站( +python模拟登陆新浪微博(2):)
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2022-02-01 17:07
+python模拟登陆新浪微博(2):)
上次准备用selenium + python模拟登陆新浪微博(这个方法太烂了)。最后我卡在了验证码链接。对于我这样的菜鸟,新浪太不友好了。完全没有考虑到我的感受。附上模拟登录代码。
问题出在获取验证码图片的环节,这里新浪不知道怎么弄。地址是一样的,但是每次访问得到的验证码都不一样,所以无法得到正确的验证码。本来打算用selenium截图获取验证码,交给百度兽人鉴定。我发现百度的新浪验证码识别准确率低的可怕。
所以,我放弃了。请改用官方提供的正确做法。这样你就不会被封号了。还是很不错的。官方 API 基本上是一个 rest 接口。它可以很容易地调用和获取。主要写在下面。如何成功获得授权。授权完成后,可以调用新浪接口获取数据(公开、公平)。
官方的Api相当丰富。我主要用他们的评论,也用搜索界面。所以我认为它是完美的。
首先,要访问这些东西,你需要有一个新浪帐号。然后点击:“微连接”创建应用程序。
创建完成后。您可以在“我的应用程序”中找到它:
点击应用进入后,可以看到应用的app key和App Secret。这两个很重要,后面会用到授权。
获得授权。这里新浪使用了一种授权机制,叫做:OAuth2.0:简单来说就是你访问授权服务器,授权服务器给你返回一个证书,然后你就可以用这个证书访问新浪的其他接口。
授权服务器相当于门卫的意思。你来到一座建筑。然后门卫给了一张身份证。之后,您进入大楼。每次进入房间。门口的守卫都要求你提供刚进楼的人给你的身份证。否则,您将被拒绝入境。大概就是这个意思。
长话短说,直接看如何获取授权:
授权需要自己配置回调地址。需要访问。除了在参数中添加这个地址外,还需要在你的应用程序中写入。那是:
这里。我直接用 Flask 搭建了一个本地服务器:
然后使用内网穿透软件。免费的是:natapp:
渗透出来。这样我们就有了回调的地址。
接下来看官方API:
首先我们需要访问:
这需要我们填写之前佩戴应用后获取的app key和我们构建的接受回调的地址:
然后在浏览器中打开这个地址:
点击Authorize(我的回调函数写的打印代码,所以这里直接打印代码,地址栏也可以拿到这个代码):
之后,我们使用新浪给出的第二个url:
此 url 需要使用 post 方法提交。
代码也有自己的应用密钥和应用秘密。
填写后提交:
您将获得 json 格式的返回:
{“access_token”:“asdasdasdadasdasdsadda”,“remind_in”:“1233566966”,“expires_in”:1233566966,“uid”:“”,“isRealName”:“true”}
这就是我们最终的结果。代表我们授权成功。
然后访问界面很容易。我们只保存 access_token。每次访问调用界面时都可以带上这个。
接口测试可以使用谷歌的postman,或者新浪提供的测试工具
新浪提供了一个接口测试工具,可以直接在线测试接口:这里我从之前爬过的微博列表中选择了一个ID为文章。请求后得到新浪返回的评论结果的json字符串。
大概一目了然(一万多行的字符串): 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(
+python模拟登陆新浪微博(2):)
上次准备用selenium + python模拟登陆新浪微博(这个方法太烂了)。最后我卡在了验证码链接。对于我这样的菜鸟,新浪太不友好了。完全没有考虑到我的感受。附上模拟登录代码。
问题出在获取验证码图片的环节,这里新浪不知道怎么弄。地址是一样的,但是每次访问得到的验证码都不一样,所以无法得到正确的验证码。本来打算用selenium截图获取验证码,交给百度兽人鉴定。我发现百度的新浪验证码识别准确率低的可怕。
所以,我放弃了。请改用官方提供的正确做法。这样你就不会被封号了。还是很不错的。官方 API 基本上是一个 rest 接口。它可以很容易地调用和获取。主要写在下面。如何成功获得授权。授权完成后,可以调用新浪接口获取数据(公开、公平)。
官方的Api相当丰富。我主要用他们的评论,也用搜索界面。所以我认为它是完美的。
首先,要访问这些东西,你需要有一个新浪帐号。然后点击:“微连接”创建应用程序。
创建完成后。您可以在“我的应用程序”中找到它:
点击应用进入后,可以看到应用的app key和App Secret。这两个很重要,后面会用到授权。
获得授权。这里新浪使用了一种授权机制,叫做:OAuth2.0:简单来说就是你访问授权服务器,授权服务器给你返回一个证书,然后你就可以用这个证书访问新浪的其他接口。
授权服务器相当于门卫的意思。你来到一座建筑。然后门卫给了一张身份证。之后,您进入大楼。每次进入房间。门口的守卫都要求你提供刚进楼的人给你的身份证。否则,您将被拒绝入境。大概就是这个意思。
长话短说,直接看如何获取授权:
授权需要自己配置回调地址。需要访问。除了在参数中添加这个地址外,还需要在你的应用程序中写入。那是:
这里。我直接用 Flask 搭建了一个本地服务器:
然后使用内网穿透软件。免费的是:natapp:
渗透出来。这样我们就有了回调的地址。
接下来看官方API:
首先我们需要访问:
这需要我们填写之前佩戴应用后获取的app key和我们构建的接受回调的地址:
然后在浏览器中打开这个地址:
点击Authorize(我的回调函数写的打印代码,所以这里直接打印代码,地址栏也可以拿到这个代码):
之后,我们使用新浪给出的第二个url:
此 url 需要使用 post 方法提交。
代码也有自己的应用密钥和应用秘密。
填写后提交:
您将获得 json 格式的返回:
{“access_token”:“asdasdasdadasdasdsadda”,“remind_in”:“1233566966”,“expires_in”:1233566966,“uid”:“”,“isRealName”:“true”}
这就是我们最终的结果。代表我们授权成功。
然后访问界面很容易。我们只保存 access_token。每次访问调用界面时都可以带上这个。
接口测试可以使用谷歌的postman,或者新浪提供的测试工具
新浪提供了一个接口测试工具,可以直接在线测试接口:这里我从之前爬过的微博列表中选择了一个ID为文章。请求后得到新浪返回的评论结果的json字符串。
大概一目了然(一万多行的字符串):
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发的资源比较多,一个开发者下载地址)
网站优化 • 优采云 发表了文章 • 0 个评论 • 46 次浏览 • 2022-02-01 06:04
现在玩微博的人越来越多,关于微博的第三方应用开发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
新浪微博API开发准备
首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
新浪微博API开发最重要的用户授权流程
事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。新浪微博开放平台对OAuth授权流程有清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
1.先获取一个未授权的Request Token
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
2.然后请求用户授权Token
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , '#39;);
拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。拿到$aurl后,我们可以使用header()直接跳转到页面。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
3.用户最后授权的Access Token
$o = new WeiboOAuth( WB_AKEY ,
WB_SKEY ,
$_SESSION['keys']['oauth_token'] ,
$_SESSION['keys']['oauth_token_secret'] );
$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
回声($last_key['oauth_token']);
上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
授权完成后工作
授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
//获取前20条最新更新的公众微博消息
$c = new WeiboClient( WB_AKEY ,
WB_SKEY ,
$oauth_token ,
$oauth_token_secret );
$msg = $c->public_timeline();
if ($msg === false || $msg === null){
echo "发生错误";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
返回假;
}
print_r($msg);
通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用php进行开发,所以使用Json格式数据有先天优势。如果返回Json格式数据,直接使用php函数json_decode()可以转换成php常用的数组格式。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(新浪微博API开发的资源比较多,一个开发者下载地址)
现在玩微博的人越来越多,关于微博的第三方应用开发也越来越多。一不小心接触到新浪微博API开发。新浪微博为开发者提供了一个平台,网站是: 收录新浪微博开发的综合信息,包括开发者的使用和介绍、各种语言的API功能介绍文档、SDK等资料。
在开发和学习的过程中,我觉得虽然不是太难,但是还是有一些问题需要我们注意。今天在开发学习的过程中,简单的使用PHP开发新浪微博API。内容组织和解释,
新浪微博API开发准备
首先,去新浪微博开放平台下载基于PHP的SDK开发包。下载地址为:
下载完成后,放到自己的开发环境中,解压。演示程序也收录在其中。我们可以参考它的示例程序来编写。
新浪微博API开发最重要的用户授权流程
事实上,开发过程中的很多问题都集中在用户授权阶段。我开发的第三方应用程序使用 OAuth 授权。新浪微博开放平台对OAuth授权流程有清晰完整的介绍。大家可以去查一下,我会从例子开发的角度来介绍和讲解。
1.先获取一个未授权的Request Token
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);
我们需要在新浪微博开放平台注册一个账号,或者直接用我们的新浪微博账号登录,进入我的应用,然后按照提示创建我们自己的第三方应用。创建完成后,我们可以得到两个授权App Key和App Secret值,这两个值是我们应用开发的关键。
获取到授权值后,我们就可以使用上面的代码来获取未授权的Request Token值,该值会存储在$key数组变量中。
2.然后请求用户授权Token
$_SESSION['keys'] = $keys;
aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , '#39;);
拿到未授权的Request Token值后,我们就可以使用上面的代码开始准备去新浪微博授权页面进行授权了。$aurl 是授权链接页面。拿到$aurl后,我们可以使用header()直接跳转到页面。授权页面,然后用户输入新浪微博账号和密码进行授权。授权完成后,会自动跳转回你在最后一个参数中设置的回调页面:你可以将此链接设置为上一页,这样授权完成后,会再次自动跳转回来。
需要注意的是,需要设置会话密钥的值,这是获取下面授权的Access Token所必需的。很多朋友可能会参考开放平台上的说明进行授权,但是发现总是报错,一般是这个问题。你没有设置 session keys 的值,当然下面无法获取 Access Token 的值。必须记住这一点。
3.用户最后授权的Access Token
$o = new WeiboOAuth( WB_AKEY ,
WB_SKEY ,
$_SESSION['keys']['oauth_token'] ,
$_SESSION['keys']['oauth_token_secret'] );
$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;
回声($last_key['oauth_token']);
上述代码最终得到用户授权的Access Token,一共有两个值,存放在$last_key数组变量中。我们还可以看到,最后两个参数是我们之前设置的会话值。至此基本完成,这就是一个完整的新浪微博用户授权流程。
授权完成后工作
授权完成后,我们就可以开始调用新浪微博提供的各种API函数接口进行实际应用开发了。这里简单介绍一下获取最新微博记录的接口,其他类似。
获取新浪微博最新信息的API接口函数为:public_timeline()。示例代码如下:
//获取前20条最新更新的公众微博消息
$c = new WeiboClient( WB_AKEY ,
WB_SKEY ,
$oauth_token ,
$oauth_token_secret );
$msg = $c->public_timeline();
if ($msg === false || $msg === null){
echo "发生错误";
返回假;
}
if (isset($msg['error_code']) && isset($msg['error'])){
echo ('Error_code: '.$msg['error_code'].'; 错误: '.$msg['error'] );
返回假;
}
print_r($msg);
通常我们拿到用户授权的Access Token值后,保存在我们的用户表中,对应我们应用中的账号。之后,我们就不需要每次都去新浪微博的各个api接口了。认证。
上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline获取返回信息,如果没有错误。通常新浪微博api接口返回的数据格式一般是Json格式或者xml格式,而我们这里使用php进行开发,所以使用Json格式数据有先天优势。如果返回Json格式数据,直接使用php函数json_decode()可以转换成php常用的数组格式。
使用新浪微博开放平台api同步微博内容至自己网站( 使用GAE的程序同步程序有一些优势(1)_光明网(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2022-01-29 21:05
使用GAE的程序同步程序有一些优势(1)_光明网(组图))
从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。Twitter、新浪微博、地谷、9911等都非常受欢迎。许多人在各种微博平台上注册了账号。但是这里又出现了一个新的问题,那就是信息同步。
每个人的使用习惯不同,每个微博圈的用户也不同。许多微博用户都有一些人在每个平台上关注和关注。因此,需要使用同步程序来统一各个平台的信息。处理,还有这个处理中心,我觉得应该是推特。
推特的优势
使用 Twitter 作为微博中心的原因是有很多方法和工具可以更新 Twitter,您也可以使用 TwitterFeed 或 FeedBurner 从 RSS 提要直接更新 Twitter。Twitter本身也是全球最大的微博平台。在可预见的未来不会消失,用户发布的信息通常不会丢失或删除。Twitter信息的备份和导出方法有很多种,所以把信息放到Twitter上吧。相对安全、稳妥、稳定。
将 Twitter 同步到其他微博的方法是使用 GAE。GAE 是谷歌提供的一个非常好的免费托管平台。它具有很好的稳定性和强大的功能。它支持 Cron Job 调度任务。因此,我们只需要部署在 GAE 上。定时任务,设置每分钟抓取一次用户推特信息,抓取成功后将最新消息直接发布到新浪微博等平台,实现推特信息实时同步到各微博网站功能。
同步器的优点
这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
在安全方面,那些第三方网站会保存你的微博密码进行同步,这会给你的微博账号带来潜在的安全问题。此外,保存你拥有的数千个粉丝的账号密码在那些同步网站中,你放心吗?使用GAE的程序同步,只有你知道密码。我们不应该担心 GAE 被黑客入侵。
稳定性方面,我用了这个同步程序好几个月了,几乎没有信息丢失。GAE服务本身的性能也很稳定,停机时间很少。
在速度方面,这个同步程序最快可以在1分钟内同步所有信息,很少有网站能提供这样的同步速度。
在灵活性方面,我们可以自己修改代码来实现一些自定义的特殊功能。比如在这个程序中,我已经定义了收录@的信息是不同步的。我们也可以自己修改程序来实现很多其他的功能。
目前该同步程序支持推特同步新浪微博、地谷、9911、Dosha、人见网、follow5、6条微博,以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。
主要在其他微博
如果用户不打算使用Twitter作为主源,也可以使用这个程序进行同步,先注册一个Twitter账号,然后找到用户主微博的RSS Feed地址,使用TwitterFeed或者FeedBurner同步这个feed到Twitter,然后用这个程序来以后同步。如果新浪微博以后支持RSS Feed,可以通过这种方式将新浪微博的信息同步到其他微博。
应用安装部署方法
下载方法,使用TortoiseSVN查看SVN地址,然后编辑app.yaml,修改为自己的appspot应用名称,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改from ret = For 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 使用密钥进行身份验证。有关详细信息,请参阅此处。
() () 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(
使用GAE的程序同步程序有一些优势(1)_光明网(组图))

从去年开始,微博逐渐取代博客和SNS,成为最流行的互联网应用之一。Twitter、新浪微博、地谷、9911等都非常受欢迎。许多人在各种微博平台上注册了账号。但是这里又出现了一个新的问题,那就是信息同步。
每个人的使用习惯不同,每个微博圈的用户也不同。许多微博用户都有一些人在每个平台上关注和关注。因此,需要使用同步程序来统一各个平台的信息。处理,还有这个处理中心,我觉得应该是推特。
推特的优势
使用 Twitter 作为微博中心的原因是有很多方法和工具可以更新 Twitter,您也可以使用 TwitterFeed 或 FeedBurner 从 RSS 提要直接更新 Twitter。Twitter本身也是全球最大的微博平台。在可预见的未来不会消失,用户发布的信息通常不会丢失或删除。Twitter信息的备份和导出方法有很多种,所以把信息放到Twitter上吧。相对安全、稳妥、稳定。
将 Twitter 同步到其他微博的方法是使用 GAE。GAE 是谷歌提供的一个非常好的免费托管平台。它具有很好的稳定性和强大的功能。它支持 Cron Job 调度任务。因此,我们只需要部署在 GAE 上。定时任务,设置每分钟抓取一次用户推特信息,抓取成功后将最新消息直接发布到新浪微博等平台,实现推特信息实时同步到各微博网站功能。
同步器的优点
这个同步程序有一些优点。与我之前介绍的微博同步相比,该程序在安全性、稳定性、速度和灵活性方面具有巨大的优势。
在安全方面,那些第三方网站会保存你的微博密码进行同步,这会给你的微博账号带来潜在的安全问题。此外,保存你拥有的数千个粉丝的账号密码在那些同步网站中,你放心吗?使用GAE的程序同步,只有你知道密码。我们不应该担心 GAE 被黑客入侵。
稳定性方面,我用了这个同步程序好几个月了,几乎没有信息丢失。GAE服务本身的性能也很稳定,停机时间很少。
在速度方面,这个同步程序最快可以在1分钟内同步所有信息,很少有网站能提供这样的同步速度。
在灵活性方面,我们可以自己修改代码来实现一些自定义的特殊功能。比如在这个程序中,我已经定义了收录@的信息是不同步的。我们也可以自己修改程序来实现很多其他的功能。
目前该同步程序支持推特同步新浪微博、地谷、9911、Dosha、人见网、follow5、6条微博,以及Ping.fm和Hellotxt两个同步服务。同步流程图如下所示。

主要在其他微博
如果用户不打算使用Twitter作为主源,也可以使用这个程序进行同步,先注册一个Twitter账号,然后找到用户主微博的RSS Feed地址,使用TwitterFeed或者FeedBurner同步这个feed到Twitter,然后用这个程序来以后同步。如果新浪微博以后支持RSS Feed,可以通过这种方式将新浪微博的信息同步到其他微博。
应用安装部署方法
下载方法,使用TortoiseSVN查看SVN地址,然后编辑app.yaml,修改为自己的appspot应用名称,然后修改Twitter.py文件最后一行,填写你的Twitter用户名,修改from ret = For 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 使用密钥进行身份验证。有关详细信息,请参阅此处。

() ()
使用新浪微博开放平台api同步微博内容至自己网站(如何调用微博API爬单条微博的评论呢?(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2022-01-29 17:24
当我沉浸在学习mysql、scrapy、django准备下一波吹水的时候,有人说,你可以爬下老薛的微博,蹭个热点,这让勤奋(mo)很难( mo) learning (kou) xi (jia) 我停止发几个代码了。
然后赶紧关注了最近关于老薛的新闻……感受了剧情的复杂和案件的扑朔迷离……我默默的学会了看合同……怎么用ELA分析图片……论文怎么写……怎么查别人的银行对账单……一点小知识……让我慢一点……
所以,这次的主题是分析老薛最新的微博评论,分析评论粉丝的心情,听我说。
1.新浪微博API
在经历了几次(非常痛苦的)爬虫禁令后,我学会了在爬 网站 之前检查 API 的“好”习惯。新浪作为大公司,怎么可能不推出新浪微博API?新浪有自己的开发者开放平台。我们就不讲python调用微博API的方法了。以下是登录App_key和App_secret访问微博。API的代码,代码基于Python2。Python3 使用 weibo 模块存在一定的问题。
既然知道了如何登录API,那么如何调用API爬取一条微博评论呢?一行代码就可以做到。
r = ments.show.get(id = 41509,count = 200,page = 1)
一条微博的所有评论信息都在ments中。这里我们需要对比一下微博API文档。微博API中说调用微博评论API需要用户授权,但是捏~只要知道单条微博的id,就可以调用这个API后,再讲如何获取单条微博的id(小声点,别让微博知道,万一发了)。
以client.interface name.get(request parameter)的方式获取API。获取API后,您可以在接口详情中查看规格。文档中有返回结果的示例。
关键数据的json接口名称也在文档中给出。
如果我们想获取微博评论的内容,只需要调用文本接口即可
对于 st inments:
文本 = st.text
2.微博爬虫
通过调用新浪微博API,我们可以简单的获取单条微博的评论信息。为什么简单,因为流行的信息很昂贵!你以为大V的微博只是免费给你API调用吗?未经认证的应用程序开发人员每天只能请求数千次 API。这对于老薛这种单条微博评论几十万的大V来说,是个大问题。说...太少(TT)
所以捏,还是要写微博爬虫。
俗话说,知己知彼,百战不殆。作为一家大公司,新浪一定经历了数百场战斗。它一定经历过无数次爬虫与反爬虫的战争,一定有完善的反爬虫策略。俗话说,面对强敌,绕道而行。一个老板说的好,爬网站,先爬移动端
登录微博后,去老薛的微博回应P图事件,_(:зゝ∠)_老薛,怪我,怪我来不及,点进去的时候已经有70w+评论了(截至发文当天已有100w+评论),静谧的微博下,可见粉丝的不安之心……
移动端微博的URL简洁明了,不像PC端的逻辑那么复杂不清楚:
从xhr文件我们可以知道,热门评论的变化规律是:
';id=' + 单条微博id + '&type=comment&hot=1&page=' + 页码
最新评论的变化规律是:
'' + 单个微博id + '&page=' + 页码
打开可以看到热门评论的json文件。
接下来就是套路,伪装浏览器头,读取json文件,遍历每一页……这不是重点!而这些我之前都讲过~直接上代码~这里是Python3的代码~
这里有几点注意事项:
设置爬取间隔后,微博爬虫被封禁的概率大大降低(尤其是晚上)
新浪每次返回的json数据个数是随机的,所以翻页后会有数据重复,所以使用了重复数据删除,后面会讲到。
添加删除文本和源码中的emoji表情的代码(写入数据库花了很长时间,几乎从删除库到逃跑/(ㄒoㄒ)/),还删除了对别人的回复与它混合。html代码。
我只写了读取的数据,没有写怎么保存,因为我们需要统计!根据!图书馆!热的!(这才是重点!敲黑板)
在python中读取和写入数据库
微博爬虫虽然大大增加了数据获取量,但也因为是爬虫而轻易被新浪封杀。这里结束循环的判断是网络状态不是200,但是当微博发现是爬虫时,微博会返回一个网页,网页中并没有真实的内容。这时候程序会报错,而之前爬取的数据,什么都没有了。
但是如果你爬一会儿,保存一次数据,数据量会增加……冷文件随机射在猿脸上……我的心就像是……这时候,我们需要使用数据库。
数据库,顾名思义,就是存储数据的仓库。数据库作为一个发展了60多年的管理系统,应用领域巨大,功能复杂……好吧,我不能再编辑了。
在本文中,数据库的主要作用是一个AI风格的excel表格(●—●)。在爬取的过程中,爬取的数据会存储在里面,爬取的数字也会存储在里面。即使爬虫程序中断,中断前爬取的数据也会存入数据库。
大多数数据库都可以用python,我知道mysql、sqlite、mongodb、redis。这里是mysql,mac上mysql的安装,Navicat的使用,管理数据库的软件,其他系统大家可以自己找,如果安装使用过程中出现问题,请不要找我(溜走)根据上面的代码,在navicat中创建数据库、表和字段,以及字段的格式。将代码添加到 Python 程序。
运行python程序,我大概爬了2w实时评论。不得不说,新浪微博的反爬还是很厉害的。解决方案有两种:更改IP和切换帐户。我之前写过关于IP代理的使用。可以在宝藏上购买,但是!_(:зゝ∠)_因为这篇文章的作者是个很穷也经常小气的人,而且身患重病(懒癌)……2w条数据也有研究价值,对吧(((;꒪ꈊ꒪ ; ))),让我们继续我们的研究 (((;꒪ꈊ꒪;)))...
在进行下一步之前,我们还需要读取数据库的内容,python中读取数据库的代码也很简单。
这样就读出了之前爬取的信息,但是前面已经提到,微博爬虫在翻页的时候返回的数据个数是随机的,所以会出现重复的情况,所以读完之后需要使用使数据变得繁重的 if 语句。
4.自然语言处理
自然语言处理是人工智能的一个领域。机器可以通过算法设计来理解人类语言。自然语言也是人工智能的难点。汉语等语言是深奥难测的。最大的困难是python中有很多与NLP相关的模块。感兴趣的朋友可以通过在python中实现简单的文本情感分析来探索NLP。
我拿了(ban)test(yun)一些现成的情感分析算法,对爬取的评论进行分析。错误率很高_(:зゝ∠)_,怎么办?算法应该重新设计吗?好像遇到了人生第一个大问题,就是没学好语言……
当然,像我这样聪明(lan)和生活(duo)的女孩子,自然很快就发现了python中的一个中文著名的NLP库:snowNLP。snowNLP调用的方法比较简单。调用方法和生成结果在源码中有详细说明。
这段代码读取数据库后获取评论正文生成的列表文件,依次对每条评论进行情感值分析。snowNLP 可以根据给定的句子生成一个介于 0 和 1 之间的值。当值大于0.5时,表示句子的情感极性更积极。当分数小于 0.5 时,情绪的极性偏向于负面。当然,越是朝着两个脑袋,情绪越明显。我们来看看测试评论的结果。
第一项:恶心给了0.01分,最后一项:支持薛之谦给了0.99分。看其他基本符合上下文的句子的态度,当需要对单个产品的评价态度进行评价时,可以使用snowNLP。但由于老雪的评论涉及到他本人、李雨桐、高磊鑫三个人,算法无法判断评论的情感价值是谁的,而且微博评论可以由粉丝互相回复,这使得确定评论的主题是谁。这更令人困惑(机器说我无法学习......)。
这似乎意味着这个分析的结果将是……没有用处。我不希望这种事情发生……我是人……最重要的是要开心……我不会写算法,我的语言也不好,我真的做不到(๑°⌓°๑)@ >…
5.分析结果
这次分析的目的愉快地从分析粉丝对薛之谦事件的情绪转变为单纯分析粉丝的情绪(●—●)。
plt.hist(sentimentslist,bins=np.arange(0,1,0.02))
plt.show()
统计上一节处理的情感值列表,生成分布图。以下数据采集时间为9月27日19:00,采集2w条评论。
对了(真的对了,一脸正经)我还爬了2w条李雨桐转发网友捐款的微博评论。
对了(真的对了,看我真诚的眼神)我爬了微博评论说陈赫作弊时发错博了。
从这三张图可以看出,在0、1的末端和0.5附近的情绪值更频繁,说明粉丝对此类事件的情绪是正面的还是负面的。比较明显。但是您也可以从图片中看到一些细微的差异。老薛微博中接近1的情感值数量高于接近0的数量,但没有超过700个。李雨桐微博中接近1的情感值数量要低得多。 0,甚至接近0的数字也达到了1000多,但都超过了700,而陈赫的微博分析结果显示,两者都接近800。由于算法存在一定误差,不代表真实审查结果,所以我不再分析它(你知道的)。 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(如何调用微博API爬单条微博的评论呢?(组图))
当我沉浸在学习mysql、scrapy、django准备下一波吹水的时候,有人说,你可以爬下老薛的微博,蹭个热点,这让勤奋(mo)很难( mo) learning (kou) xi (jia) 我停止发几个代码了。
然后赶紧关注了最近关于老薛的新闻……感受了剧情的复杂和案件的扑朔迷离……我默默的学会了看合同……怎么用ELA分析图片……论文怎么写……怎么查别人的银行对账单……一点小知识……让我慢一点……
所以,这次的主题是分析老薛最新的微博评论,分析评论粉丝的心情,听我说。
1.新浪微博API
在经历了几次(非常痛苦的)爬虫禁令后,我学会了在爬 网站 之前检查 API 的“好”习惯。新浪作为大公司,怎么可能不推出新浪微博API?新浪有自己的开发者开放平台。我们就不讲python调用微博API的方法了。以下是登录App_key和App_secret访问微博。API的代码,代码基于Python2。Python3 使用 weibo 模块存在一定的问题。
既然知道了如何登录API,那么如何调用API爬取一条微博评论呢?一行代码就可以做到。
r = ments.show.get(id = 41509,count = 200,page = 1)
一条微博的所有评论信息都在ments中。这里我们需要对比一下微博API文档。微博API中说调用微博评论API需要用户授权,但是捏~只要知道单条微博的id,就可以调用这个API后,再讲如何获取单条微博的id(小声点,别让微博知道,万一发了)。
以client.interface name.get(request parameter)的方式获取API。获取API后,您可以在接口详情中查看规格。文档中有返回结果的示例。
关键数据的json接口名称也在文档中给出。
如果我们想获取微博评论的内容,只需要调用文本接口即可
对于 st inments:
文本 = st.text
2.微博爬虫
通过调用新浪微博API,我们可以简单的获取单条微博的评论信息。为什么简单,因为流行的信息很昂贵!你以为大V的微博只是免费给你API调用吗?未经认证的应用程序开发人员每天只能请求数千次 API。这对于老薛这种单条微博评论几十万的大V来说,是个大问题。说...太少(TT)
所以捏,还是要写微博爬虫。
俗话说,知己知彼,百战不殆。作为一家大公司,新浪一定经历了数百场战斗。它一定经历过无数次爬虫与反爬虫的战争,一定有完善的反爬虫策略。俗话说,面对强敌,绕道而行。一个老板说的好,爬网站,先爬移动端
登录微博后,去老薛的微博回应P图事件,_(:зゝ∠)_老薛,怪我,怪我来不及,点进去的时候已经有70w+评论了(截至发文当天已有100w+评论),静谧的微博下,可见粉丝的不安之心……
移动端微博的URL简洁明了,不像PC端的逻辑那么复杂不清楚:
从xhr文件我们可以知道,热门评论的变化规律是:
';id=' + 单条微博id + '&type=comment&hot=1&page=' + 页码
最新评论的变化规律是:
'' + 单个微博id + '&page=' + 页码
打开可以看到热门评论的json文件。
接下来就是套路,伪装浏览器头,读取json文件,遍历每一页……这不是重点!而这些我之前都讲过~直接上代码~这里是Python3的代码~
这里有几点注意事项:
设置爬取间隔后,微博爬虫被封禁的概率大大降低(尤其是晚上)
新浪每次返回的json数据个数是随机的,所以翻页后会有数据重复,所以使用了重复数据删除,后面会讲到。
添加删除文本和源码中的emoji表情的代码(写入数据库花了很长时间,几乎从删除库到逃跑/(ㄒoㄒ)/),还删除了对别人的回复与它混合。html代码。
我只写了读取的数据,没有写怎么保存,因为我们需要统计!根据!图书馆!热的!(这才是重点!敲黑板)
在python中读取和写入数据库
微博爬虫虽然大大增加了数据获取量,但也因为是爬虫而轻易被新浪封杀。这里结束循环的判断是网络状态不是200,但是当微博发现是爬虫时,微博会返回一个网页,网页中并没有真实的内容。这时候程序会报错,而之前爬取的数据,什么都没有了。
但是如果你爬一会儿,保存一次数据,数据量会增加……冷文件随机射在猿脸上……我的心就像是……这时候,我们需要使用数据库。
数据库,顾名思义,就是存储数据的仓库。数据库作为一个发展了60多年的管理系统,应用领域巨大,功能复杂……好吧,我不能再编辑了。
在本文中,数据库的主要作用是一个AI风格的excel表格(●—●)。在爬取的过程中,爬取的数据会存储在里面,爬取的数字也会存储在里面。即使爬虫程序中断,中断前爬取的数据也会存入数据库。
大多数数据库都可以用python,我知道mysql、sqlite、mongodb、redis。这里是mysql,mac上mysql的安装,Navicat的使用,管理数据库的软件,其他系统大家可以自己找,如果安装使用过程中出现问题,请不要找我(溜走)根据上面的代码,在navicat中创建数据库、表和字段,以及字段的格式。将代码添加到 Python 程序。
运行python程序,我大概爬了2w实时评论。不得不说,新浪微博的反爬还是很厉害的。解决方案有两种:更改IP和切换帐户。我之前写过关于IP代理的使用。可以在宝藏上购买,但是!_(:зゝ∠)_因为这篇文章的作者是个很穷也经常小气的人,而且身患重病(懒癌)……2w条数据也有研究价值,对吧(((;꒪ꈊ꒪ ; ))),让我们继续我们的研究 (((;꒪ꈊ꒪;)))...
在进行下一步之前,我们还需要读取数据库的内容,python中读取数据库的代码也很简单。
这样就读出了之前爬取的信息,但是前面已经提到,微博爬虫在翻页的时候返回的数据个数是随机的,所以会出现重复的情况,所以读完之后需要使用使数据变得繁重的 if 语句。
4.自然语言处理
自然语言处理是人工智能的一个领域。机器可以通过算法设计来理解人类语言。自然语言也是人工智能的难点。汉语等语言是深奥难测的。最大的困难是python中有很多与NLP相关的模块。感兴趣的朋友可以通过在python中实现简单的文本情感分析来探索NLP。
我拿了(ban)test(yun)一些现成的情感分析算法,对爬取的评论进行分析。错误率很高_(:зゝ∠)_,怎么办?算法应该重新设计吗?好像遇到了人生第一个大问题,就是没学好语言……
当然,像我这样聪明(lan)和生活(duo)的女孩子,自然很快就发现了python中的一个中文著名的NLP库:snowNLP。snowNLP调用的方法比较简单。调用方法和生成结果在源码中有详细说明。
这段代码读取数据库后获取评论正文生成的列表文件,依次对每条评论进行情感值分析。snowNLP 可以根据给定的句子生成一个介于 0 和 1 之间的值。当值大于0.5时,表示句子的情感极性更积极。当分数小于 0.5 时,情绪的极性偏向于负面。当然,越是朝着两个脑袋,情绪越明显。我们来看看测试评论的结果。
第一项:恶心给了0.01分,最后一项:支持薛之谦给了0.99分。看其他基本符合上下文的句子的态度,当需要对单个产品的评价态度进行评价时,可以使用snowNLP。但由于老雪的评论涉及到他本人、李雨桐、高磊鑫三个人,算法无法判断评论的情感价值是谁的,而且微博评论可以由粉丝互相回复,这使得确定评论的主题是谁。这更令人困惑(机器说我无法学习......)。
这似乎意味着这个分析的结果将是……没有用处。我不希望这种事情发生……我是人……最重要的是要开心……我不会写算法,我的语言也不好,我真的做不到(๑°⌓°๑)@ >…
5.分析结果
这次分析的目的愉快地从分析粉丝对薛之谦事件的情绪转变为单纯分析粉丝的情绪(●—●)。
plt.hist(sentimentslist,bins=np.arange(0,1,0.02))
plt.show()
统计上一节处理的情感值列表,生成分布图。以下数据采集时间为9月27日19:00,采集2w条评论。
对了(真的对了,一脸正经)我还爬了2w条李雨桐转发网友捐款的微博评论。
对了(真的对了,看我真诚的眼神)我爬了微博评论说陈赫作弊时发错博了。
从这三张图可以看出,在0、1的末端和0.5附近的情绪值更频繁,说明粉丝对此类事件的情绪是正面的还是负面的。比较明显。但是您也可以从图片中看到一些细微的差异。老薛微博中接近1的情感值数量高于接近0的数量,但没有超过700个。李雨桐微博中接近1的情感值数量要低得多。 0,甚至接近0的数字也达到了1000多,但都超过了700,而陈赫的微博分析结果显示,两者都接近800。由于算法存在一定误差,不代表真实审查结果,所以我不再分析它(你知道的)。
使用新浪微博开放平台api同步微博内容至自己网站(实现一个绑定新浪微博实现同步微博登录效果的方便)
网站优化 • 优采云 发表了文章 • 0 个评论 • 42 次浏览 • 2022-01-28 21:05
近日,公司要求实现绑定新浪微博,以达到同步微博登录的效果。
我花了一段时间才充分利用它。下面说说我的实现过程,希望能给想做这个开发的人一些帮助!
首先我们要到新浪微博开放平台创建我们的网站
在创建网站之前,如果没有认证,需要先认证(几小时内可以审核通过)
根据条件创建网站。中途注意复制一段代码到发布的项目中,然后等待审批(预计时间)
中间会返回一个AppKey和一个AppSecret;
批准后,我们将正式开始我们的开发过程
我们先来看看整个过程
在管理中心 > 接口管理中有所有可以调用的授权接口
在授权机制里面。如果测试用户可以填写/Weibo.aspx,请注意填写其回调地址(Weibo.aspx是我们的回调页面)
public partial class wbAPI : System.Web.UI.Page
{
public const string AppKey = "207788581"; //请自行设置AppKey
public const string AppSecret = "cba11dad8522a7b1f32aefde396be"; //请自行设置AppSecret
public const string CallbackUrl = "http://www.miutrip.com/Weibo.aspx"; //请自行设置回调地址,一般这里不用填应用实际地址,填站内应用地址也是可以的
protected void Page_Load(object sender, EventArgs e)
{
#region 注意事项(绑定新浪微博)
/**
*这段代码放入你的触发时间处。绑定按钮,一般是在别的页面跳过
* 127.0.0.1本机IP 一般用于测试
* 8080 本机端口号
* Weibo.aspx为当前你的页面
* 授权申请成功之后,配置的返回路径应该为 http://www.miutrip.com/Weibo.aspx
* 调用微博信息 要添加NetDimension.Weibo.DLL文件
*/
// href="https://api.weibo.com/oauth2/a ... ot%3B
#endregion
if (!IsPostBack)
{
var sign = Request["code"];
//var sign = "b3eb3bccbf4cd9399236a02a81cde4bf";
var oauth = new NetDimension.Weibo.OAuth(AppKey, AppSecret, CallbackUrl);
/*
* 正常的流程或Web流程:
* 1. 获取授权地址
* 2. 访问授权地址
* 3. 授权成功后自动跳转至callback指定的网站,并获得code
* 4. 通过code换取access token
*/
if (!string.IsNullOrEmpty(sign))
{
var accessToken = oauth.GetAccessTokenByAuthorizationCode(sign).Token;//注意:callback指定的url必须一致
oauth = new OAuth(AppKey, AppSecret, accessToken, "");
var sina = new Client(oauth);
var userInfo = sina.API.Dynamic.Users.Show(uid: sina.API.Entity.Account.GetUID());
//userInfo就为我们得到的用户信息
Response.Write(userInfo);
//Server.Transfer("CorpActivate.aspx", true);
}
}
}
要实现这个页面,我们还需要添加一个DLL:NetDimension.Weibo.dll 可以在线下载
微博入口:
新浪微博登陆
function openwin() {
window.open("https://api.weibo.com/oauth2/a ... ot%3B, "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //写成一行
}
client_id 是 appkey。如果有多个微博条目,不方便处理。
可以在回调地址中,即redirect_uri=
http://www.miutrip.com/Weibo.aspx?sinatype=Login
后跟一个参数,用于区分该条目传递的值。
您可以在 weibo.aspx 获得它
string sinatype = Request.QueryString["Login"];
有什么不明白的可以加我@写下你的情况 查看全部
使用新浪微博开放平台api同步微博内容至自己网站(实现一个绑定新浪微博实现同步微博登录效果的方便)
近日,公司要求实现绑定新浪微博,以达到同步微博登录的效果。
我花了一段时间才充分利用它。下面说说我的实现过程,希望能给想做这个开发的人一些帮助!
首先我们要到新浪微博开放平台创建我们的网站
在创建网站之前,如果没有认证,需要先认证(几小时内可以审核通过)
根据条件创建网站。中途注意复制一段代码到发布的项目中,然后等待审批(预计时间)
中间会返回一个AppKey和一个AppSecret;
批准后,我们将正式开始我们的开发过程
我们先来看看整个过程
在管理中心 > 接口管理中有所有可以调用的授权接口
在授权机制里面。如果测试用户可以填写/Weibo.aspx,请注意填写其回调地址(Weibo.aspx是我们的回调页面)
public partial class wbAPI : System.Web.UI.Page
{
public const string AppKey = "207788581"; //请自行设置AppKey
public const string AppSecret = "cba11dad8522a7b1f32aefde396be"; //请自行设置AppSecret
public const string CallbackUrl = "http://www.miutrip.com/Weibo.aspx"; //请自行设置回调地址,一般这里不用填应用实际地址,填站内应用地址也是可以的
protected void Page_Load(object sender, EventArgs e)
{
#region 注意事项(绑定新浪微博)
/**
*这段代码放入你的触发时间处。绑定按钮,一般是在别的页面跳过
* 127.0.0.1本机IP 一般用于测试
* 8080 本机端口号
* Weibo.aspx为当前你的页面
* 授权申请成功之后,配置的返回路径应该为 http://www.miutrip.com/Weibo.aspx
* 调用微博信息 要添加NetDimension.Weibo.DLL文件
*/
// href="https://api.weibo.com/oauth2/a ... ot%3B
#endregion
if (!IsPostBack)
{
var sign = Request["code"];
//var sign = "b3eb3bccbf4cd9399236a02a81cde4bf";
var oauth = new NetDimension.Weibo.OAuth(AppKey, AppSecret, CallbackUrl);
/*
* 正常的流程或Web流程:
* 1. 获取授权地址
* 2. 访问授权地址
* 3. 授权成功后自动跳转至callback指定的网站,并获得code
* 4. 通过code换取access token
*/
if (!string.IsNullOrEmpty(sign))
{
var accessToken = oauth.GetAccessTokenByAuthorizationCode(sign).Token;//注意:callback指定的url必须一致
oauth = new OAuth(AppKey, AppSecret, accessToken, "");
var sina = new Client(oauth);
var userInfo = sina.API.Dynamic.Users.Show(uid: sina.API.Entity.Account.GetUID());
//userInfo就为我们得到的用户信息
Response.Write(userInfo);
//Server.Transfer("CorpActivate.aspx", true);
}
}
}
要实现这个页面,我们还需要添加一个DLL:NetDimension.Weibo.dll 可以在线下载
微博入口:
新浪微博登陆
function openwin() {
window.open("https://api.weibo.com/oauth2/a ... ot%3B, "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //写成一行
}
client_id 是 appkey。如果有多个微博条目,不方便处理。
可以在回调地址中,即redirect_uri=
http://www.miutrip.com/Weibo.aspx?sinatype=Login
后跟一个参数,用于区分该条目传递的值。
您可以在 weibo.aspx 获得它
string sinatype = Request.QueryString["Login"];
有什么不明白的可以加我@写下你的情况