在插入时指定Google任务ID

时间:2018-10-22 17:06:04

标签: google-tasks-api

我正在使用PHP库处理Google Tasks: https://developers.google.com/tasks/v1/reference/tasks

我正在尝试插入具有自定义ID的任务。

我发现了这个话题: Setting id to task using Google Task API returns 400 invalid value

指向此主题: Google tasks update error

他们建议发送带有任务标题的任务ID。我想我已经做到了。

这是Google API参考中的代码信息

$task = new Task();
$task->setTitle('New Task');
$task->setNotes('Please complete me');
$task->setDue(new TaskDateTime('2010-10-15T12:00:00.000Z'));

$result = $service->insertTasks('@default', $task);
echo $result->getId();

这是我的代码,我从库本身获取了setID()。

$taskNew = new Google_Service_Tasks_Task();
$taskNew->setId('2013');
$taskNew->setTitle('Notify');
$taskNew->setDue(new TaskDateTime('2018-10-27T00:00:00.000Z'));

$results3 = $service->tasks->insert('.....', $taskNew);

我一直遇到错误,并且拒绝执行任务。

使用此API工具: https://developers.google.com/apis-explorer/#p/tasks/v1/tasks.tasks.insert

只要系统生成ID,我就可以成功插入任务。 Google Task API将插入任务,但分配其自己的ID。 如果指定自定义ID,则会收到400错误“无效值”。

我正在执行与保存在程序数据库中的事件相对应的任务。当我需要更改到期日或完成时,我需要能够找到与数据库事件匹配的任务。 我要设置自己的ID的原因是,我可以找到特定的任务并进行更改。

我可以使用google生成的ID向数据库添加一个新字段。但是我宁愿不必更改数据库以及程序的其余部分。

非常感谢您的帮助, -乔恩

1 个答案:

答案 0 :(得分:0)

任务ID是只读参数。 我通过使用任务标题的前缀解决了这个问题。 例如:“ [my_id]任务标题”。