2015-02-24 27 views
1

我试图从我的网站添加一项新任务到Google任务。我检查了谷歌任务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(); 

>

它说我“致命错误:类‘任务’未找到/客户/ 1 /在线34上的b/5/xxxxxxx.xx/httpd.www/test2/test2.php“。

我该怎么做?还有什么我应该做的,以获得此代码的工作?

+0

请确保按照本页所述设置客户端库:https://developers.google.com/google-apps/tasks/setup – KRR 2015-02-24 17:47:50

+0

我必须将它安装在服务器上吗? – Mandino 2015-02-24 18:01:24

回答

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();