1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. var oAuthConsumerKey = "你的key";
  4. var oAuthConsumerSecret = "你的secret";
  5. var oAuthUrl = "https://api.twitter.com/oauth2/token";//授权地址
  6. var screenname = "查询关键字";
  7. var authHeaderFormat = "Basic {0}";
  8. var authHeader = string.Format(authHeaderFormat,
  9. Convert.ToBase64String(Encoding.UTF8.GetBytes(Uri.EscapeDataString(oAuthConsumerKey) + ":" +
  10. Uri.EscapeDataString((oAuthConsumerSecret)))
  11. ));
  12.  
  13. var postBody = "grant_type=client_credentials";
  14.  
  15. HttpWebRequest authRequest = (HttpWebRequest)WebRequest.Create(oAuthUrl);
  16. authRequest.Headers.Add("Authorization", authHeader);
  17. authRequest.Method = "POST";
  18. authRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
  19. authRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
  20.  
  21. using (Stream stream = authRequest.GetRequestStream())
  22. {
  23. byte[] content = ASCIIEncoding.ASCII.GetBytes(postBody);
  24. stream.Write(content, , content.Length);
  25. }
  26.  
  27. authRequest.Headers.Add("Accept-Encoding", "gzip");
  28.  
  29. WebResponse authResponse = authRequest.GetResponse();
  30. TwitAuthenticateResponse twitAuthResponse;
  31. using (authResponse)
  32. {
  33. using (var reader = new StreamReader(authResponse.GetResponseStream()))
  34. {
  35. JavaScriptSerializer js = new JavaScriptSerializer();
  36. var objectText = reader.ReadToEnd();
  37. twitAuthResponse = JsonConvert.DeserializeObject<TwitAuthenticateResponse>(objectText);
  38. }
  39. }
  40.  
  41. var timelineFormat = "https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name={0}&include_rts=1&exclude_replies=1&count=5";
  42. var timelineUrl = string.Format(timelineFormat, screenname);
  43. HttpWebRequest timeLineRequest = (HttpWebRequest)WebRequest.Create(timelineUrl);
  44. var timelineHeaderFormat = "{0} {1}";
  45. timeLineRequest.Headers.Add("Authorization", string.Format(timelineHeaderFormat, twitAuthResponse.token_type, twitAuthResponse.access_token));
  46. timeLineRequest.Method = "Get";
  47. WebResponse timeLineResponse = timeLineRequest.GetResponse();
  48. var timeLineJson = string.Empty;
  49. using (timeLineResponse)
  50. {
  51. using (var reader = new StreamReader(timeLineResponse.GetResponseStream()))
  52. {
  53. timeLineJson = reader.ReadToEnd();
  54. }
  55. }
  56. }
  57.  
  58. public class TwitAuthenticateResponse
  59. {
  60. public string token_type { get; set; }
  61. public string access_token { get; set; }
  62. }

twitter通过oAuth验证获取json数据的更多相关文章

  1. Facebook通过oAuth验证获取json数据

    首先下载facebook相关的动态库,下载文件:facebook.dll 获取授权token方法: private string SetToken(string gettoken)//此处是你的短to ...

  2. Netflix Falcor获取JSON数据

    Netflix开源了JavaScript库Falcor,它为从多个来源获取JSON数据提供了模型和异步机制. Netflix利用Falcor库实现通过JSON数据填充他们网页应用的用户界面.所有来自内 ...

  3. jquery通过ajax方法获取json数据不执行success

    1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...

  4. jquery用ajax方式从后台获取json数据,将内容填充到下拉列表。

    从后台获取json数据,将内容填充到下拉列表. url:链接 par:ID sel:下拉列表选择器 //获取下拉列表 function BuildSelectBox(url, par, sel) { ...

  5. JQuery 获取json数据$.getJSON方法的实例代码

    这篇文章介绍了JQuery 获取json数据$.getJSON方法的实例代码,有需要的朋友可以参考一下 前台: function SelectProject() { var a = new Array ...

  6. Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据

    jquery.tmpl.js 是一个模板js  ,主要有2个方法 (1):$.template()方法,将一段script或者是Html编译为模板,例如 $.template('myTemplate' ...

  7. android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下   首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...

  8. jquery通过ajax方法获取json数据不执行success回调

    问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述 ...

  9. (转)android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下       首先客户端从服务器端获取json数据 1.利用HttpUrlConnection   复制代码 ...

随机推荐

  1. PL/SQL连接配置

    在Oracle安装目录oracle\product\10.2.0\db_2\NETWORK\ADMIN下修改一下三个文件: listener.ora,sqlnet.ora,tnsnames.ora l ...

  2. css 妙味 总结

    技巧一: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  3. [Linux] 获得系统位数

    三种方法获得系统多少位: 以下三个例子都得到的是64位的系统 1. getconf LONG_BIT 2. echo $HOSTTYPE 3. uname –a

  4. [SVN] SVN在Eclipse里的各个状态解释

    中文意义: A代表添加D代表删除U代表更新C代表合并,并且合并中有冲突G代表合并,合并中没有冲突 每个字母代表的意义: U = item (U)pdated to repository version ...

  5. 设置SecureCRT会话的缓冲区大小

    转自:http://blog.csdn.net/imxiangzi/article/details/7457703 在使用SecureCRT操作设备时,默认的回滚行数为500行.可以通过打开[选项]- ...

  6. 我的 Unity2D 屏幕适配

    以下方法纯属我YY,切勿当真!!! 确定一个设计尺寸,比如 devWidth = 960,devHeight = 640, 按照这个尺寸进行设计游戏. 方式一: 不管什么屏幕尺寸,都和设计的尺寸对应. ...

  7. 【转】清理Kylin的中间存储数据(HDFS & HBase Tables)

    http://blog.csdn.net/jiangshouzhuang/article/details/51290399 Kylin在创建cube过程中会在HDFS上生成中间数据.另外,当我们对cu ...

  8. 【转】Kylin的Hierarchies,Derived维度方面配置优化

    http://blog.csdn.net/jiangshouzhuang/article/details/51286150 Hierarchies: 理论上对于N维度,我们可以进行2的N次方的维度组合 ...

  9. x264源代码 概述 框架分析 架构分析

    函数背景色 函数在图中以方框的形式表现出来.不同的背景色标志了该函数不同的作用: 白色背景的函数:不加区分的普通内部函数. 浅红背景的函数:libx264类库的接口函数(API). 粉红色背景函数:滤 ...

  10. Android拓展系列(10)--使用Android Studio阅读整个Android源码

    之前一直在windows下用source insight阅读android源码,效果非常好.后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式.最近发现一个不错的东西(早就 ...