Publishing a File for a Specific Period

To publish a file for a specific period, use the publishBodyExpiresIn() method as shown in the following sample code. This code publishes a file for one hour from now. Specify a period in seconds.

  • // Assume that the KiiObject "object" has been instantiated.
    
    // Set the lifetime of the URL in seconds.
    var expiresIn = 60 * 60;
    
    // Publish the KiiObject.
    object.publishBodyExpiresIn(expiresIn).then(
      function(params) {
        var theObject = params[0];
        var publishedUrl = params[1];
        // Do something.
      }
    ).catch(
      function(error) {
        var theObject = error.target;
        var errorString = error.message;
        // Handle the error.
      }
    );
  • // Assume that the KiiObject "object" has been instantiated.
    
    // Set the lifetime of the URL in seconds.
    var expiresIn = 60 * 60;
    
    // Publish the KiiObject.
    object.publishBodyExpiresIn(expiresIn, {
      success: function(theObject, publishedUrl) {
        // Do something.
      },
      failure: function(theObject, errorString) {
        // Handle the error.
      }
    });

The basic steps are as follows:

  1. Upload the file as an object body.
  2. Publish the file with the publishBodyExpiresIn() method.

Note that a user needs to be permitted the KiiACLObjectActionRead action on a KiiObject to publish its object body (Once published, anyone can access the object body with the URL). See Setting a KiiObject's ACL for more information about the access rights.