Google任务 - 从网页插入任务

时间:2015-02-24 04:19:13

标签: php google-tasks-api google-tasks

我正在尝试从我的网站向Google Tasks添加新任务。我查看了Google Tasks Api文档,这是我想出的代码:

<?php
session_start();
require_once 'google-api-php-client-master/autoload.php';
//Google credentials
$client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com';
$service_account_name = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.gserviceaccount.com';
$key_file_location = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.p12';
if (!strlen($service_account_name) || !strlen($key_file_location))
    echo missingServiceAccountDetailsWarning();
$client = new Google_Client();
$client->setApplicationName("Whatever the name of your app is");
if (isset($_SESSION['service_token'])) {
    $client->setAccessToken($_SESSION['service_token']);
}
$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials(
    $service_account_name,
    array('https://www.googleapis.com/auth/tasks'),
    $key
);
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()) {
    try {
      $client->getAuth()->refreshTokenWithAssertion($cred);
    } catch (Exception $e) {
      var_dump($e->getMessage());
    }
}
$_SESSION['service_token'] = $client->getAccessToken();

// Set task data
$task = new Task();
$task->setTitle('New Task');
$task->setNotes('Please complete me');
$task->setDue(new TaskDateTime('2015-02-26T12:00:00.000Z'));

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

&GT;

它告诉我“第34行的/comersomers/1/b/5/xxxxxxx.xx/httpd.www/test2/test2.php中找不到致命错误:类'任务'。”

我做错了什么?我还应该做些什么来使这段代码有效?

1 个答案:

答案 0 :(得分:0)

该文档适用于稳定的api。如果您使用的是主版本,则必须如下所示:

$task = new Google_Service_Tasks_Task();
$task->setTitle('New Task');
$task->setNotes('Please complete me');
$task->setDue(new TaskDateTime('2015-02-26T12:00:00.000Z'));

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