访问 Twitter API - 身份验证和骨干模型
Accessing the Twitter API - authenticating and backbone models
我正在尝试学习Backbone和Twitter API,但遇到了一些问题。
首先,到目前为止,我只能生成一个访问令牌,所以我完成了OAuth的一部分,但是在请求获取推文时遇到了麻烦。
我正在使用我在网上找到的一些代码来帮助我入门这是一个集合:
var Twitter = new Backbone.Model({
api: api,
token: tokenToUse,
debug: false
});
// define a collection
Twitter.Collection = Collection.extend({
initialize: function(models, options){
options = options || {};
_.extend(this.options, options);
return Collection.prototype.initialize.apply( arguments );
},
sync : function( method, model, options ) {
options.dataType = 'jsonp';
return Backbone.sync( method, model, options );
}
});
然后我定义一个搜索集合
Twitter.Collections.Search = Twitter.Collection.extend({
model: Backbone.API.Twitter.Models.Tweet, // this is defined elsewhere
url: function(){ return "https://api.twitter.com/1.1/search/tweets.json?q="+ encodeURIComponent(this.options.query) + "result_type=mixed&count=100"; },
options: {
query : "",
num : 10
},
parse: function( data ){
if( Twitter.get("debug") )
console.log("Twitter.Collections.Search: ", data );
return data.results;
},
initialize: function(query){
this.options.query = query;
}
});
我遇到的问题是 Twitter API 需要身份验证,我需要添加授权标头......现在的问题是怎么做?我不确定在哪里设置标题以使其正常工作。
API 文档非常大,并且需要首先生成大量数据,设置 OAuth 被证明是一个巨大的痛苦。
也许有一个JavaScript库在某个地方有这个设置?
这些是来自我的控制台的请求标头:
请求网址:https://api.twitter.com/1.1/search/tweets.json?q=testresult_type=mixed&count=100&callback=jQuery19100829295557923615_1420770637354&_=1420770637355
请求方式:获取
状态代码:400 错误请求
请求标头
:主机:API.twitter.com
:方法:获取
:p ath:/1.1/search/tweets.json?q=testresult_type=mixed&count=100&callback=jQuery19100829295557923615_1420770637354&_=1420770637355
:方案:https
:版本:HTTP/1.1
接受:/
接受编码:gzip, deflate, sdch
accept-language:en-US,en;q=0.8
推荐人: 某网站
user-agent:Mozilla/5.0 (Windows NT 6.3;WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
而不是url
在方法中构造查询,而是尝试在fetch
调用中分配它以及额外的标头
Collection.extend({
sync: function (method, model, options) {
options.dataType = 'jsonp';
options.headers = {
"auth-key": "c12a9e06-****-443e-bb2d-5220c70f****"
}
return Backbone.sync( method, model, options );
}
});
model.fetch({
data: {
q: "whatever",
result_type: 'mixed',
count: 100
}
})
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 身份验证后获取Facebook图片
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- Twitter应用程序专用身份验证
- Passport.js成功的身份验证根本没有调用
- 通过JavaScript访问需要身份验证的页面
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用JavaScript捕获基本身份验证凭据
- javascript中的Spotify身份验证
- ServiceStack JavaScript服务器事件客户端的身份验证
- Twitter API 1.1无法对您2进行身份验证
- javascript api,用于在第三方域上存储身份验证令牌
- 实施Facebook's无用户身份验证的Graph API
- 使用ajax的javascript应用程序的身份验证模型
- 访问 Twitter API - 身份验证和骨干模型