-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathflickrapi.js
More file actions
65 lines (56 loc) · 2.56 KB
/
flickrapi.js
File metadata and controls
65 lines (56 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
var Request= require("./request").Request,
Auth= require("./auth").Auth,
Blogs= require("./blogs").Blogs,
People= require("./people").People,
Photos= require("./photos").Photos,
Collections= require("./collections").Collections,
Photosets= require("./photosets").Photosets,
Contacts= require("./contacts").Contacts,
Feeds= require("./feeds").Feeds,
Urls= require("./urls").Urls;
var FlickrAPI= function FlickrAPI(api_key, shared_secret, auth_token) {
this._configure(api_key, shared_secret, auth_token);
};
FlickrAPI.prototype._configure= function(api_key, shared_secret, auth_token) {
this.api_key= api_key;
this._request= new Request(api_key, shared_secret, auth_token);
this.people= new People(this._request);
this.photos= new Photos(this._request);
this.collections= new Collections(this._request);
this.photosets= new Photosets(this._request);
this.auth= new Auth(this._request);
this.blogs= new Blogs(this._request);
this.contacts= new Contacts(this._request);
this.urls= new Urls(this._request);
this._feedRequest= new Request(api_key, shared_secret, auth_token, true);
this.feeds= new Feeds(this._feedRequest);
};
FlickrAPI.prototype.setAuthenticationToken= function(auth_token) {
this._request.setAuthenticationToken(auth_token);
this._feedRequest.setAuthenticationToken(auth_token);
};
FlickrAPI.prototype.getLoginUrl= function(permissions, frob, callback) {
if( frob ) {
var sig= this._request.generateSignature(this.shared_secret, {
"api_key": this.api_key,
"perms": permissions,
"frob":frob
});
callback(null, "http://flickr.com/services/auth/?api_key="+this.api_key+"&perms="+permissions+"&frob="+frob+"&api_sig="+ sig, frob);
} else {
var self= this;
this.auth.getFrob(function(err, frob) {
if( err ) {
callback(err);
} else {
var sig= self._request.generateSignature(self.shared_secret, {
"api_key": self.api_key,
"perms": permissions,
"frob":frob
});
callback(null, "http://flickr.com/services/auth/?api_key="+self.api_key+"&perms="+permissions+"&frob="+frob+"&api_sig="+ sig, frob)
}
});
}
};
exports.FlickrAPI = FlickrAPI;