ren*_*kre 6 c# google-drive-api
我有以下代码(来自Google Doc Api资源)来从谷歌驱动器获取更改。但是,我想检索每个用户对特定 google 文档所做的更改。有没有办法实现这一目标?
var _driveService = GetDriveServiceInstance();
var requestxx = _driveService.Changes.GetStartPageToken();
var response = requestxx.Execute();
var savedStartPageToken = response.StartPageTokenValue;
// Begin with our last saved start token for this user or the
// current token from GetStartPageToken()
string pageToken = savedStartPageToken;
while (pageToken != null)
{
var request = _driveService.Changes.List(pageToken);
request.Spaces = "drive";
var changes = request.Execute();
foreach (var change in changes.Changes)
{
// Process change
Console.WriteLine("Change found for file: " + change.FileId);
}
if (changes.NewStartPageToken != null)
{
// Last page, save this token for the next polling interval
savedStartPageToken = changes.NewStartPageToken;
}
pageToken = changes.NextPageToken;
}
Run Code Online (Sandbox Code Playgroud)
我认为最好的方法是使用Google Drive Activity API,它可以提供有关对特定文件所做更改的更多信息。通过调用activity.query,您可以从某个文件中获取所有过去的活动,包括每个活动背后的用户信息。使用此响应,您可以计算每个用户所做更改的数量。
另一种方法,虽然不完整,但会获取文件的修订列表,然后lastModifyingUser从每个修订中获取。但是,正如您所说,修订版可能包含许多更改,因此检索到的数据可能不完整。
此外,如果您认为 Drive API 提供有关对文件所做更改的详细信息会很有用,您可以在问题跟踪器中提交功能请求。
我希望这有任何帮助。