Class ZenodoClient
- java.lang.Object
-
- uk.org.esciencelab.researchobjectservice.deposition.ZenodoClient
-
public class ZenodoClient extends java.lang.Object
A very basic client to interact with Zenodo's REST API. Only a very limited set of operations are supported.
-
-
Constructor Summary
Constructors Constructor Description ZenodoClient(java.lang.String baseUrl, java.lang.String accessToken)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.fasterxml.jackson.databind.JsonNode
createDeposition()
Create a Zenodo Deposition with blank metadata.com.fasterxml.jackson.databind.JsonNode
createDeposition(com.fasterxml.jackson.databind.JsonNode metadata)
Create a Zenodo Deposition.com.fasterxml.jackson.databind.JsonNode
createDepositionFile(java.io.File file, int depositionId, java.lang.String filename)
Create a file within an existing Deposition.com.fasterxml.jackson.databind.JsonNode
publishDeposition(int depositionId)
Publish the specified Deposition, so it can be publicly accessed.
-
-
-
Constructor Detail
-
ZenodoClient
public ZenodoClient(java.lang.String baseUrl, java.lang.String accessToken)
- Parameters:
baseUrl
- The URL of the instance of Zenodo to interact with. Usually `https://zenodo.org` for production, or `https://sandbox.zenodo.org` for development.accessToken
- A valid OAuth access token. We are assuming all authentication has been done externally.
-
-
Method Detail
-
createDeposition
public com.fasterxml.jackson.databind.JsonNode createDeposition(com.fasterxml.jackson.databind.JsonNode metadata) throws java.io.IOException
Create a Zenodo Deposition.- Parameters:
metadata
- A JSON document containing required metadata (see: https://developers.zenodo.org/#representation )- Returns:
- A Zenodo deposition resource, as JSON.
- Throws:
java.io.IOException
-
createDeposition
public com.fasterxml.jackson.databind.JsonNode createDeposition() throws java.io.IOException
Create a Zenodo Deposition with blank metadata.- Returns:
- A Zenodo Deposition resource, as JSON.
- Throws:
java.io.IOException
-
createDepositionFile
public com.fasterxml.jackson.databind.JsonNode createDepositionFile(java.io.File file, int depositionId, java.lang.String filename) throws java.io.IOException
Create a file within an existing Deposition.- Parameters:
file
- The File to upload.depositionId
- The ID of the Deposition to upload to.filename
- The filename to use.- Returns:
- A Zenodo DepositionFile resource, as JSON.
- Throws:
java.io.IOException
-
publishDeposition
public com.fasterxml.jackson.databind.JsonNode publishDeposition(int depositionId) throws java.io.IOException
Publish the specified Deposition, so it can be publicly accessed.- Parameters:
depositionId
- The ID of the Deposition to publish.- Returns:
- The published Zenodo deposition resource, as JSON.
- Throws:
java.io.IOException
-
-