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

优采云 发布时间: 2021-09-16 13:07

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

)

  最近,我登录并访问了联合第三方平台,并首先联系了开放平台。我在这里做个记录

  开发前的准备工作如下:

  1、注册新浪微博

  2、访问新浪微博开发平台,如果是企业,申请企业访问,并提交相关材料进行审核;如果您是个人开发者,请申请个人开发者应用程序。以开发者为例

  3、要使用新浪微博的开放API,您需要向新浪申请a*敏*感*词*ey和AppSecret。这是入口。您必须先获得这两个,然后才能访问下一个工作

  4、完成个人信息后,您还必须完成身份验证审核。审核完成后,新浪开放平台将给出a*敏*感*词*ey和AppSecret

  5、下一步是如何使用a*敏*感*词*ey和AppSecret。您需要在开放平台中下载文档或演示代码。事实上,提供的文件基本上是技术文件。很多事情没有解释清楚。第一次接触的人仍然会遇到很多麻烦

  6、Sina开放平台提供了许多不同开发语言的SDK。这里我选择JavaSDK并下载一个(包括新的接口和OAuth2.0)的zip文件解压后可以直接导入eclipse。结构如下,包括weibo4j源代码和示例代码

  

  这是一个配置文件。请按如下方式打开它:

  

  以前应用的a*敏*感*词*ey和app secret很方便。此处的客户端id是a*敏*感*词*ey,客户端sercret是app secret。请填写相应的内容,重定向uri是回调地址

  点击“第三方”--“跳转到微博登录”--“登录确定,授权”--“回调您自己的应用程序。下面是回调地址的含义

  7、start运行测试程序。测试程序在示例中,类oauth4code在包weibo4j.examples.oauth2下。这里我们需要做一些修改来修改程序中的代码

  OAuth.Authorize(“code”,args[0],args[1])。将本段更改为OAuth.Authorize(“code”,“all”)。至于原因,请阅读接口文档中有关使用OAuth.Authorize的说明

  假设我们这里没有回调地址,配置文件中的redirect_uri为空,运行后会自动打开浏览器运行测试,如下图:

  

  此时的URL地址为:

  这表明我的a*敏*感*词*ey和appsecret是有效的。由于我们没有创建正式的应用程序,新浪无法识别我的来源

  8、在开放平台上创建一个应用程序,如下图所示

  

  有三种类型的应用程序,网站access、现场应用程序和移动应用程序。如果是企业行为,有一个可以访问的公共域名,并且应用程序通过域名访问,任何一种方式都可以在这里使用。但是,如果我们只是简单的开发人员,没有公共域名,例如内部LAN模式,IP是内部网地址192. 168.1.*头部,局部127.0.@0.1在这里,您只能选择创建站内应用程序

  

  红色框中标记的位置是回调地址。如果我没有公共IP和域名,可以填写LAN以供播放,但我不能使用localhost127.0.@0.1,是按照配置要求完成的,本次配置要求非常严格

  特别是,以下应用程序图标很麻烦。完成后,您可以提交它们以供审批

  9、提交审核后,新浪开放平台将在大约一天内首次向您的电子邮件发送一封电子邮件,通知您审核结果。但是,审核结果是否失败并不重要。关键是提交审核。如果审核不成功,可以照常使用

  

  10、完成测试项目中的配置文件redirect_uri后,必须与创建应用时填写的[actual application address]一致,即回调地址!完成配置后,再次运行oauth4code.java,如图所示

  

  在这里,您将跳转到新浪微博的登录页面,登录新浪微博账号后,您需要点击授权,这意味着您的微博账号的相关内容可以与访问平台共享。授权完成后

  将返回一个代码,这个代码非常重要,它是我们整个访问第三方平台的关键,通过这个代码,我们可以获得用户的访问令牌、uid等内容,相当于打开整个访问过程

  11、Call新浪微博开放API

  在这里,您需要学习这些API以满足访问需求。首先要熟悉的是OAuth2.0您可以在上检查授权界面,如下所示:

  

  12、通过servlet程序调用OpenAPI,获取新浪微博uid和微博名称示例

  

  response.setContentType("text/html;charset=UTF-8");

String accessToken = null ;

String uid = null ;

String screenName = null ;

String username = null ;

AccessToken accessTokenObj = null ;

Oauth oauth2 = new Oauth();

try {

out = response.getWriter();

accessTokenObj = oauth2.getAccessTokenByCode(code) ;

logger.info(accessTokenObj);

accessToken = accessTokenObj.getAccessToken() ;

oauth2.setToken(accessToken) ;

Account account = new Account() ;

account.client.setToken(accessToken) ;

JSONObject uidJson = account.getUid() ;

uid = uidJson.getString("uid") ;

Users users = new Users() ;

users.client.setToken(accessToken) ;

User weiboUser = users.showUserById(uid) ;

username = weiboUser.getName() ;

screenName = weiboUser.getScreenName() ;

} catch (WeiboException | IOException | JSONException e) {

e.printStackTrace();

}

out.println("微博访问Token_Info:" + accessTokenObj + "\t");

out.println("微博访问Token:" + accessToken + "\t");

out.println("微博用户-Uid:" + uid + "\t");

out.println("微博用户-名称:" + screenName + "\t");

out.flush();

out.close();*/

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线