新浪微博如何实现微博同步的功能?(一)_
优采云 发布时间: 2021-06-03 05:19新浪微博如何实现微博同步的功能?(一)_
最近遇到一个项目,需要用户的微博信息和他的网站项目同步。好在新浪微博提供了API。我大概查了一下。需要调用信息同步:需要验证用户登录,返回的数据为JSON格式。
在授权机制的描述中,新浪微博的API有两种认证机制,分别是:OAuth和Basic Auth。 OAuth 没有仔细看,所以忽略它们。在Basic Auth授权介绍部分,在cnblogs上有提到。 文章的一篇文章,这个文章展示了如何以GET方式提交http请求,并给出返回内容的代码,我在这个文章文章的公园团队中找到了另一个博客:这个文章实现站外发微博功能。结合这两个文章,就实现了新浪微博的同步功能。
下面介绍实现微博同步的步骤:
1. 首先,为了实现http请求,使用System.Net;需要引入命名空间。同时,在后面转换字符集和获取返回内容的过程中,还需要另外两个命名空间:using System.Text;并使用系统。 .IO;
接下来就可以开始写代码获取json数据了。
(1)准备用户验证数据
string usernamePassword = username + ":" + password;
用户名是您的微博登录用户名,密码是您的博客密码。
(2)准备API URL,URL中的参数是通过GET直接附在URL上的。一开始博客园里的文章也没仔细看,直接贴出代码,给数据追加参数,返回400错误,后来查msdn,发现HttpWebRequest的默认请求方式是GET,既然是GET,就应该通过URL传递参数。
string url = "https://api.weibo.com/2/statuses/user_timeline.json?source="+apikey+"&count="+count+"";
以上apikey是作为新浪微博用户的开发者申请的,应该是唯一的。博客园的文章zhong 说需要邮件审核。我没有发邮件,直接申请就收到了。一个APIKEY,信息也可以同步,但是在站外发送微博信息时,来源部分会是:未审核的应用。还有uid、screen_name等参数,具体参数API文档中有说明。