gpt4 book ai didi

python - Google Drive API 权限,如何禁用互联网上任何人都可以找到的功能?

转载 作者:行者123 更新时间:2023-11-30 22:41:07 25 4
gpt4 key购买 nike

我搜索google但没有得到结果,我的代码如下:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

# this function used inside function do_the_work(drive)
def upload_gd(media_file, drive):
print 'Try uploading ' + media_file

xfile = drive.CreateFile()
xfile.SetContentFile(media_file)
xfile.Upload()
print('Created file %s with mimeType %s' % (xfile['title'], xfile['mimeType']))

permission = xfile.InsertPermission({
'type': 'anyone',
'value': 'anyone',
'role': 'reader'})

print 'Sharable link (to view) is:' + xfile['alternateLink']
print 'Get direct link'
file_id = xfile['alternateLink'].split('/')[-2]
print 'file ID: ' + file_id
d_link = 'https://drive.google.com/uc?export=download&id=' + file_id
print 'Direct link is: ' + d_link

return d_link

gauth = GoogleAuth()
gauth.LocalWebserverAuth()

drive = GoogleDrive(gauth)
do_the_work(drive)

而且,我获得的文件权限是:

Anyone can find and view

但是,我只希望任何人都可以查看,但无法找到:

anyone can view

最佳答案

您需要添加withLink字段:

permission = xfile.InsertPermission({'type': 'anyone',
'value': 'anyone',
'role': 'reader',
'withLink': True}) # <-- This field.

对于所有可能的设置,请查看 API 引用:link (PyDrive 目前使用 API v2)

顺便说一句,您可以获得 ID xfilexfile['id']所以您不需要拆分备用链接。

列出所有字段here可以使用 xfile['<property name>'] 访问调用xfile.FetchMetadata(fetch_all=True)后。使用它,您可以从文件对象中提取不同类型的文件链接,这将比您当前实现此目的的方法更加强大。

关于python - Google Drive API 权限,如何禁用互联网上任何人都可以找到的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42685942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com