第三方访问“下的附件;只读”;Gmail示波器

第三方访问“下的附件;只读”;Gmail示波器,gmail,gmail-api,attachment,scopes,Gmail,Gmail Api,Attachment,Scopes,在“查看您的电子邮件和设置”的“只读”范围下,意外地允许第三方应用程序访问我的Gmail 这是否使第三方能够直接从我的收件箱下载附件文件?是的,指定为https://www.googleapis.com/auth/gmail.readonly: 阅读所有资源及其元数据 拥有这些作用域的人员也可以访问您的附件,例如,在其驱动器上创建附件的副本 您可以使用一个简单的应用程序脚本代码轻松地对其进行测试。 例如,向自己发送带有附件的电子邮件,并运行以下代码: 函数myFunction(){ var b

在“查看您的电子邮件和设置”的“只读”范围下,意外地允许第三方应用程序访问我的Gmail

这是否使第三方能够直接从我的收件箱下载附件文件?

是的,指定为
https://www.googleapis.com/auth/gmail.readonly
: 阅读所有资源及其元数据

拥有这些作用域的人员也可以访问您的附件,例如,在其驱动器上创建附件的副本

您可以使用一个简单的应用程序脚本代码轻松地对其进行测试。

例如,向自己发送带有附件的电子邮件,并运行以下代码:

函数myFunction(){
var blob=GmailApp.getInboxThreads()[0]。getMessages()[0]。getAttachments()[0]。copyBlob();
DriveApp.createFile(blob.setName)(“复制的blob”);
}
  • 此代码将检索最新收件箱邮件的附件并将其保存在驱动器上

  • 如果继续
    文件->项目属性->范围
    ,您将看到脚本自动请求范围

    https://mail.google.com/

    https://www.googleapis.com/auth/drive

  • 但是现在,通过打开(
    视图->显示清单文件
    )和硬编码手动设置范围,例如:

  • 再次运行代码
  • 您将看到,即使使用
    https://www.googleapis.com/auth/gmail.readonly
    scope
是,指定为
https://www.googleapis.com/auth/gmail.readonly
: 阅读所有资源及其元数据

拥有这些作用域的人员也可以访问您的附件,例如,在其驱动器上创建附件的副本

您可以使用一个简单的应用程序脚本代码轻松地对其进行测试。

例如,向自己发送带有附件的电子邮件,并运行以下代码:

函数myFunction(){
var blob=GmailApp.getInboxThreads()[0]。getMessages()[0]。getAttachments()[0]。copyBlob();
DriveApp.createFile(blob.setName)(“复制的blob”);
}
  • 此代码将检索最新收件箱邮件的附件并将其保存在驱动器上

  • 如果继续
    文件->项目属性->范围
    ,您将看到脚本自动请求范围

    https://mail.google.com/

    https://www.googleapis.com/auth/drive

  • 但是现在,通过打开(
    视图->显示清单文件
    )和硬编码手动设置范围,例如:

  • 再次运行代码
  • 您将看到,即使使用
    https://www.googleapis.com/auth/gmail.readonly
    scope

谢谢!我看到您还添加了驱动器作用域,这是否与只读作用域一样必要?或者只使用只读作用域而不使用驱动器作用域也可以访问附件?要访问附件,您只需要gmail只读作用域。但是在我提供的示例中,用户正在将附件保存到Google驱动器上(只是一个示例)-这就是驱动器作用域的用途。谢谢!我看到您还添加了驱动器作用域,这是否与只读作用域一样必要?或者只使用只读作用域而不使用驱动器作用域也可以访问附件?要访问附件,您只需要gmail只读作用域。但是在我提供的示例中,用户正在将附件保存到Google驱动器上(只是一个示例)——这就是驱动器作用域的用途。
{  
  "oauthScopes": [
    "https://www.googleapis.com/auth/gmail.readonly",
    "https://www.googleapis.com/auth/drive"
  ],
  "timeZone": "Europe/Paris",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}