如何将 Google Drive 文件夹添加到“我的云端硬盘"部分给其他用户 [英] How to add a Google Drive folder to "My Drive" section to other users

查看:49
本文介绍了如何将 Google Drive 文件夹添加到“我的云端硬盘"部分给其他用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个属于我的 Google 云端硬盘分层文件夹和子文件夹结构,我想将它自动添加到我们 Google Apps for Business 域中所有用户的我的云端硬盘"部分.

I have a Google Drive herarchichal folder and subfolders structure owned by me and I want to add it to the "My Drive" section in all users in our Google Apps for Business domain automatically.

我该怎么做?我听说过 Google Apps Script 和 AddToFolder 函数.拜托,你能帮帮我吗?

How can I do this? I heard about Google Apps Script and AddToFolder function. Please, can you help me?

提前致谢.

推荐答案

现在我已经使用Google Documents List API"实现了这个功能.我知道这个 API 已被弃用,但现在它可以工作了.

Right now I've implemented this feature using "Google Documents List API". I know that this API is deprecated but for now it works.

(代码未完结)

  (...)

  //var user = Session.getActiveUser().getUserLoginId()  OR
  var user = e.parameter.user_email 

  var TB_folder = e.parameter.TB_folder 
  var TB_sub_folder = e.parameter.TB_sub_folder 


  var base = 'https://docs.google.com/feeds/';
  var fetchArgs = googleOAuth_('docs', base);

  fetchArgs.method = 'POST';

  var rawXml =  "<?xml version='1.0' encoding='UTF-8'?>" + "<entry xmlns='http://www.w3.org/2005/Atom'>"
         +  "<category scheme='http://schemas.google.com/g/2005#kind' "
         +  "term='http://schemas.google.com/docs/2007#folder'/>"
         +  "<title>" + TB_folder +"</title>"
         +  "</entry>";

  fetchArgs.payload = rawXml;
  fetchArgs.contentType = 'application/atom+xml';
  fetchArgs.contentLength = 245;

 // POST a https://docs.google.com/feeds/default/private/full

 var url = base + user + '/private/full/?v=3&alt=json';
 var content = UrlFetchApp.fetch(url, fetchArgs).getContentText()
 var json = Utilities.jsonParse(content)


 var folder = json.entry.gd$resourceId.$t // -> I get "folder:folder_id"
 var id_folder = folder.split(':')[1]

 var folder_created_by = json.entry.gd$lastModifiedBy.email.$t
 var folder_owner      = json.entry.author['0'].email.$t

(...)

现在,您有了文件夹 ID,可以使用它来创建另一个子文件夹或文件...

Now, you have the folder ID and can use it to create another subfolder or a file...

你需要这个功能:

  //Google oAuth
  function googleOAuth_(name,scope) {
    var oAuthConfig = UrlFetchApp.addOAuthService(name);
    oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
    oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
    oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");

    oAuthConfig.setConsumerKey("XXXXXXXX");
    oAuthConfig.setConsumerSecret("XXXXXXXXXXXXXXXXXXX");

    //oAuthConfig.setConsumerKey("anonymous");
    //oAuthConfig.setConsumerSecret("anonymous");

    return {oAuthServiceName:name, oAuthUseToken:"always"};
  }     

<小时>

您可以创建文件或将用户添加到文件(添加一个作者).

现在我想用Drive API"来实现这个功能.如果有人已经这样做了,得到一些帮助会很高兴.

Now I want to implement this functionality with " Drive API " . If someone has done it would be nice to get some help.

塞尔吉

这篇关于如何将 Google Drive 文件夹添加到“我的云端硬盘"部分给其他用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆