I'm making an authenticated call to access photos through Flickr API. But I am only getting my public photos but not any private photos.
Given below is the code I'm using,
Flickr f; RequestContext requestContext; String frob = ""; String token = "";
DocumentBuilder xmlParser = null;
public void getImages() throws ParserConfigurationException, IOException, SAXException, FlickrException, URISyntaxException, NoSuchAlgorithmException {
DocumentBuilderFactory dcb = DocumentBuilderFactory.newInstance(); try { this.xmlParser = dcb.newDocumentBuilder(); } catch (ParserConfigurationException ex) { ex.printStackTrace(); }
f = new Flickr("199d038ad88f6c6c377a4ab2341fb60f","4583b2386d3d6439",new REST()) ; Flickr.debugStream = false; requestContext = RequestContext.getRequestContext(); AuthInterface authInterface = f.getAuthInterface(); //PeopleInterface peopleInterface = f.getPeopleInterface();
try { frob = authInterface.getFrob(); } catch (FlickrException e) { e.printStackTrace(); } System.out.println("frob: " + frob);
java.net.URL url =authInterface.buildAuthenticationUrl(Permission.READ, frob);
System.out.println(url.toExternalForm());
Desktop desktop = Desktop.getDesktop(); desktop.browse(url.toURI());
// Get the response Auth auth = null ; String aLine = "";
while(aLine.equals("")) {
java.io.DataInputStream in = new java.io.DataInputStream(System.in); aLine = in.readLine();
}
auth =authInterface.getToken(frob); System.out.println("auth = "+auth); requestContext = RequestContext.getRequestContext(); requestContext.setAuth(auth); f.setAuth(auth);
UrlsInterface urlsInterface = f.getUrlsInterface(); PhotosInterface photosInterface = f.getPhotosInterface();
SearchParameters searchParams=new SearchParameters(); searchParams.setSort(SearchParameters.INTERESTINGNESS_DESC);
//Execute search with entered tags
searchParams.setUserId(auth.getUser().getId());
PhotoList photoList=photosInterface.search(searchParams, 10,1);
if(photoList!=null){
//Get search result and check the size of photo result
for(int i=0;i<photoList.size();i++){
Photo photo=(Photo)photoList.get(i);
System.out.println(photo.getSmallSquareUrl());
}
}