Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Javascript访问Twitter_Javascript_Ajax_Twitter - Fatal编程技术网

通过Javascript访问Twitter

通过Javascript访问Twitter,javascript,ajax,twitter,Javascript,Ajax,Twitter,我正在以以下方式构建一个使用twitter的web应用程序: 1) 用户可以使用Twitter登录(即用户对应用程序进行身份验证和授权)-我得到以下信息: “oauth_token_secret=[oauth_token_secret\u HERE]&oauth_token=[oauth_token\u HERE]”存储到服务器 2) 现在我只想使用javascript(使用jQuery)在客户端访问用户数据。那我该怎么做呢???我已经尝试了几种方法,但我一直忽略了一些东西,所以我的问题是应该如

我正在以以下方式构建一个使用twitter的web应用程序:

1) 用户可以使用Twitter登录(即用户对应用程序进行身份验证和授权)-我得到以下信息: “oauth_token_secret=[oauth_token_secret\u HERE]&oauth_token=[oauth_token\u HERE]”存储到服务器

2) 现在我只想使用javascript(使用jQuery)在客户端访问用户数据。那我该怎么做呢???我已经尝试了几种方法,但我一直忽略了一些东西,所以我的问题是应该如何打电话?示例中需要哪些参数:

$.getJSON('https://api.twitter.com/1/statuses/home_timeline.json?include_entities=true&[WHAT PARAMETERS SHOLD BE ADDED HERE???]&callback=?', function(data) {
    console.log(data);
    });

您可以使用
count
amd
max\u id
查询参数,但不需要它们

我也不认为您需要或想要
回调=?
部分

关键的是:您需要使用这些OAUTH项来生成授权头,您必须将其添加到出站请求中。标题的结构如中所述

要查看邮件的外观,请转到:

Thsi是有效请求的一个示例:

GET /1/statuses/home_timeline.json HTTP/1.1
Authorization: XXXXXXXXX
Host: api.twitter.com
User-Agent: Mozilla/5.0 (.....)
…其中XXXXXX是授权头,根据Twitter规定的oauth 1.0a规则生成

看起来是这样的:(为了可读性插入了换行符;在实际请求中,此标题应全部位于一行上)

您可能希望利用JavaScriptOAuth库来构造该头并发送请求


请尝试

为没有给出一行回答而道歉,但很乐意帮助

通常,在使用javascript获取数据时,由于沙盒/“同源”限制,您将无法访问许多数据源

但是,站点可以批准此功能,但通常会以特定的方式让您访问数据(通常先登录并接收会话)

许多人已经围绕这些方法编写了包装(尤其是像twitter这样流行的东西)

看看你的誓言

您能举例说明吗?此外,还根据它添加了其他参数。回调不应该=?因为我请求JSONP解决同源策略问题。啊,对不起,是的,你是对的,你需要回调。关于一个示例-您可以在apigee控制台上看到它。它显示授权标头。报头需要一些“给定”的oauth参数(consumner密钥、secret密钥),以及一些您计算的参数,如oauth_时间戳、oauth_签名和oauth_签名方法。构造标题是机械的,但有些复杂。我插入了一个标题的示例。对不起,这可能是一个新手问题,但oauth_nonce和oauth_签名是什么,我如何生成它们?这是Twitter开发者文档中解释的缺少的参数;Nonce是一个只能使用一次的数字。签名是唯一困难的事情,这就是为什么你需要一个图书馆。sig是所有其他oauth参数的HMAC_SHA1,以特定方式进行排序、连接和编码。Twitter api文档中描述了确切的方法。
OAuth oauth_consumer_key="RR0sePOBbQ8bYdC8r41mg",
  oauth_signature_method="HMAC-SHA1",
  oauth_timestamp="1341705465",
  oauth_nonce="34350",
  oauth_version="1.0",
  oauth_token="5915213-haTzPfWcr6Ci2gdnD8797AfgRs8AICDK8KIStFtx",
  oauth_signature="1hxDP104ZXGMlcblQ05h6vWoJg%3D"