【发布时间】:2015-01-09 14:50:07
【问题描述】:
我正在尝试学习 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
请求方法:GET
状态码:400 错误请求
请求标头
:host:api.twitter.com
:method:GET
:path:/1.1/search/tweets.json?q=testresult_type=mixed&count=100&callback=jQuery19100829295557923615_1420770637354&_=1420770637355
:scheme:https
:version:HTTP/1.1
接受:/
接受编码:gzip、deflate、sdch
接受语言:en-US,en;q=0.8
推荐人:someSite
用户代理:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
【问题讨论】:
标签: javascript backbone.js twitter oauth