【问题标题】:JSON list of files in Google DriveGoogle Drive 中的 JSON 文件列表
【发布时间】:2014-01-11 14:34:14
【问题描述】:

我有一个代码 sn-p,它获取 PICASA 公共相册中的图片列表并构造一个用于滑块的列表。简化后的代码如下所示:

var usrID = "555555555555555555555";
var albID = "5555555555555555555";
$.getJSON(
"https://picasaweb.google.com/data/feed/base/user/"+usrID+"/albumid/"+albID+"?alt=json&kind=photo&hl=en_US&callback=?",
function(data) {         
  var picAlbumLst = '<ul id="slider">';
  $.each(data.feed.entry, function(i, element) {
    var picUrl = element["media$group"]["media$thumbnail"][0].url;
    picAlbumLst += ( 
    '<li style="text-align:center">'+
    '  <img src="'+picUrl+'"/>'+
    '</li>'
    );
  });
  picAlbumLst += "</ul>\n";
  ...
});

我正在考虑将我的图片从 Picasa 移动到 Google 云端硬盘。有没有办法发出类似于我的旧 PICASA 的请求,以便从 Google Drive(匿名用户)获取 URL?语法越接近,端口就越容易(我到处都有)。

【问题讨论】:

    标签: json google-drive-api


    【解决方案1】:

    和以前一样,我发布了一个问题,因为我懒得更努力地工作。但我最终设法解决了它。所以,这里是 Google Drive 解决方案:

    1/ 执行所有“OAuth 2.0”操作以获得对文件夹 [IMAGE_FOLDER_ID] 的访问权限。即使文件夹是公开的,应用程序也必须经过身份验证/授权。

    2/ 不要忘记为 Google Drive 服务加载 API

    gapi.client.load('drive', 'v2', makeRequestCB)

    ...这是检索文件 URL 的循环

    function makeRequestCB() {
      gapi.client.drive.files.list({
        'q': '"[IMAGE_FOLDER_ID]" in parents',
        'fields' : 'items/id'      
      }).execute(function(resp) {
        var picAlbumLst = '<ul id="slider">';
        for (i=0; i<resp.items.length; i++) {
          var id = resp.items[i].id;
          picAlbumLst += ('<li><img src="https://docs.google.com/uc?id='+id+'"/></li>');
        }
        picAlbumLst += "</ul>\n";
      });
    }
    

    【讨论】:

    • 所以没有使用 oAuth 进行身份验证就无法做到这一点。从没有 oAuth 的公共文件夹中获取数据?从客户端..仅使用 API 密钥,它不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    相关资源
    最近更新 更多