我一直在寻找一种使用Google驱动器中的文件夹中的图像在网站上创建画廊的方法。我在这里分享的内容:https://drive.google.com/drive/u/0/folders/0Bwx-OwnNeIvwRldSVlU5SGN0dGs
里面是一个简单的HTML,还有一个图库文件夹,其中包含怪物卡车和可爱的动物的图片。我们的目标是创建一个画廊,人们可以在其中上传油井图像。怪物卡车和可爱的动物。

我一直在寻找实现这一目标的各种方法,这是我到目前为止发现的:

简而言之,我想要实现的是在我的G-Drive的公共共享文件夹中获取图像的ID。然后使用这些ID通过HTML中的JS创建图库。

我的HTML现在看起来像什么:

index.html

<h1>Cute Animals & <br>
Monster Vehicles</h1>

<div id="gallery">
<!-- all divs will append here -->
</div>


我对Drive SDK进行了研究:

我一直在这里使用“尝试”部分来弄清楚我需要做什么。 https://developers.google.com/drive/v2/reference/children/list#examples

请求结果:GET https://www.googleapis.com/drive/v2/files/0Bwx-OwnNeIvwRG5rNzZ6OURSNEk/children?fields=items%2Fid

回应结果:

200 OK
- SHOW HEADERS -
{
"items": [
{
 "id": "0Bwx-OwnNeIvwaFZXVzVmMl9ILUU"
},
{
 "id": "0Bwx-OwnNeIvwVk1DTEpnR0J6VHc"
},
{
 "id": "0Bwx-OwnNeIvwblBHLVEza0hxY2s"
},
{
 "id": "0Bwx-OwnNeIvwTkZZVXp0dDg4bXc"
},
{
 "id": "0Bwx-OwnNeIvwZTN1YzZrcm53eFE"
},
{
 "id": "0Bwx-OwnNeIvwYkZ5ZXpjWHhKcFk"
}]}


我想要脚本执行的操作:

script.js

var imageIds = <!-- ids from the the response --> ;
var x = imageIds.length;
for (var i = 0; i < x; i++) {
 <!-- create a <div> -->
}
//See below*


创建一个div:在for循环中,它将创建一个具有特定<div>"class",并且在该div中创建一个<img>,其中的"src="http://drive.google.com/uc?export=view&id=IMAGE-ID"从“响应”中获取“ IMAGE-ID”。 <div>然后将被添加到index.html中的<div id="gallery">

我想要的最终HTML看起来像:

index.html:

<h1>Cute Animals & <br>
Monster Vehicles</h1>

<div id="gallery">

   <div class="brick">
      <img src="http://drive.google.com/uc?export=view&id=0Bwx-OwnNeIvwaFZXVzVmMl9ILUU">
   </div>

   <div class="brick">
      <img src="http://drive.google.com/uc?export=view&id=0Bwx-OwnNeIvwVk1DTEpnR0J6VHc">
   </div>

   <div class="brick">
      <img src="http://drive.google.com/uc?export=view&id=0Bwx-OwnNeIvwblBHLVEza0hxY2s">
   </div>

 <!-- and so on ... -->

</div>


我现在不确定的是,该如何进行身份验证才能从G-Drive文件夹中获取图像ID。它可以通过Google云端硬盘本身及其托管链接进行托管,也可以通过Google Apps脚本以及在其中提供HTML的功能创建,这样可以简化身份验证,因为您可以直接从Drive获取所有内容。

我不明白为什么找不到付款,而且不付款。如果每个人都有机会从G-Drive文件夹中的图像创建图像库,那就太好了。

真的希望您对此有所帮助。非常感谢。

最佳答案

首先,关于代码本身,将是这样的:



document.addEventListener('DOMContentLoaded', function() {
  var response = {
    "items": [{
      "id": "0Bwx-OwnNeIvwaFZXVzVmMl9ILUU"
    }, {
      "id": "0Bwx-OwnNeIvwVk1DTEpnR0J6VHc"
    }, {
      "id": "0Bwx-OwnNeIvwblBHLVEza0hxY2s"
    }, {
      "id": "0Bwx-OwnNeIvwTkZZVXp0dDg4bXc"
    }, {
      "id": "0Bwx-OwnNeIvwZTN1YzZrcm53eFE"
    }, {
      "id": "0Bwx-OwnNeIvwYkZ5ZXpjWHhKcFk"
    }]
  };

  var imageIds = response.items.map(function(item) {
    return '<div class="brick"><img src="http://drive.google.com/uc?export=view&id=' + item.id + '"></div>';
  });

  document.getElementById('gallery').insertAdjacentHTML('afterbegin', imageIds.join(''));
});

<div id="gallery"></div>







关于授权,take a look at their documentation

关于javascript - Google云端硬盘文件夹中托管的图片库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32969684/

10-09 23:23
查看更多