обновление таблицы Zend Google Fusion - PullRequest
1 голос
/ 02 октября 2011

Кто-нибудь знает, как обновить таблицу в Google Fusion с помощью Zend Framework?

Я могу получить данные:

$url = "https://www.google.com/fusiontables/api/query?sql=SELECT%20name%20FROM%201695591";
$data = $gdata->get($url);

$postcodes = $data->getRawBody();

Но не знаю, как обновить строку... Я знаю, что должен "вызвать" этот URL, но не знаю, как:

ОБНОВЛЕНИЕ table_id УСТАНОВИТЬ column_name = значение {, column_name = значение} * WHERE ROWID = row_id

Спасибо

1 Ответ

2 голосов
/ 02 октября 2011

Попробуйте этот класс http://barahlo.semero.com/description/Zend_Gdata_Fusion.zip

Пример использования:

$client = Zend_Gdata_ClientLogin::getHttpClient('your_login_here@gmail.com', 'your_pass_here', 'fusiontables');

$base = new Zend_Gdata_Fusion($client);


$sql = "SELECT ROWID FROM 596524 WHERE id = 1;";
$rowdata =  $base->query($sql)->get_array();
print_r($rowdata);

$newRowId = $base->insertRow('596524',array(
    'id' => time(),
    'name' => 'trird row',
    'added' => date('n/j/y'),
) );

$base->updateRow(
    '596524', 
    array('name' => 'new first row'), 
    $rowdata[1][0] //ROWID from insert query
);

Oauth-логин для Zend_Gdata:

$oauthOptions = array( 
'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER, 
'version' => '1.0', 
'signatureMethod' => 'HMAC-SHA1', 
'consumerKey' => $CONSUMER_KEY, 
'consumerSecret' => $CONSUMER_SECRET 
); 

$consumer = new Zend_Oauth_Consumer($oauthOptions); 
$token = new Zend_Oauth_Token_Access(); 
$client = $token->getHttpClient($oauthOptions,null);

$base = new Zend_Gdata_Fusion($client);

// ...

Также есть официальная клиентская библиотека phphttp://code.google.com/p/fusion-tables-client-php/

...