Class 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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