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 = [firebase.app](http://firebase.app)().storage('[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;
        };
        xhr.open('GET', url);
        xhr.send();
        window.open(url, '_blank').focus();
    }).catch(function(error) {

        // A full list of error codes is available at
        // [https://firebase.google.com/docs/storage/web/handle-errors](https://firebase.google.com/docs/storage/web/handle-errors)
        switch (error.code) {
            case 'storage/object-not-found':
            // File doesn't exist
            break;

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

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

            case 'storage/unknown':
            // Unknown error occurred, inspect the server response
            break;
        }
    });
}```
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"
  }
}```