flickr auth test

by gbos

JavaScript

/******************************************

  Flickr Javascript Library, alpha 1
  
  Copyright (c) 2008 Kyle Meyer (kylemeyer.com)
  Dual licensed under the MIT (MIT-LICENSE.txt)
  and GPL (GPL-LICENSE.txt) licenses.
  Last updated November, 2008

******************************************/

// Your Flickr API key goes here.
// Don't have one? Get one at http://www.flickr.com/services/api/keys/apply/
var api = "4dd64112d165650617a8d4a69e3ec6ff";


var Flickr = {
	base_url: '',
	api_key: '',
	here: '',
	size: '',
	quantity: 0,
	descriptions: false,
	titles: false,
	
	init: function() {
		this.api_key = api;
		this.base_url = "https://api.flickr.com/services/rest/?method=";
		this.load();
	},
	
	load: function() {		
		$.getJSON(this.request("flickr.test.echo"),
			function(data){
				if (data.stat == "ok") {
					return true;
				} else {
					alert("Invalid Flickr API key\n\nDid you enter your key in Flickr.js?");
				}
			}
		);
	},
	
	request: function(method, parameters) {
		var params = '';
		if (parameters) {
			for (param in parameters) {
				switch(param) {
					case "username":
						params += "&" + "user_id=" + this.username(parameters[param]);
						break;
					case "size":
						switch(parameters[param]) {
							case "small":
								this.size = "t";
								break;
							case "medium":
								this.size = "";
								break;
							case "large":
								this.size = "b";
								break;
							case "thumbnail":
								this.size = "s";
								break;
							case "original":
								params += "&extras=original_format";
								this.size = "o";
								break;
						}
						break;
					case "quantity":
						this.quantity = parameters[param];
						break;
					case "target":
						this.here = parameters[param];
						break;
					case "descriptions":
						this.descriptions = parameters[param];
						break;
					case "titles":
						this.titles = parameters[param];
						break;
					default:
						params += "&" + param + "=" +...