此代码显示 id
的 folder_name
,但未在 Google Drive 中显示 folder_name
。我的目的是在谷歌驱动器中创建和显示 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')
答案 0 :(得分:2)
在您的脚本中,文件夹由服务帐户创建。我认为这就是你的问题的原因。服务帐户的 Google Drive 与您的 Google Drive 不同。这样,服务帐户创建的文件夹就无法使用浏览器在您的 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。