目标是从Google Cloud Bucket获取数据(基本上是电影列表)并在我的HTML页面中显示。
前端将是一个Angular项目,它将对谷歌云桶进行REST API调用以获取数据。我已经在我的桶中上传了JSON文件(带有电影列表)。
所以当试图调用REST API时
var url = 'https://www.googleapis.com/storage/v1/b/movie-database/o/document.json';
$scope.datas = $http.get(url).then(function (resp) {
console.log('resp',resp);
var data= resp.data.result;
});
这给出了响应,基本上它给出了元数据
{
"kind": "storage#object",
"id": "movie-database/document.json/1499855046872299",
"selfLink": "https://www.googleapis.com/storage/v1/b/movie-database/o/document.json",
"name": "document.json",
"bucket": "movie-database",
"generation": "1499855046872299",
"metageneration": "2",
"contentType": "binary/octet-stream",
"timeCreated": "2017-07-12T10:24:06.839Z",
"updated": "2017-07-12T10:52:17.553Z",
"storageClass": "REGIONAL",
"timeStorageClassUpdated": "2017-07-12T10:24:06.839Z",
"size": "630",
"md5Hash": "OCQlXAqft2KWcvQh4f3B9Q==",
"mediaLink": "https://www.googleapis.com/download/storage/v1/b/movie-database/o/document.json?generation=1499855046872299&alt=media",
"crc32c": "nG5vPg==",
"etag": "COuZorrDg9UCEAI="
}
那么将json数据作为响应的方法是什么?
注意元数据上的“mediaLink”属性?这就是你所需要的。模式将:
`https://www.googleapis.com/download/storage/v1/b/movie-database/o/document.jso?alt=media`
或者,您可以使用该模式:
`https://storage.googleapis.com/movie-database/document.json`
第二个更短,但使用JavaScript需要在对象上设置CORS策略。第一种模式无论如何都会有效。