def newMediaObject(blogid, username, password, struct):
    """The blogid, username and password params are as in the Blogger API.

        The struct must contain at least three elements, name, type and bits.

            - name is a string, it may be used to determine the name of the file
              that stores the object, or to display it in a list of objects. It
              determines how the weblog refers to the object. If the name is the
              same as an existing object stored in the weblog, it may replace
              the existing object.

            - type is a string, it indicates the type of the object, it's a
              standard MIME type, like audio/mpeg or image/jpeg or
              video/quicktime.

            - bits is a base64-encoded binary value containing the content of
              the object.

        The struct may contain other elements, which may or may not be stored by
        the content management system.

        If newMediaObject fails, it throws an error. If it succeeds, it returns
        a struct, which must contain at least one element, url, which is the url
        through which the object can be accessed. It must be either an FTP or
        HTTP url.
        """
