我正在使用Google Calendar API V3来获取PHP中的Google日历活动(Codeigniter)。现在我想从特定日期(不是按日期范围)获取所有事件。
我尝试了选项' timeMin'并在RFC3339时间戳中传递日期,但它返回错误的结果。
我的代码是:
$optParams['syncToken'] = $next_sync_token;
$optParams['timeMin'] = date("c", strtotime(date('Y-m-d H:i:s').'-3 days'));
$service->events->listEvents($calendarId, $optParams);
任何人都可以建议我如何从特定日期获取活动吗?
答案 0 :(得分:1)
我认为你可以将timeMax参数设置为高1天(因为它是一个独占界限)。然后你的有效范围为1天。像
这样的东西$optParams['timeMin'] = date("c", strtotime(date('Y-m-d H:i:s').'-3 days'));
$optParams['timeMax'] = date("c", strtotime(date('Y-m-d H:i:s').'-2 days'));
请参阅https://developers.google.com/google-apps/calendar/v3/reference/events/list
上的可用参数答案 1 :(得分:0)
您可能需要在optParams中添加单个events = true才能让timeMin工作,因为这会将所有重复事件视为单个事件。 所以,
using (DirectoryEntry Connection = new DirectoryEntry("LDAP://" + currentGroupDN))
{
foreach (DataRow row in action.Rows)
{
var dn = row["dn"].ToString();
if (!string.IsNullOrEmpty(dn))
{
if (row["Action"].ToString().ToUpper() == "ADD")
{
Connection.Properties["member"].Add(dn);
}
else if (row["Action"].ToString().ToUpper() == "REMOVE")
{
Connection.Properties["member"].Remove(dn);
}
}
}
Connection.CommitChanges();
}