0

大家好,我正在使用发送到云端硬盘应用程序脚本。

现在,如果我收到的电子邮件包含作为附件的图像,则该图像存储在我指定的文件夹中,但我尝试打开它时看不到预览。

相反,如果我在 Google Drive 中手动上传图像,我可以看到预览。

我注意到从应用程序脚本创建的图像的 url 的 id 比手动上传的其他图像长。

我看不到的图像 ID 示例(由应用程序脚本创建):

https://docs.google.com/a/xxxx.com/file/d/0B1G2PrcwzsrzMS02MGEzNjBkOS01YjAyLTRhYTktODFkNS1kNzU5NmIzYWEyNDE/edit

我可以看到的图像 ID 示例(手动上传)

https://docs.google.com/a/xxxx.com/file/d/0B1G2PrcwzsrzMG5k​​VDZuUGlqRWc/edit

我怎样才能解决这个问题修改脚本?

先感谢您

var threads = GmailApp.getUserLabelByName(gLabel).getThreads(0, 5);

  var folder  = DocsList.getFolder(gFolder);

  for (var x=0; x<threads.length; x++) {

    var messages = threads[x].getMessages();

    for (var y=0; y<messages.length; y++) {

      var att = messages[y].getAttachments();


      for (var z=0; z<att.length; z++) {
        try {

        Logger.log(att[z].getContentType());

          var file = folder.createFile(att[z]);
          Utilities.sleep(1000);
        }
        catch (e) {
          GmailApp.sendEmail(
            Session.getActiveUser().getUserLoginId(), 
            "Error: " + e.message
          );
        }
      }       
    }    
    GmailApp.getUserLabelByName(gLabel)
      .removeFromThread(threads[x]);
  }
4

1 回答 1

1

我认为这可能与问题1239有关

我可以使用 createFile 和 copy 方法在 DocList 中重现它:

  //Using uploaded jpeg as source
    var doc =  DocsList.getFileById(id)
        DocsList.copy(doc,"test1");

副本将加载,没有可用的预览

于 2012-06-23T13:29:41.507 回答