私は Backbone.js の初心者です。いくつかのチュートリアルを終了しました。
- http://backbonejs.org/docs/todos.html
- http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/
チュートリアル以外のアプリを自作したいのですが、バックボーン コレクションやモデルを使用してツイートのタイムラインを表示するシンプルなアプリを作成してみます。
これが私のコードです。(oauth.js と sha1.js は HTML に含まれています)
$(function(){
var Tweet = Backbone.Model.extend({
});
var Twitter = Backbone.Collection.extend({
model: Tweet,
initialize: function(api){
this.consumerKey = //consumerKey;
this.consumerSecret = //consumerSecret;
this.accessToken = //accessToken;
this.accessTokenSecret = //accessTokenSecret;
this.message = {
method: "GET",
action: api,
parameters: {
oauth_version: "1.0",
oauth_signature_method: "HMAC-SHA1",
oauth_consumer_key: this.consumerKey,
oauth_token: this.accessToken
}
};
},
getTimeline: function(){
var accessor = {
consumerSecret: this.consumerSecret,
tokenSecret: this.accessTokenSecret
};
OAuth.setTimestampAndNonce(this.message);
OAuth.SignatureMethod.sign(this.message, accessor);
this.url = OAuth.addToURL(this.message.action, this.message.parameters);
var options = {
success: function(data, res){
console.log(data);
console.log(res);
}
};
this.fetch(options);
},
sync: function(method, model, options){
options.timeout = 10000;
options.dataType = 'jsonp';
return Backbone.sync(method, model, options);
}
});
var twitter = new Twitter("https://api.twitter.com/1.1/statuses/home_timeline.json");
twitter.getTimeline();
});
HTML ページを更新すると、Chrome Developer Tool のコンソールに 401 認証メッセージが表示されます。Backbone.js なしでタイムラインを取得できました。
どう直せばいいのか教えてください。
ご親切にありがとうございました。