当尝试使用 Changes: list 提要检测已删除的对象时,我注意到 id
值不正确,因此我无法检测哪个文件被删除了。示例:
新建测试文件:这是一个测试文件
public 'title' => string 'This is a test' (length=14)
public 'id' => string '1wUFHe3DfU1mJnyqlIgAYSvMrIy8F91-7rZyAPFsyVpg' (length=44)
现在,当我删除此文件时,删除更改的第一个条目是:
public 'deleted' => boolean true
protected 'fileType' => string 'Google_Service_Drive_DriveFile' (length=30)
protected 'fileDataType' => string '' (length=0)
public 'fileId' => string '1_8Cvirw71AY0HQoaNwSMP3TlcIFAhpZikVfOrXFZCLo' (length=44)
public 'id' => string '3612' (length=4)
public 'kind' => string 'drive#change' (length=12)
public 'modificationDate' => string '2013-12-23T10:55:45.340Z' (length=24)
public 'selfLink' => string 'https://www.googleapis.com/drive/v2/changes/3612' (length=48)
protected 'modelData' =>
array (size=0)
empty
protected 'processed' =>
array (size=0)
empty
没有标识符(fileId
和 id
)等于文件“This is a test file”中的 id
。我在 API 文档中读到结果是自下而上的,但没有删除的更改包含我的原始文件 ID。
我怎么知道哪个文件被删除了?
编辑:我制作了一个视频来展示我的问题和步骤
- 我创建了一个新文件(就在视频开始之前)
- 我在 Changes: 列表中显示它的 ID
- 我删除这个文件
- 我创建另一个文件
- 我在 Changes: 列表中显示文件 ID
- 更改:列表显示我的第一个文件 ID,紧接着是第二个创建的文件 ID。不显示删除文件事件
https://www.youtube.com/watch?v=hh2ARFdxWGk
抱歉画质不好,我用的录屏工具不好
最佳答案
您可以尝试使用 Apps Activity API而不是更改。我刚刚使用 Apps Activity API 进行了测试,trash 和 emptyTrash 都显示为事件。 The API Explorer让您了解如何实现这一目标。
关于php - Google Drive API - 更改 : list. 获取已删除文件的原始 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30937315/