通过Javascript访问Twitter

Accessing Twitter through Javascript

本文关键字:Twitter 访问 Javascript 通过      更新时间:2023-09-26

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

1) 用户可以使用Twitter登录(即用户对应用程序进行身份验证和授权)-我得到以下内容:"oauth_token_secret=[oauth_token_secret_HERE]和oauth_token=[oauth _token_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);
    });

您可以使用countmax_id查询参数,但不需要它们。

我也不认为你需要或想要callback=?部分

关键是:您需要使用这些OAUTH项来生成Authorization头,必须将其添加到出站请求中。Twitter的开发人员文档中描述了标头的结构。

要查看消息的外观,请转到:https://apigee.com/console/twitter

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

GET /1/statuses/home_timeline.json HTTP/1.1
Authorization: XXXXXXXXX
Host: api.twitter.com
User-Agent: Mozilla/5.0 (.....)

其中XXXXXX是Authorization头,根据Twitter规定的oauth 1.0a规则生成。

它看起来是这样的:(为了可读性插入换行符;这个标题应该在实际请求中的一行上)

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"

您可能希望利用Javascript OAuth库来构造该标头并发送请求。

尝试搜索jsOAuth和Twitter

很抱歉没有给出一行答案,但很乐意提供帮助。。

通常,当使用javascript获取数据时,由于沙盒/"特定来源"的限制,您将无法访问许多数据源。。

然而,站点可以批准这种能力,但通常会有一种特定的方式来访问数据(通常是先登录并接收会话)

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

看看jsOathhttps://github.com/bytespider/jsOAuth/downloads