Google Fusion Table - создание новой таблицы с использованием клиента Google API для PHP

Следующий код приводит к 400 Bad Request... вы видите какие-либо очевидные проблемы?

$column = new Google_Column();
$column->setName('foo');
$column->setType('TEXT');

$table = new Google_Table();
$table->setName('bar');
$table->setColumns(array($column));

// $client below is a successfully authenticated Google_Client instance 
$service = new Google_FusiontablesService($client); 
$result = $service->table->insert($table);  // 400 Bad Request exception thrown

Google_Client аутентифицируется с помощью «служебной учетной записи», и я могу выполнять другие запросы, например. $service->query->sql() успешно.

Версия клиента Google API — 0.6.2 (актуальная).

Спасибо.

Обновление: запросить дамп объекта:

Google_HttpRequest Object
(
    [batchHeaders:Google_HttpRequest:private] => Array
        (
            [Content-Type] => application/http
            [Content-Transfer-Encoding] => binary
            [MIME-Version] => 1.0
            [Content-Length] =>
        )

    [url:protected] => https://www.googleapis.com/fusiontables/v1/tables
    [requestMethod:protected] => POST
    [requestHeaders:protected] => Array
        (
            [content-type] => application/json; charset=UTF-8
            [content-length] => 162
            [authorization] => Bearer someHashHere
        )

    [postBody:protected] => {"columns":[{"name":"Project","type":"TEXT"}],"description":"Created on 2013-05-14 10:41:44","isExportable":"true","name":"foobar"}
    [userAgent:protected] => My app name google-api-php-client/0.6.0
    [responseHttpCode:protected] =>
    [responseHeaders:protected] =>
    [responseBody:protected] =>
    [accessKey] =>
)

person Yuriy    schedule 13.05.2013    source источник


Ответы (2)


Это так просто после того, как вы это увидите, «ТЕКСТ» не является допустимым типом столбца. Вместо этого вам нужно использовать "STRING".

person Yuriy    schedule 14.05.2013

Бит isExportable также является обязательным параметром при создании таблицы (https://developers.google.com/fusiontables/docs/v1/reference/table/insert). Что происходит, когда вы устанавливаете это?

person Warren    schedule 13.05.2013
comment
Нет, это может потребоваться, но это никак не влияет на эту ошибку :( У меня есть пример из группы новостей Fusion Tables: code.google.com/p/google-api-php-client/issues/detail?id=192#c4 рассмотрит это позже и обновит, если это поможет. - person Yuriy; 14.05.2013
comment
Та ссылка, которую я разместил ранее, оказалась неактуальной, обновил свой пост с дампом запроса. - person Yuriy; 14.05.2013