Google ドライブ内のフォルダ。フォルダには DriveApp
からアクセスまたは作成できます。
// Log the name of every folder in the user's Drive. const folders = DriveApp.getFolders(); while (folders.hasNext()) { const folder = folders.next(); Logger.log(folder.getName()); }
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
addEditor(emailAddress) | Folder | 指定されたユーザーを Folder の編集者のリストに追加します。 |
addEditor(user) | Folder | 指定されたユーザーを Folder の編集者のリストに追加します。 |
addEditors(emailAddresses) | Folder | 指定されたユーザーの配列を Folder の編集者のリストに追加します。 |
addViewer(emailAddress) | Folder | 指定したユーザーを Folder の視聴者のリストに追加します。 |
addViewer(user) | Folder | 指定したユーザーを Folder の視聴者のリストに追加します。 |
addViewers(emailAddresses) | Folder | 指定されたユーザーの配列を Folder の視聴者のリストに追加します。 |
createFile(blob) | File | 任意のデータの指定された Blob から、現在のフォルダにファイルを作成します。 |
createFile(name, content) | File | 指定された名前と内容のテキスト ファイルを現在のフォルダに作成します。 |
createFile(name, content, mimeType) | File | 指定された名前、内容、MIME タイプで現在のフォルダにファイルを作成します。 |
createFolder(name) | Folder | 指定された名前のフォルダを現在のフォルダに作成します。 |
createShortcut(targetId) | File | 指定されたドライブ アイテム ID へのショートカットを作成して返します。 |
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey) | File | 指定されたドライブ アイテム ID とリソースキーへのショートカットを作成して返します。 |
getAccess(email) | Permission | 特定のユーザーに付与されている権限を取得します。 |
getAccess(user) | Permission | 特定のユーザーに付与されている権限を取得します。 |
getDateCreated() | Date | Folder が作成された日付を取得します。 |
getDescription() | String | Folder の説明を取得します。 |
getEditors() | User[] | この Folder の編集者のリストを取得します。 |
getFiles() | FileIterator | 現在のフォルダの子であるすべてのファイルのコレクションを取得します。 |
getFilesByName(name) | FileIterator | 現在のフォルダの子で、指定された名前を持つすべてのファイルのコレクションを取得します。 |
getFilesByType(mimeType) | FileIterator | 現在のフォルダの子で、指定した MIME タイプのすべてのファイルを取得します。 |
getFolders() | FolderIterator | 現在のフォルダの子フォルダのコレクションを取得します。 |
getFoldersByName(name) | FolderIterator | 現在のフォルダの子フォルダで、指定された名前を持つすべてのフォルダのコレクションを取得します。 |
getId() | String | Folder の ID を取得します。 |
getLastUpdated() | Date | Folder が最後に更新された日付を取得します。 |
getName() | String | Folder の名前を取得します。 |
getOwner() | User | この Folder のオーナーを取得します。 |
getParents() | FolderIterator | Folder の直接の親であるフォルダのコレクションを取得します。 |
getResourceKey() | String | リンクを使用して共有されたアイテムにアクセスするために必要な Folder のリソースキーを取得します。 |
getSecurityUpdateEligible() | Boolean | この Folder が、リンクを使用して共有する際にアクセスにリソースキーを必要とするセキュリティ アップデートを適用できるかどうかを取得します。 |
getSecurityUpdateEnabled() | Boolean | この Folder をリンクを使用して共有するときに、アクセスにリソースキーが必要かどうかを取得します。 |
getSharingAccess() | Access | 明示的にアクセス権が付与されている個々のユーザーのほかに、Folder にアクセスできるユーザークラスを取得します。 |
getSharingPermission() | Permission | Folder にアクセスできるユーザーに付与されている権限を取得します。明示的にアクセス権が付与されている個々のユーザーは除きます。 |
getSize() | Integer | ドライブに Folder を保存するために使用されるバイト数を取得します。 |
getUrl() | String | Google ドライブや Google ドキュメントなどの Google アプリで Folder を開く際に使用できる URL を取得します。 |
getViewers() | User[] | この Folder の閲覧者とコメント投稿者のリストを取得します。 |
isShareableByEditors() | Boolean | Folder の編集権限を持つユーザーが、他のユーザーと共有したり、権限を変更したりできるかどうかを決定します。 |
isStarred() | Boolean | Folder がユーザーのドライブでスターを付けられているかどうかを判断します。 |
isTrashed() | Boolean | Folder がユーザーのドライブのゴミ箱にあるかどうかを判断します。 |
moveTo(destination) | Folder | このアイテムを指定された移動先のフォルダに移動します。 |
removeEditor(emailAddress) | Folder | 指定されたユーザーを Folder の編集者のリストから削除します。 |
removeEditor(user) | Folder | 指定されたユーザーを Folder の編集者のリストから削除します。 |
removeViewer(emailAddress) | Folder | 指定したユーザーを Folder の閲覧者とコメント投稿者のリストから削除します。 |
removeViewer(user) | Folder | 指定したユーザーを Folder の閲覧者とコメント投稿者のリストから削除します。 |
revokePermissions(emailAddress) | Folder | 指定されたユーザーに付与された Folder へのアクセス権を取り消します。 |
revokePermissions(user) | Folder | 指定されたユーザーに付与された Folder へのアクセス権を取り消します。 |
searchFiles(params) | FileIterator | 現在のフォルダの子フォルダで、指定した検索条件に一致するすべてのファイルのコレクションを取得します。 |
searchFolders(params) | FolderIterator | 現在のフォルダの子フォルダで、指定した検索条件に一致するすべてのフォルダのコレクションを取得します。 |
setDescription(description) | Folder | Folder の説明を設定します。 |
setName(name) | Folder | Folder の名前を設定します。 |
setOwner(emailAddress) | Folder | Folder のオーナーを変更します。 |
setOwner(user) | Folder | Folder のオーナーを変更します。 |
setSecurityUpdateEnabled(enabled) | Folder | Folder がリンクを使用して共有されるときに、アクセスにリソースキーが必要かどうかを設定します。 |
setShareableByEditors(shareable) | Folder | Folder の編集権限を持つユーザーが他のユーザーと共有したり、権限を変更したりできるかどうかを設定します。 |
setSharing(accessType, permissionType) | Folder | Folder にアクセスできるユーザークラスと、そのユーザーに付与される権限を設定します。明示的にアクセス権が付与されている個々のユーザーは除きます。 |
setStarred(starred) | Folder | Folder がユーザーのドライブでスターを付けられるかどうかを設定します。 |
setTrashed(trashed) | Folder | Folder がユーザーのドライブのゴミ箱にあるかどうかを設定します。 |
詳細なドキュメント
addEditor(emailAddress)
addEditor(user)
addEditors(emailAddresses)
addViewer(emailAddress)
addViewer(user)
addViewers(emailAddresses)
createFile(blob)
任意のデータの指定された Blob
から、現在のフォルダにファイルを作成します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
blob | BlobSource | 新しいファイルのデータ。 |
戻る
File
- 新しいファイル。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
createFile(name, content)
指定された名前と内容のテキスト ファイルを現在のフォルダに作成します。content
が 50 MB を超える場合、例外をスローします。
// Create a text file with the content "Hello, world!" DriveApp.getRootFolder().createFile('New Text File', 'Hello, world!');
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 新しいファイルの名前。 |
content | String | 新しいファイルの内容。 |
戻る
File
- 新しいファイル。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
createFile(name, content, mimeType)
指定された名前、内容、MIME タイプで現在のフォルダにファイルを作成します。content
が 10 MB を超えると、例外がスローされます。
// Create an HTML file with the content "Hello, world!" DriveApp.getRootFolder().createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 新しいファイルの名前。 |
content | String | 新しいファイルの内容。 |
mimeType | String | 新しいファイルの MIME タイプ。 |
戻る
File
- 新しいファイル。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
createFolder(name)
createShortcut(targetId)
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)
指定されたドライブ アイテム ID とリソースキーへのショートカットを作成して返します。リソースキーは、リンクを使用して共有されたターゲット ファイルまたはフォルダにアクセスするために渡す必要がある追加のパラメータです。
// 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(), ); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
targetId | String | 対象のファイルまたはフォルダの ID。 |
targetResourceKey | String | 対象のファイルまたはフォルダのリソースキー。 |
戻る
File
- 新しいショートカット。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
getAccess(email)
特定のユーザーに付与されている権限を取得します。このメソッドは、Google グループの権限や Google グループから継承された権限を返すことをサポートしていません。
パラメータ
名前 | 型 | 説明 |
---|---|---|
email | String | 権限を確認するユーザーのメールアドレス。Google グループはサポートされていません。 |
戻る
Permission
- ユーザーに付与されている権限。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getAccess(user)
特定のユーザーに付与されている権限を取得します。このメソッドは、Google グループの権限や Google グループから継承された権限を返すことをサポートしていません。
パラメータ
名前 | 型 | 説明 |
---|---|---|
user | User | 権限を確認するユーザーを表すオブジェクト。 |
戻る
Permission
- ユーザーに付与されている権限。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getDateCreated()
getDescription()
getEditors()
この Folder
の編集者のリストを取得します。スクリプトを実行するユーザーに Folder
の編集アクセス権がない場合は、このメソッドは空の配列を返します。
// Gets a folder by its ID. // TODO(developer): Replace the folder ID with your own. const folder = DriveApp.getFolderById('1234567890abcdefghijklmnopqrstuvwxyz'); // Gets the list of editors and logs their names to the console. const editors = folder.getEditors(); for (const editor of editors) { console.log(editor.getName()); }
戻る
User[]
- ユーザーが編集権限を持っている場合はこの Folder
の編集者のリスト、そうでない場合は空の配列。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFiles()
現在のフォルダの子であるすべてのファイルのコレクションを取得します。
戻る
FileIterator
- 現在のフォルダの子であるすべてのファイルのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFilesByName(name)
現在のフォルダの子で、指定された名前を持つすべてのファイルのコレクションを取得します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 検索するファイルの名前。 |
戻る
FileIterator
- 現在のフォルダの子フォルダで、指定された名前を持つすべてのファイルのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFilesByType(mimeType)
現在のフォルダの子で、指定した MIME タイプのすべてのファイルを取得します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
mimeType | String | 検索するファイルの MIME タイプ。 |
戻る
FileIterator
- 現在のフォルダの子で、指定された MIME タイプのすべてのファイルのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFolders()
現在のフォルダの子フォルダのコレクションを取得します。
戻る
FolderIterator
- 現在のフォルダの子であるすべてのフォルダのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFoldersByName(name)
現在のフォルダの子フォルダで、指定された名前を持つすべてのフォルダのコレクションを取得します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 検索するフォルダの名前。 |
戻る
FolderIterator
- 現在のフォルダの子フォルダで、指定された名前を持つすべてのフォルダのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getId()
getLastUpdated()
getName()
getOwner()
この Folder
のオーナーを取得します。
// Gets a folder by its ID. // TODO(developer): Replace the folder ID with your own. const folder = DriveApp.getFolderById('1234567890abcdefghijklmnopqrstuvwxyz'); // Gets the owner of the folder and logs the name to the console. const folderOwner = folder.getOwner(); console.log(folderOwner.getName());
戻る
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getParents()
Folder
の直接の親であるフォルダのコレクションを取得します。
戻る
FolderIterator
- Folder
の直接の親であるフォルダのコレクション
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getResourceKey()
getSecurityUpdateEligible()
この Folder
が、リンクを使用して共有する際にアクセスにリソースキーを必要とするセキュリティ アップデートを適用できるかどうかを取得します。
リンクを使用して共有された一部のファイルまたはフォルダにアクセスするには、ドライブでリソースキーが必要です。この変更はセキュリティ アップデートの一環です。更新は、対象となるファイルとフォルダに対してデフォルトで有効になっています。対象ファイルのリソースキー要件をオンまたはオフにするには、setSecurityUpdateEnabled
を使用します。
詳しくは、Google ドライブのセキュリティ アップデートをご覧ください。
戻る
Boolean
- Folder
にリソースキーの要件を適用できるかどうか。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getSecurityUpdateEnabled()
この Folder
をリンクを使用して共有するときに、アクセスにリソースキーが必要かどうかを取得します。この要件は、対象となるファイルとフォルダに対してデフォルトで有効になっています。対象ファイルのリソースキー要件をオンまたはオフにするには、
setSecurityUpdateEnabled
を使用します。
詳しくは、Google ドライブのセキュリティ アップデートをご覧ください。
戻る
Boolean
- この Folder
でリソースキーの要件が有効かどうか。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getSharingAccess()
getSharingPermission()
Folder
にアクセスできるユーザーに付与されている権限を取得します。明示的にアクセス権が付与されている個々のユーザーは除きます。
戻る
Permission
- Folder
にアクセスできるユーザーに付与される権限
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getSize()
getUrl()
getViewers()
この Folder
の閲覧者とコメント投稿者のリストを取得します。スクリプトを実行するユーザーに Folder
の編集アクセス権がない場合は、このメソッドは空の配列を返します。
// Gets a folder by its ID. // TODO(developer): Replace the folder ID with your own. const folder = DriveApp.getFolderById('1234567890abcdefghijklmnopqrstuvwxyz'); // Gets the list of viewers and logs their names to the console. const viewers = folder.getViewers(); for (const viewer of viewers) { console.log(viewer.getName()); }
戻る
User[]
- ユーザーが編集権限を持っている場合、この Folder
の閲覧者とコメント投稿者のリスト。そうでない場合は空の配列。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
isStarred()
isTrashed()
moveTo(destination)
removeEditor(emailAddress)
指定されたユーザーを Folder
の編集者のリストから削除します。この方法では、一般アクセス権を持つユーザー クラスに属するユーザーが Folder
にアクセスできないようにはなりません。たとえば、Folder
がユーザーのドメイン全体と共有されている場合や、Folder
がユーザーがアクセスできる共有ドライブにある場合などです。
ドライブ ファイルの場合、この操作により、ユーザーは閲覧者のリストからも削除されます。
パラメータ
名前 | 型 | 説明 |
---|---|---|
emailAddress | String | 削除するユーザーのメールアドレス。 |
戻る
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
removeEditor(user)
指定されたユーザーを Folder
の編集者のリストから削除します。この方法では、一般アクセス権を持つユーザー クラスに属するユーザーが Folder
にアクセスできないようにはなりません。たとえば、Folder
がユーザーのドメイン全体と共有されている場合や、Folder
がユーザーがアクセスできる共有ドライブにある場合などです。
ドライブ ファイルの場合、この操作により、ユーザーは閲覧者のリストからも削除されます。
パラメータ
名前 | 型 | 説明 |
---|---|---|
user | User | 削除するユーザーを表す。 |
戻る
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
removeViewer(emailAddress)
指定したユーザーを Folder
の閲覧者とコメント投稿者のリストから削除します。ユーザーが視聴者やコメント投稿者ではなく編集者である場合、この方法は効果がありません。また、この方法では、一般アクセス権を持つユーザー クラスに属しているユーザーが Folder
にアクセスできないようにはなりません。たとえば、Folder
がユーザーのドメイン全体と共有されている場合や、Folder
がユーザーがアクセスできる共有ドライブにある場合などです。
ドライブ ファイルの場合、この操作により、ユーザーは編集者のリストからも削除されます。
パラメータ
名前 | 型 | 説明 |
---|---|---|
emailAddress | String | 削除するユーザーのメールアドレス。 |
戻る
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
removeViewer(user)
指定したユーザーを Folder
の閲覧者とコメント投稿者のリストから削除します。ユーザーが閲覧者ではなく編集者である場合、このメソッドは効果がありません。また、この方法では、一般的なアクセス権を持つユーザー クラスに属しているユーザーが Folder
にアクセスできないようにはなりません。たとえば、Folder
がユーザーのドメイン全体と共有されている場合や、Folder
がユーザーがアクセスできる共有ドライブにある場合などです。
ドライブ ファイルの場合、この操作により、ユーザーは編集者のリストからも削除されます。
パラメータ
名前 | 型 | 説明 |
---|---|---|
user | User | 削除するユーザーを表す。 |
戻る
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
revokePermissions(emailAddress)
revokePermissions(user)
searchFiles(params)
現在のフォルダの子フォルダで、指定した検索条件に一致するすべてのファイルのコレクションを取得します。検索条件の詳細については、Google ドライブ SDK のドキュメントをご覧ください。Drive サービスは Drive API の v2 を使用しており、一部のクエリフィールドは v3 と異なります。v2 と v3 のフィールドの違いを確認します。
params
引数は文字列値を含めることができるクエリ文字列であるため、引用符を正しくエスケープしてください("title contains 'Gulliver\\'s
Travels'"
や 'title contains "Gulliver\'s Travels"'
など)。
// Logs the name of every file that are children of the current folder and modified after February 28, // 2022 whose name contains "untitled."" const files = DriveApp.getRootFolder().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 のドキュメントで詳細をご確認ください)。 |
戻る
FileIterator
- 現在のフォルダの子で、検索条件に一致するすべてのファイルのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
searchFolders(params)
現在のフォルダの子フォルダで、指定した検索条件に一致するすべてのフォルダのコレクションを取得します。検索条件の詳細については、Google ドライブ SDK のドキュメントをご覧ください。Drive サービスは Drive API の v2 を使用しており、一部のクエリフィールドは v3 と異なります。v2 と v3 のフィールドの違いを確認します。
params
引数は文字列値を含めることができるクエリ文字列であるため、引用符を正しくエスケープしてください("title contains 'Gulliver\\'s
Travels'"
や 'title contains "Gulliver\'s Travels"'
など)。
// Logs the name of every folder that are children of the current folder and you own and is starred. const folders = DriveApp.getRootFolder().searchFolders('starred = true and "me" in owners'); while (folders.hasNext()) { const folder = folders.next(); console.log(folder.getName()); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
params | String | 検索条件(Google Drive SDK のドキュメントで詳細をご確認ください)。 |
戻る
FolderIterator
- 現在のフォルダの子フォルダで、検索条件に一致するすべてのフォルダのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
setDescription(description)
setName(name)
setOwner(emailAddress)
setOwner(user)
setSecurityUpdateEnabled(enabled)
setSharing(accessType, permissionType)
Folder
にアクセスできるユーザークラスと、そのユーザーに付与される権限を設定します。明示的にアクセス権が付与されている個々のユーザーは除きます。
// Creates a folder that anyone on the Internet can read from and write to. // (Domain administrators can prohibit this setting for users of a Google // Workspace domain.) const folder = DriveApp.createFolder('Shared Folder'); folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
パラメータ
名前 | 型 | 説明 |
---|---|---|
accessType | Access | Folder にアクセスできるユーザーのクラス |
permissionType | Permission | Folder にアクセスできるユーザーに付与する必要がある権限 |
戻る
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive