使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))

优采云 发布时间: 2022-02-28 05:06

  使用新浪微博开放平台api同步微博内容至自己网站(安装微博SDK支持多种语言.0创建应用应用创建成功(组图))

  当采集微博数据时,我们可以使用微博API进行调用。调用微博API有两个任务,第一步是创建应用程序,第二步是安装微博SDK。

  创建应用

  创建应用的目的是获取app-key和app-secret,设置授权回调页面。

  登录微博开放平台创建应用

  应用名称及后续信息随便填写即可。填写后,无需提交审核。您所需要的只是应用程序密钥和应用程序秘密。应用创建成功后,在“我的应用”中可以看到刚刚创建的应用的详细信息,在“应用信息”中可以找到App Key和App Secret,后面会用到。

  

  然后打开上方“申请信息”中的“高级信息”,然后点击“高级信息”中的“编辑”按钮,将“授权回调页面”设置为:,“取消授权回调页面”设置为:。至此,第一步已经完成。

  安装微博SDK

  微博SDK链接,微博SDK支持多种语言,本文以php为例说明操作。

  

  新浪微博的授权机制,即OAuth 2

  API 调用需要用户认证(用户授权)。目前,OAuth2.0主要用于微博开放平台上的用户身份认证。

  OAuth2.0协议的授权流程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。

  从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。

  获取授权请求url

  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);

  $code_url = $o->getAuthorizeURL(WB_CALLBACK_URL);

  在浏览器地址栏输入授权url回车,浏览器会弹出一个页面,必须先点击“Authorize”(这里进行的OAuth 2认证,我理解是用户访问我的应用,将页面指向新浪服务器然后用户将信息输入新浪服务器并授权我的应用程序访问用户数据后,这里我授权微博给如下程序),授权后浏览器中的URL类似:

  代码是授权授予

  获取访问令牌

  我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。

  $keys = 数组();

  $o = 新 SaeTOAuthV2(WB_AKEY, WB_SKEY);

  $keys['code'] = '89c143736a55980bd2e82460b1092c88';

  //fe080b632eec18452a9ec8eea3c4b748

  $keys['redirect_uri'] = WB_CALLBACK_URL;

  尝试 {

  $token = $o->getAccessToken('code', $keys);

  }

  捕捉(OAuthException $e){

  echo "getAccessToken fail.reason:".$e->getMessage()."\n";

  }

  var_dump($token);//expire_in表示access_token的有效期

  $accessToken = $token["access_token"];

  3.获取微博数据,编写代码调用微博api

  $accessToken = '2.00S_7idC0psiN42941abc2354ymrJC';

  $c = 新 SaeTClientV2( WB_AKEY , WB_SKEY , $accessToken );

  $ret = $c->show_user_by_name('小二来了一吨白菜');

  2013年7月2日起,微博开放平台将升级用户关系阅读和微博内容阅读界面;为保证您在线申请的正常运行,请在7月2日升级前更新以下界面;本次升级对微博客户端和合规应用没有影响。升级过程中,如果遇到任何问题,请私信@微博开放平台,感谢您的理解与支持!具体调整界面如下:

  获取当前登录用户发布的微博消息列表(2/statuses/user_timeline)

  获取当前登录用户发布的微博消息ID列表(2/statuses/user_timeline/ids)

  获取用户的关注列表(2/friendships/friends)

  获取常见关注者列表(2/friendships/friends/in_common)

  获取双向关注列表(2/好友/好友/双边)

  获取双边关注者的UID列表(2/friendships/friends/bilateral/ids)

  获取用户关注对象的UID列表(2/friendships/friends/ids)

  获取用户的关注者列表(2/friendships/followers)

  获取用户关注者 UID 列表(2/friendships/followers/ids)

  获取用户优质关注者列表(2/好友/关注者/活跃)

  即:接口升级后:uid和screen_name只能是当前授权用户,第三方微博客户端不受影响

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线