Я сделал это с помощью gapi и jQuery.
В моем случае объект является общедоступным. (Пульбическая ссылка в браузере хранения должна быть проверена). В случае, если вы не хотите, чтобы ваш объект был общедоступным, используйте $ .post вместо $ .get и обеспечивайте оценку_token как заголовок точно так же, как это делается в других ответах.
Storage.getObjectInfo
извлекает метаданные объекта. Storage.getObjectMedia
извлекает содержимое объекта.
var Storage = function() {};
Storage.bucket = 'mybucket';
Storage.object = 'myfolder/myobject'; //object name, got by gapi.objects.list
Storage.getObjectMedia = function(object, callback) {
function loadObject(objectInfo) {
var mediaLink = objectInfo.mediaLink;
$.get(mediaLink, function(data) { //data is actually object content
console.log(data);
callback(data);
});
}
Storage.getObjectInfo(object, loadObject);
};
Storage.getObjectInfo = function(object, callback) {
var request = gapi.client.storage.objects.get({
'bucket' : Storage.bucket,
'object' : Storage.object
});
request.execute(function(resp) {
console.log(resp);
callback(resp);
});
};
Это также относительно редкий случай, когда нам нужно загрузить содержимое объекта. В большинстве случаев объекты, хранящиеся в Хранилище, являются медиафайлами, такими как изображения и звуки, и тогда все, что нам нужно, это на самом деле mediaLink
, которое должно быть вставлено в значение атрибута src
соответствующего элемента dom (img
или audio
).