twitter通过oAuth验证获取json数据
- protected void Page_Load(object sender, EventArgs e)
- {
- var oAuthConsumerKey = "你的key";
- var oAuthConsumerSecret = "你的secret";
- var oAuthUrl = "https://api.twitter.com/oauth2/token";//授权地址
- var screenname = "查询关键字";
- var authHeaderFormat = "Basic {0}";
- var authHeader = string.Format(authHeaderFormat,
- Convert.ToBase64String(Encoding.UTF8.GetBytes(Uri.EscapeDataString(oAuthConsumerKey) + ":" +
- Uri.EscapeDataString((oAuthConsumerSecret)))
- ));
- var postBody = "grant_type=client_credentials";
- HttpWebRequest authRequest = (HttpWebRequest)WebRequest.Create(oAuthUrl);
- authRequest.Headers.Add("Authorization", authHeader);
- authRequest.Method = "POST";
- authRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
- authRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
- using (Stream stream = authRequest.GetRequestStream())
- {
- byte[] content = ASCIIEncoding.ASCII.GetBytes(postBody);
- stream.Write(content, , content.Length);
- }
- authRequest.Headers.Add("Accept-Encoding", "gzip");
- WebResponse authResponse = authRequest.GetResponse();
- TwitAuthenticateResponse twitAuthResponse;
- using (authResponse)
- {
- using (var reader = new StreamReader(authResponse.GetResponseStream()))
- {
- JavaScriptSerializer js = new JavaScriptSerializer();
- var objectText = reader.ReadToEnd();
- twitAuthResponse = JsonConvert.DeserializeObject<TwitAuthenticateResponse>(objectText);
- }
- }
- var timelineFormat = "https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name={0}&include_rts=1&exclude_replies=1&count=5";
- var timelineUrl = string.Format(timelineFormat, screenname);
- HttpWebRequest timeLineRequest = (HttpWebRequest)WebRequest.Create(timelineUrl);
- var timelineHeaderFormat = "{0} {1}";
- timeLineRequest.Headers.Add("Authorization", string.Format(timelineHeaderFormat, twitAuthResponse.token_type, twitAuthResponse.access_token));
- timeLineRequest.Method = "Get";
- WebResponse timeLineResponse = timeLineRequest.GetResponse();
- var timeLineJson = string.Empty;
- using (timeLineResponse)
- {
- using (var reader = new StreamReader(timeLineResponse.GetResponseStream()))
- {
- timeLineJson = reader.ReadToEnd();
- }
- }
- }
- public class TwitAuthenticateResponse
- {
- public string token_type { get; set; }
- public string access_token { get; set; }
- }
twitter通过oAuth验证获取json数据的更多相关文章
- Facebook通过oAuth验证获取json数据
首先下载facebook相关的动态库,下载文件:facebook.dll 获取授权token方法: private string SetToken(string gettoken)//此处是你的短to ...
- Netflix Falcor获取JSON数据
Netflix开源了JavaScript库Falcor,它为从多个来源获取JSON数据提供了模型和异步机制. Netflix利用Falcor库实现通过JSON数据填充他们网页应用的用户界面.所有来自内 ...
- jquery通过ajax方法获取json数据不执行success
1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...
- jquery用ajax方式从后台获取json数据,将内容填充到下拉列表。
从后台获取json数据,将内容填充到下拉列表. url:链接 par:ID sel:下拉列表选择器 //获取下拉列表 function BuildSelectBox(url, par, sel) { ...
- JQuery 获取json数据$.getJSON方法的实例代码
这篇文章介绍了JQuery 获取json数据$.getJSON方法的实例代码,有需要的朋友可以参考一下 前台: function SelectProject() { var a = new Array ...
- Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据
jquery.tmpl.js 是一个模板js ,主要有2个方法 (1):$.template()方法,将一段script或者是Html编译为模板,例如 $.template('myTemplate' ...
- android客户端从服务器端获取json数据并解析的实现代码
今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下 首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...
- jquery通过ajax方法获取json数据不执行success回调
问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述 ...
- (转)android客户端从服务器端获取json数据并解析的实现代码
今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下 首先客户端从服务器端获取json数据 1.利用HttpUrlConnection 复制代码 ...
随机推荐
- PL/SQL连接配置
在Oracle安装目录oracle\product\10.2.0\db_2\NETWORK\ADMIN下修改一下三个文件: listener.ora,sqlnet.ora,tnsnames.ora l ...
- css 妙味 总结
技巧一: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...
- [Linux] 获得系统位数
三种方法获得系统多少位: 以下三个例子都得到的是64位的系统 1. getconf LONG_BIT 2. echo $HOSTTYPE 3. uname –a
- [SVN] SVN在Eclipse里的各个状态解释
中文意义: A代表添加D代表删除U代表更新C代表合并,并且合并中有冲突G代表合并,合并中没有冲突 每个字母代表的意义: U = item (U)pdated to repository version ...
- 设置SecureCRT会话的缓冲区大小
转自:http://blog.csdn.net/imxiangzi/article/details/7457703 在使用SecureCRT操作设备时,默认的回滚行数为500行.可以通过打开[选项]- ...
- 我的 Unity2D 屏幕适配
以下方法纯属我YY,切勿当真!!! 确定一个设计尺寸,比如 devWidth = 960,devHeight = 640, 按照这个尺寸进行设计游戏. 方式一: 不管什么屏幕尺寸,都和设计的尺寸对应. ...
- 【转】清理Kylin的中间存储数据(HDFS & HBase Tables)
http://blog.csdn.net/jiangshouzhuang/article/details/51290399 Kylin在创建cube过程中会在HDFS上生成中间数据.另外,当我们对cu ...
- 【转】Kylin的Hierarchies,Derived维度方面配置优化
http://blog.csdn.net/jiangshouzhuang/article/details/51286150 Hierarchies: 理论上对于N维度,我们可以进行2的N次方的维度组合 ...
- x264源代码 概述 框架分析 架构分析
函数背景色 函数在图中以方框的形式表现出来.不同的背景色标志了该函数不同的作用: 白色背景的函数:不加区分的普通内部函数. 浅红背景的函数:libx264类库的接口函数(API). 粉红色背景函数:滤 ...
- Android拓展系列(10)--使用Android Studio阅读整个Android源码
之前一直在windows下用source insight阅读android源码,效果非常好.后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式.最近发现一个不错的东西(早就 ...