如何使用 python 脚本在 google 驱动器中创建和显示文件夹?
How to create and show a folder in google drive using python script?
此代码显示 folder_name
的 id
,但未显示 google 驱动器中的 folder_name
。我的目的是在 google 驱动器中创建并显示 folder_name
。怎么做?
import httplib2
from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
scope = 'https://www.googleapis.com/auth/drive'
credentials = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', scope)
http = httplib2.Http()
drive_service = build('drive', 'v3', http=credentials.authorize(http))
def createFolder(name):
file_metadata = {
'name': name,
'mimeType': 'application/vnd.google-apps.folder'
}
file = drive_service.files().create(body=file_metadata,
fields='id').execute()
print('Folder ID: %s' % file.get('id'))
createFolder('folder_name')
在您的脚本中,该文件夹是由服务帐户创建的。我认为这就是你的问题的原因。服务帐户的 Google 驱动器与您的 Google 驱动器不同。这样,使用浏览器就无法在 Google 驱动器中看到由服务帐户创建的文件夹。当你想在浏览器看到服务账号创建的文件夹时,下面的流程如何?
- 在您帐户的 Google 驱动器中创建新文件夹。
- 请在您的 Google 驱动器中创建新文件夹。在这种情况下,您可以使用浏览器创建它。
- 与服务帐户的电子邮件共享创建的新文件夹。
- 这样,服务帐户就可以访问您在 Google 驱动器中创建的文件夹了。
- 邮箱地址可以在
credentials.json
. 的文件中确认
- 使用带有脚本的服务帐户为共享文件夹创建一个文件夹。
通过这个流程,我认为你的目标可以达到。为此,请按如下方式修改您的脚本。
发件人:
file_metadata = {
'name': name,
'mimeType': 'application/vnd.google-apps.folder'
}
收件人:
file_metadata = {
'name': name,
'mimeType': 'application/vnd.google-apps.folder',
'parents': ['### folder ID ###']
}
- 请将
### folder ID ###
替换为您在 Google 驱动器中创建的文件夹 ID。
- 通过上述修改,脚本创建的文件夹可以使用浏览器在您的 Google 驱动器中看到。
参考:
此代码显示 folder_name
的 id
,但未显示 google 驱动器中的 folder_name
。我的目的是在 google 驱动器中创建并显示 folder_name
。怎么做?
import httplib2
from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
scope = 'https://www.googleapis.com/auth/drive'
credentials = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', scope)
http = httplib2.Http()
drive_service = build('drive', 'v3', http=credentials.authorize(http))
def createFolder(name):
file_metadata = {
'name': name,
'mimeType': 'application/vnd.google-apps.folder'
}
file = drive_service.files().create(body=file_metadata,
fields='id').execute()
print('Folder ID: %s' % file.get('id'))
createFolder('folder_name')
在您的脚本中,该文件夹是由服务帐户创建的。我认为这就是你的问题的原因。服务帐户的 Google 驱动器与您的 Google 驱动器不同。这样,使用浏览器就无法在 Google 驱动器中看到由服务帐户创建的文件夹。当你想在浏览器看到服务账号创建的文件夹时,下面的流程如何?
- 在您帐户的 Google 驱动器中创建新文件夹。
- 请在您的 Google 驱动器中创建新文件夹。在这种情况下,您可以使用浏览器创建它。
- 与服务帐户的电子邮件共享创建的新文件夹。
- 这样,服务帐户就可以访问您在 Google 驱动器中创建的文件夹了。
- 邮箱地址可以在
credentials.json
. 的文件中确认
- 使用带有脚本的服务帐户为共享文件夹创建一个文件夹。
通过这个流程,我认为你的目标可以达到。为此,请按如下方式修改您的脚本。
发件人:
file_metadata = {
'name': name,
'mimeType': 'application/vnd.google-apps.folder'
}
收件人:
file_metadata = {
'name': name,
'mimeType': 'application/vnd.google-apps.folder',
'parents': ['### folder ID ###']
}
- 请将
### folder ID ###
替换为您在 Google 驱动器中创建的文件夹 ID。 - 通过上述修改,脚本创建的文件夹可以使用浏览器在您的 Google 驱动器中看到。