import com.flickr4java.flickr.Flickr;
import com.flickr4java.flickr.FlickrException;
import com.flickr4java.flickr.REST;
import com.flickr4java.flickr.auth.Auth;
import com.flickr4java.flickr.auth.AuthInterface;
import com.flickr4java.flickr.auth.Permission;
import com.flickr4java.flickr.util.IOUtilities;
import org.scribe.model.Token;
import org.scribe.model.Verifier;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.Scanner;
/**
* Demonstrates the authentication-process.
* <p>
*
* If you registered API keys, you find them with the shared secret at your <a href="http://www.flickr.com/services/api/registered_keys.gne">list of API
* keys</a>
*
* @author mago
* @version $Id: AuthExample.java,v 1.6 2009/08/25 19:37:45 x-mago Exp $
*/
public class AuthExample {
public static void auth() throws IOException, FlickrException {
Properties properties;
InputStream in = null;
try {
in = AuthExample.class.getResourceAsStream("/setup.properties");
properties = new Properties();
properties.load(in);
} finally {
IOUtilities.close(in);
}
Flickr flickr = new Flickr(properties.getProperty("apiKey"), properties.getProperty("secret"), new REST());
Flickr.debugStream = false;
AuthInterface authInterface = flickr.getAuthInterface();
Scanner scanner = new Scanner(System.in);
Token token = authInterface.getRequestToken();
System.out.println("token: " + token);
String url = authInterface.getAuthorizationUrl(token, Permission.DELETE);
System.out.println("Follow this URL to authorise yourself on Flickr");
System.out.println(url);
System.out.println("Paste in the token it gives you:");
System.out.print(">>");
String tokenKey = scanner.nextLine();
scanner.close();
Token requestToken = authInterface.getAccessToken(token, new Verifier(tokenKey));
System.out.println("Authentication success");
Auth auth = authInterface.checkToken(requestToken);
// This token can be used until the user revokes it.
System.out.println("Token: " + requestToken.getToken());
System.out.println("Secret: " + requestToken.getSecret());
System.out.println("nsid: " + auth.getUser().getId());
System.out.println("Realname: " + auth.getUser().getRealName());
System.out.println("Username: " + auth.getUser().getUsername());
System.out.println("Permission: " + auth.getPermission().getType());
}
public static void main(String[] args) {
try {
AuthExample.auth();
} catch (Exception e) {
e.printStackTrace();
}
System.exit(0);
}
}