Flickr4Java
Introduction
Note: This API has been forked from FlickrJ at Sourceforge.
This is a Java API which wraps the REST-based Flickr API.
Comments and questions should be raised on the GitHub Repo issue tracker.
Usage
To use the API just construct an instance of the class com.flickr4java.flickr.test.Flickr
and request the interfaces which you need to work with.
For example, to send a test ping to the Flickr service:
String apiKey = "YOUR_API_KEY";
String sharedSecret = "YOUR_SHARED_SECRET";
Flickr f = new Flickr(apiKey, sharedSecret, new REST());
TestInterface testInterface = f.getTestInterface();
Collection results = testInterface.echo(Collections.EMPTY_MAP);
See /src/examples/java
for more.
Setting User-Agent
Since version 3.0.7 Flickr4Java passes the following User-Agent header in its requests
Flickr4Java/3.x
If you want to override that and set your own you can pass in your own value. Note that no validation is performed on the provided string.
REST transport = new REST();
transport.setUserAgent("MyUserAgent/0.1");
Flickr f = new Flickr(apiKey, sharedSecret, transport);
Requirements
This API has been tested and built with JDK 1.8.
An API key is required to use this API. You can request one on Flickr.
Required libraries
- scribejava-api (v8.3.3 onwards) (required for the OAuth functionality)
- SLF4J (runtime dependency for logging)
See here for details on how to choose and configure an SLF4J logging library.
Gradle
compile 'com.flickr4java:flickr4java:3.0.8'
Maven
<dependency>
<groupId>com.flickr4java</groupId>
<artifactId>flickr4java</artifactId>
<version>3.0.8</version>
</dependency>
Flickr4Java is available on Maven Central so the above settings should be all you need.
Testing
The tests now run against captured responses from Flickr (see src/test/resources/payloads
) and don't contact the Flickr API at all.
This means there is no longer any need to create a test account and populate a properties file.
Functional testing against the Flickr API.
This is the setup to run the tests against the Flickr API.
Not for the faint-hearted. Only do this to test large refactorings etc.
Create up a setup.properties
file (see src/test/resources/setup.properties.example
) with details of a real account on Flickr (I recommend setting up a test account for this purpose).
Run tests as follows.
mvn -DsetupPropertiesPath=/path/to/your/setup.properties clean install
Expect lots of failures and general flakiness as data has changed on Flickr and the tests or data need updating.
Dependency checker
OWASP dependency-check is configured in the pom.xml.
To run a dependency check
mvn -U clean verify -P dependency-check