0

我有一个 Google Apps 表单链接,需要找到该表单的所有者。

我设置了一个具有 2 条腿身份验证的服务帐户。测试了可以模拟用户并从该帐户中提取文件列表的代码(python,使用 google-api-python-client 和 oauth2client),因此该代码在该场景中运行。但是,在这种特殊情况下,我只知道一个文件 ID,我想知道所有者。这是相关的代码部分:

credentials = SignedJwtAssertionCredentials(
  '123456-xxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com',
   key,
   scope='https://www.googleapis.com/auth/drive'
 )

http = httplib2.Http()
http = credentials.authorize(http)
service = build("drive", "v2", http=http)


# Search file by id
file_id = 'xxxxxxxxBMWnkxVEhnUnF5eEh1Snc6MQ'
f = service.files().get(fileId=file_id).execute()

我收到“找不到文件”错误。我知道该文件在那里,因为该表单的链接是有效的。我用测试帐户进行了测试。如果我将 file_id 和测试帐户作为 prn 参数提供给 SignedJwtAssertionCredentials,我可以找到该文件及其元数据。

apiclient.errors.HttpError: <HttpError 404 when requesting https://www.googleapis.com/drive/v2/files/xxxxxxxxBMWnkxVEhnUnF5eEh1Snc6MQ?alt=json returned "File not found: dEtpdmlCYzBMWnkxVEhnUnF5eEh1Snc6MQ">

如果我知道的唯一信息是表单的 ID,是否可以找到文件的元数据(包括所有者)?顺便说一句,Google Apps 控制台审核日志似乎不包含表单。

谢谢!

xsf

4

1 回答 1

1

我会让谷歌的人确认,尽管根据我自己对 API 的经验,如果你没有访问权限,该文件是不可见的并且实际上不存在。

这可能是出于安全原因。

于 2013-06-17T09:13:29.150 回答