Firebase - issues with managing multiple buckets on firebase storage

Hi, I am having problems managing multiple buckets on firebase storage. I have followed what documentation says but I am getting this error trying to download a file.

    var invoiceRef = []('[gs://my_bucket](gs://my_bucket)).ref(id +'.pdf');
    // Get the download URL
    invoiceRef.getDownloadURL().then(function(url) {
    // This can be downloaded directly:
        var xhr = new XMLHttpRequest();
        xhr.responseType = 'blob';
        xhr.onload = function(event) {
            var blob = xhr.response;
        };'GET', url);
        xhr.send();, '_blank').focus();
    }).catch(function(error) {

        // A full list of error codes is available at
        // [](
        switch (error.code) {
            case 'storage/object-not-found':
            // File doesn't exist

            case 'storage/unauthorized':
            // User doesn't have permission to access the object

            case 'storage/canceled':
            // User canceled the upload

            case 'storage/unknown':
            // Unknown error occurred, inspect the server response
Why is added `/o/` between the bucket and the file name?

So if you open url returned by invoiceRef.getDownloadURL().then(function(url) in your browser directly, does it work or not ?

  "error": {
    "code": 403,
    "message": "Permission denied. Could not perform this operation"