如何检查 google 驱动器文件夹的内容是否已更改?
How to check if content of google drive folder has changed?
我想对文件夹内容进行缓存,因此如果我能以某种方式如果 google 驱动器中的文件夹发生更改 并刷新然后刷新,那就太好了缓存。有办法吗? php.
最佳
一段时间后,我想到了这个不错的解决方案:
function isGoogleDriveFolderContentUpdated($lastTime, $folderId, &$client)
{
$appsactivityService = new Google_Service_Appsactivity($client);
$optParams = array(
'source' => 'drive.google.com',
'drive.ancestorId' => $folderId,
'pageSize' => 1,
);
$results = $appsactivityService->activities->listActivities($optParams);
if (count($results->getActivities()) == 0) {
return 0;
} else {
$activities = $results->getActivities();
$activity = $activities[0];
$event = $activity->getCombinedEvent();
$activityTime = date(DateTime::RFC3339, $event->getEventTimeMillis() / 1000);
$lastTime = strtotime($lastTime);
$activityTime = strtotime($activityTime);
if ($activityTime > $lastTime) {
//folder content changed since last check
return 1;
}
return 0;
}
}
可以像这样使用:
echo isGoogleDriveFolderContentUpdated("2018-11-26T21:03:57+01:00" ,"1A9CXgB44F1khfDAzU4t0R322TWh", $client);
其中第一个参数是上次检查的日期时间,第二个参数 google 驱动器文件夹 ID,以及 client variable 的最后一个引用。
此外,您的应用程序应具有以下范围:https://www.googleapis.com/auth/activity
否则您将收到错误消息。
我想对文件夹内容进行缓存,因此如果我能以某种方式如果 google 驱动器中的文件夹发生更改 并刷新然后刷新,那就太好了缓存。有办法吗? php.
最佳一段时间后,我想到了这个不错的解决方案:
function isGoogleDriveFolderContentUpdated($lastTime, $folderId, &$client)
{
$appsactivityService = new Google_Service_Appsactivity($client);
$optParams = array(
'source' => 'drive.google.com',
'drive.ancestorId' => $folderId,
'pageSize' => 1,
);
$results = $appsactivityService->activities->listActivities($optParams);
if (count($results->getActivities()) == 0) {
return 0;
} else {
$activities = $results->getActivities();
$activity = $activities[0];
$event = $activity->getCombinedEvent();
$activityTime = date(DateTime::RFC3339, $event->getEventTimeMillis() / 1000);
$lastTime = strtotime($lastTime);
$activityTime = strtotime($activityTime);
if ($activityTime > $lastTime) {
//folder content changed since last check
return 1;
}
return 0;
}
}
可以像这样使用:
echo isGoogleDriveFolderContentUpdated("2018-11-26T21:03:57+01:00" ,"1A9CXgB44F1khfDAzU4t0R322TWh", $client);
其中第一个参数是上次检查的日期时间,第二个参数 google 驱动器文件夹 ID,以及 client variable 的最后一个引用。
此外,您的应用程序应具有以下范围:https://www.googleapis.com/auth/activity
否则您将收到错误消息。