Class DriveApp

برنامه درایو

به اسکریپت‌ها اجازه می‌دهد فایل‌ها و پوشه‌ها را در Google Drive ایجاد، پیدا و تغییر دهند. برای دسترسی به فایل‌ها یا پوشه‌ها در درایوهای مشترک، از سرویس Drive پیشرفته استفاده کنید.

// Logs the name of every file in the user's Drive.
const files = DriveApp.getFiles();
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

خواص

اموال تایپ کنید توضیحات
Access Access فهرستی که نشان‌دهنده دسته‌هایی از کاربرانی است که می‌توانند به یک فایل یا پوشه دسترسی داشته باشند، علاوه بر هر کاربر فردی که صراحتاً به آنها دسترسی داده شده است.
Permission Permission شماره ای که نشان دهنده مجوزهای اعطا شده به کاربرانی است که می توانند به یک فایل یا پوشه دسترسی داشته باشند، علاوه بر هر کاربر فردی که صراحتاً به آنها دسترسی داده شده است.

روش ها

روش نوع برگشت شرح مختصر
continue File Iterator(continuationToken) File Iterator تکرار یک فایل را با استفاده از یک نشانه ادامه از یک تکرار کننده قبلی از سر می گیرد.
continue Folder Iterator(continuationToken) Folder Iterator تکرار یک پوشه را با استفاده از یک نشانه ادامه از یک تکرار کننده قبلی از سر می گیرد.
create File(blob) File یک فایل در ریشه درایو کاربر از یک Blob داده دلخواه ایجاد می کند.
create File(name, content) File یک فایل متنی در ریشه درایو کاربر با نام و محتوای داده شده ایجاد می کند.
create File(name, content, mimeType) File فایلی با نام، محتویات و نوع MIME داده شده در ریشه درایو کاربر ایجاد می کند.
create Folder(name) Folder پوشه ای در ریشه درایو کاربر با نام داده شده ایجاد می کند.
create Shortcut(targetId) File یک میانبر برای شناسه مورد ارائه شده Drive ایجاد می کند و آن را برمی گرداند.
create Shortcut For Target Id And Resource Key(targetId, targetResourceKey) File یک میانبر برای شناسه مورد و کلید منبع ارائه شده Drive ایجاد می کند و آن را برمی گرداند.
enforce Single Parent(value) void اعمال رفتار SingleParent را برای همه تماس‌هایی که والدین مورد را تحت تأثیر قرار می‌دهند، فعال یا غیرفعال می‌کند.
get File By Id(id) File فایل را با شناسه داده شده دریافت می کند.
get File By Id And Resource Key(id, resourceKey) File فایل را با شناسه و کلید منبع داده شده دریافت می کند.
get Files() File Iterator مجموعه ای از تمام فایل ها را در Drive کاربر دریافت می کند.
get Files By Name(name) File Iterator مجموعه‌ای از تمام فایل‌های درایو کاربر را دریافت می‌کند که این نام را دارند.
get Files By Type(mimeType) File Iterator مجموعه ای از تمام فایل های درایو کاربر را دریافت می کند که دارای نوع MIME هستند.
get Folder By Id(id) Folder پوشه با شناسه داده شده را دریافت می کند.
get Folder By Id And Resource Key(id, resourceKey) Folder پوشه با شناسه و کلید منبع داده شده را دریافت می کند.
get Folders() Folder Iterator مجموعه ای از تمام پوشه ها را در Drive کاربر دریافت می کند.
get Folders By Name(name) Folder Iterator مجموعه‌ای از تمام پوشه‌های درایو کاربر را که نام مشخص شده دارند، دریافت می‌کند.
get Root Folder() Folder پوشه را در ریشه درایو کاربر دریافت می کند.
get Storage Limit() Integer تعداد بایت هایی را که کاربر مجاز است در Drive ذخیره کند، دریافت می کند.
get Storage Used() Integer تعداد بایت هایی را که کاربر در حال حاضر در Drive ذخیره می کند دریافت می کند.
get Trashed Files() File Iterator مجموعه ای از تمام فایل های موجود در سطل زباله درایو کاربر را دریافت می کند.
get Trashed Folders() Folder Iterator مجموعه ای از تمام پوشه های موجود در سطل زباله درایو کاربر را دریافت می کند.
search Files(params) File Iterator مجموعه ای از همه فایل ها را در Drive کاربر دریافت می کند که با معیارهای جستجوی داده شده مطابقت دارند.
search Folders(params) Folder Iterator مجموعه ای از تمام پوشه ها را در Drive کاربر دریافت می کند که با معیارهای جستجوی داده شده مطابقت دارند.

مستندات دقیق

continue File Iterator(continuationToken)

تکرار یک فایل را با استفاده از یک نشانه ادامه از یک تکرار کننده قبلی از سر می گیرد. این روش در صورتی مفید است که پردازش یک تکرار کننده در یک اجرا از حداکثر زمان اجرا بیشتر شود. توکن‌های ادامه معمولاً برای یک هفته معتبر هستند.

// Continues getting a list of all 'Untitled document' files in the user's
// Drive. Creates a file iterator named 'previousIterator'.
const previousIterator = DriveApp.getFilesByName('Untitled document');

// Gets continuation token from the previous file iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous file
// iterator.
const newIterator = DriveApp.continueFileIterator(continuationToken);

// Resumes the file iteration using a continuation token from 'firstIterator'
// and logs the file name.
if (newIterator.hasNext()) {
  const file = newIterator.next();
  console.log(file.getName());
}

پارامترها

نام تایپ کنید توضیحات
continuation Token String یک نشانه ادامه از یک تکرار کننده فایل قبلی.

بازگشت

File Iterator - مجموعه ای از فایل هایی که در تکرار کننده قبلی با تولید توکن ادامه باقی می مانند.


continue Folder Iterator(continuationToken)

تکرار یک پوشه را با استفاده از یک نشانه ادامه از یک تکرار کننده قبلی از سر می گیرد. این روش در صورتی مفید است که پردازش یک تکرار کننده در یک اجرا از حداکثر زمان اجرا بیشتر شود. توکن‌های ادامه معمولاً یک هفته معتبر هستند.

// Continues getting a list of all folders in user's Drive.
// Creates a folder iterator named 'previousIterator'.
const previousIterator = DriveApp.getFolders();

// Gets continuation token from the previous folder iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous folder
// iterator.
const newIterator = DriveApp.continueFolderIterator(continuationToken);

// Resumes the folder iteration using a continuation token from the previous
// iterator and logs the folder name.
if (newIterator.hasNext()) {
  const folder = newIterator.next();
  console.log(folder.getName());
}

پارامترها

نام تایپ کنید توضیحات
continuation Token String یک نشانه ادامه از یک تکرارکننده پوشه قبلی.

بازگشت

Folder Iterator - مجموعه ای از پوشه ها که در تکرار کننده قبلی با تولید توکن Continuation باقی می مانند.


create File(blob)

یک فایل در ریشه درایو کاربر از یک Blob داده دلخواه ایجاد می کند.

پارامترها

نام تایپ کنید توضیحات
blob Blob Source داده های فایل جدید

بازگشت

File - فایل جدید.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

create File(name, content)

یک فایل متنی در ریشه درایو کاربر با نام و محتوای داده شده ایجاد می کند. در صورتی که content بزرگتر از 50 مگابایت باشد، یک استثنا ایجاد می کند.

// Create a text file with the content "Hello, world!"
DriveApp.createFile('New Text File', 'Hello, world!');

پارامترها

نام تایپ کنید توضیحات
name String نام فایل جدید.
content String محتوای فایل جدید

بازگشت

File - فایل جدید.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

create File(name, content, mimeType)

فایلی با نام، محتویات و نوع MIME داده شده در ریشه درایو کاربر ایجاد می کند. در صورتی که content بزرگتر از 10 مگابایت باشد، یک استثنا ایجاد می کند.

// Create an HTML file with the content "Hello, world!"
DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

پارامترها

نام تایپ کنید توضیحات
name String نام فایل جدید.
content String محتوای فایل جدید
mime Type String نوع MIME فایل جدید.

بازگشت

File - فایل جدید.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

create Folder(name)

پوشه ای در ریشه درایو کاربر با نام داده شده ایجاد می کند.

پارامترها

نام تایپ کنید توضیحات
name String نام پوشه جدید.

بازگشت

Folder - پوشه جدید.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

create Shortcut(targetId)

یک میانبر برای شناسه مورد ارائه شده Drive ایجاد می کند و آن را برمی گرداند.

پارامترها

نام تایپ کنید توضیحات
target Id String شناسه فایل فایل یا پوشه مورد نظر.

بازگشت

File - میانبر جدید.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

create Shortcut For Target Id And Resource Key(targetId, targetResourceKey)

یک میانبر برای شناسه مورد و کلید منبع ارائه شده Drive ایجاد می کند و آن را برمی گرداند. کلید منبع یک پارامتر اضافی است که باید برای دسترسی به فایل یا پوشه مورد نظر که با استفاده از یک پیوند به اشتراک گذاشته شده است، ارسال شود.

// Creates shortcuts for all folders in the user's drive that have a specific
// name.
// TODO(developer): Replace 'Test-Folder' with a valid folder name in your
// drive.
const folders = DriveApp.getFoldersByName('Test-Folder');

// Iterates through all folders named 'Test-Folder'.
while (folders.hasNext()) {
  const folder = folders.next();

  // Creates a shortcut to the provided Drive item ID and resource key, and
  // returns it.
  DriveApp.createShortcutForTargetIdAndResourceKey(
      folder.getId(),
      folder.getResourceKey(),
  );
}

پارامترها

نام تایپ کنید توضیحات
target Id String شناسه فایل یا پوشه مورد نظر.
target Resource Key String کلید منبع فایل یا پوشه مورد نظر.

بازگشت

File - میانبر جدید.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

enforce Single Parent(value)

اعمال رفتار SingleParent را برای همه تماس‌هایی که والدین مورد را تحت تأثیر قرار می‌دهند، فعال یا غیرفعال می‌کند.

برای جزئیات بیشتر به وبلاگ ساده سازی ساختار پوشه و به اشتراک گذاری مدل های Google Drive مراجعه کنید.

// Enables enforceSingleParent behavior for all calls affecting item parents.
DriveApp.enforceSingleParent(true);

پارامترها

نام تایپ کنید توضیحات
value Boolean وضعیت جدید پرچم enforceSingleParent.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get File By Id(id)

فایل را با شناسه داده شده دریافت می کند. در صورتی که فایل وجود نداشته باشد یا کاربر اجازه دسترسی به آن را نداشته باشد، یک استثنای اسکریپت را ایجاد می کند.

// Gets a list of all files in Google Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');

if (files.hasNext()) {
  // Gets the ID of each file in the list.
  const fileId = files.next().getId();

  // Gets the file name using its ID and logs it to the console.
  console.log(DriveApp.getFileById(fileId).getName());
}

پارامترها

نام تایپ کنید توضیحات
id String شناسه فایل

بازگشت

File - فایل با شناسه داده شده.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get File By Id And Resource Key(id, resourceKey)

فایل را با شناسه و کلید منبع داده شده دریافت می کند. کلیدهای منبع یک پارامتر اضافی هستند که برای دسترسی به فایل هایی که با استفاده از یک پیوند به اشتراک گذاشته شده اند باید منتقل شوند.

در صورتی که فایل وجود نداشته باشد یا کاربر اجازه دسترسی به آن را نداشته باشد، یک استثنای اسکریپت را ایجاد می کند.

// Gets a list of all files in Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');
if (files.hasNext()) {
  // Gets the first file in the list.
  const file = files.next();

  // Gets the ID and resource key.
  const key = file.getResourceKey();
  const id = file.getId();

  // Logs the file name to the console using its ID and resource key.
  console.log(DriveApp.getFileByIdAndResourceKey(id, key).getName());
}

پارامترها

نام تایپ کنید توضیحات
id String شناسه فایل
resource Key String کلید منبع پوشه.

بازگشت

File - فایل با شناسه داده شده.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Files()

مجموعه ای از تمام فایل ها را در Drive کاربر دریافت می کند.

بازگشت

File Iterator - مجموعه ای از تمام فایل ها در Drive کاربر.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Files By Name(name)

مجموعه‌ای از تمام فایل‌های درایو کاربر را دریافت می‌کند که این نام را دارند.

پارامترها

نام تایپ کنید توضیحات
name String نام فایل هایی که باید پیدا کنید.

بازگشت

File Iterator - مجموعه ای از تمام فایل های درایو کاربر که دارای نام مشخص شده هستند.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Files By Type(mimeType)

مجموعه ای از تمام فایل های درایو کاربر را دریافت می کند که دارای نوع MIME هستند.

پارامترها

نام تایپ کنید توضیحات
mime Type String نوع MIME فایل هایی که باید پیدا کنید.

بازگشت

File Iterator - مجموعه ای از تمام فایل های درایو کاربر که دارای نوع MIME هستند.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Folder By Id(id)

پوشه با شناسه داده شده را دریافت می کند. در صورتی که پوشه وجود نداشته باشد یا کاربر مجوز دسترسی به آن را نداشته باشد، یک استثناء اسکریپت را ایجاد می کند.

پارامترها

نام تایپ کنید توضیحات
id String شناسه پوشه

بازگشت

Folder - پوشه ای با شناسه داده شده.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Folder By Id And Resource Key(id, resourceKey)

پوشه با شناسه و کلید منبع داده شده را دریافت می کند. کلیدهای منبع یک پارامتر اضافی هستند که باید برای دسترسی به پوشه هایی که با استفاده از یک پیوند به اشتراک گذاشته شده اند، منتقل شوند.

در صورتی که پوشه وجود نداشته باشد یا کاربر اجازه دسترسی به آن را نداشته باشد، یک استثنای اسکریپت را ایجاد می کند.

پارامترها

نام تایپ کنید توضیحات
id String شناسه پوشه
resource Key String کلید منبع پوشه.

بازگشت

Folder - پوشه ای با شناسه داده شده.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Folders()

مجموعه ای از تمام پوشه ها را در Drive کاربر دریافت می کند.

بازگشت

Folder Iterator - مجموعه ای از تمام پوشه ها در Drive کاربر.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Folders By Name(name)

مجموعه‌ای از تمام پوشه‌های درایو کاربر را که نام مشخص شده دارند، دریافت می‌کند.

پارامترها

نام تایپ کنید توضیحات
name String نام پوشه هایی که باید پیدا کنید.

بازگشت

Folder Iterator - مجموعه ای از تمام پوشه های درایو کاربر که دارای نام مشخص شده هستند.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Root Folder()

پوشه را در ریشه درایو کاربر دریافت می کند.

// Gets the user's My Drive folder and logs its name to the console.
console.log(DriveApp.getRootFolder().getName());

// Logs the Drive owner's name to the console.
console.log(DriveApp.getRootFolder().getOwner().getName());

بازگشت

Folder - پوشه اصلی درایو کاربر.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Storage Limit()

تعداد بایت هایی را که کاربر مجاز است در Drive ذخیره کند، دریافت می کند.

// Gets the number of bytes the user can store in Drive and logs it to the
// console.
console.log(DriveApp.getStorageLimit());

بازگشت

Integer - تعداد بایت هایی که کاربر مجاز است در Drive ذخیره کند.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Storage Used()

تعداد بایت هایی را که کاربر در حال حاضر در Drive ذخیره می کند دریافت می کند.

// Gets the number of bytes the user is currently storing in Drive and logs it
// to the console.
console.log(DriveApp.getStorageUsed());

بازگشت

Integer - تعداد بایت هایی که کاربر در حال حاضر در Drive ذخیره می کند.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Trashed Files()

مجموعه ای از تمام فایل های موجود در سطل زباله درایو کاربر را دریافت می کند.

// Gets a list of all the files in the trash of the user's Drive.
const trashFiles = DriveApp.getTrashedFiles();

// Logs the trash file names to the console.
while (trashFiles.hasNext()) {
  const file = trashFiles.next();
  console.log(file.getName());
}

بازگشت

File Iterator - مجموعه ای از فایل ها در سطل زباله.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

get Trashed Folders()

مجموعه ای از تمام پوشه های موجود در سطل زباله درایو کاربر را دریافت می کند.

// Gets a collection of all the folders in the trash of the user's Drive.
const trashFolders = DriveApp.getTrashedFolders();

// Logs the trash folder names to the console.
while (trashFolders.hasNext()) {
  const folder = trashFolders.next();
  console.log(folder.getName());
}

بازگشت

Folder Iterator - مجموعه ای از پوشه ها در سطل زباله.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

search Files(params)

مجموعه ای از همه فایل ها را در Drive کاربر دریافت می کند که با معیارهای جستجوی داده شده مطابقت دارند. معیارهای جستجو در مستندات Google Drive SDK به تفصیل آمده است. توجه داشته باشید که سرویس Drive از v2 از Drive API استفاده می کند و برخی از فیلدهای جستجو با v3 متفاوت است. تفاوت های زمینه بین v2 و v3 را مرور کنید.

آرگومان params یک رشته پرس و جو است که می تواند حاوی مقادیر رشته باشد، بنابراین مراقب باشید که به درستی از علامت نقل قول فرار کنید (به عنوان مثال "title contains 'Gulliver\\'s Travels'" یا 'title contains "Gulliver\'s Travels"' .

// Logs the name of every file in the user's Drive that modified after February 28,
// 2022 whose name contains "untitled.""
const files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  const file = files.next();
  console.log(file.getName());
}

پارامترها

نام تایپ کنید توضیحات
params String معیارهای جستجو، همانطور که در اسناد Google Drive SDK توضیح داده شده است.

بازگشت

File Iterator - مجموعه ای از تمام فایل های موجود در Drive کاربر که با معیارهای جستجو مطابقت دارند.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

search Folders(params)

مجموعه ای از تمام پوشه ها را در Drive کاربر دریافت می کند که با معیارهای جستجوی داده شده مطابقت دارند. معیارهای جستجو در مستندات Google Drive SDK به تفصیل آمده است. توجه داشته باشید که سرویس Drive از v2 از Drive API استفاده می کند و برخی از فیلدهای جستجو با v3 متفاوت است. تفاوت های زمینه بین v2 و v3 را مرور کنید.

آرگومان params یک رشته پرس و جو است که می تواند حاوی مقادیر رشته باشد، بنابراین مراقب باشید که به درستی از علامت نقل قول فرار کنید (به عنوان مثال "title contains 'Gulliver\\'s Travels'" یا 'title contains "Gulliver\'s Travels"' .

// Logs the name of every folder in the user's Drive that you own and is starred.
const folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  const folder = folders.next();
  console.log(folder.getName());
}

پارامترها

نام تایپ کنید توضیحات
params String معیارهای جستجو، همانطور که در اسناد Google Drive SDK توضیح داده شده است.

بازگشت

Folder Iterator - مجموعه ای از تمام پوشه ها در Drive کاربر که با معیارهای جستجو مطابقت دارند.

مجوز

اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:

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

روش های منسوخ شده