2016-02-22 6 views
0

Я использую библиотеку PHP GDS Тома Вальдера для доступа к хранилищу данных Google.Пытаясь использовать GDS для доступа к облачному хранилищу Google

https://github.com/tomwalder/php-gds

Это моя последняя попытка:

require_once 'src/GDS/Entity.php'; 
require_once 'src/GDS/Gateway.php'; 
require_once 'src/GDS/Mapper.php'; 
require_once 'src/GDS/Schema.php'; 
require_once 'src/GDS/Store.php'; 
require_once 'src/GDS/Exception/Contention.php'; 
require_once 'src/GDS/Exception/GQL.php'; 
require_once 'src/GDS/Gateway/GoogleAPIClient.php'; 
require_once 'src/GDS/Gateway/ProtoBuf.php'; 
require_once 'src/GDS/Mapper/GoogleAPIClient.php'; 
require_once 'src/GDS/Mapper/ProtoBuf.php'; 
require_once 'src/GDS/Mapper/ProtoBufGQLParser.php'; 
require_once 'src/GDS/Property/Geopoint.php'; 

// Build a new entity 
$obj_book = new GDS\Entity(); 
$obj_book->title = 'Romeo and Juliet'; 
$obj_book->author = 'William Shakespeare'; 
$obj_book->isbn = '1840224339'; 

// Write it to Datastore 
$obj_store = new GDS\Store('Book'); 
$obj_store->upsert($obj_book); 

$obj_store = new GDS\Store('Book'); 
foreach($obj_store->fetchAll() as $obj_book) { 
    echo "Title: {$obj_book->title}, ISBN: {$obj_book->isbn} <br />", PHP_EOL; 
} 

Который производит эту ошибку:

Fatal error: Uncaught exception 'Exception' with message 'Could not determine DATASET, please pass to GDS\Gateway\ProtoBuf::__construct()' in /var/www/html/src/GDS/Gateway/ProtoBuf.php:70 Stack trace: #0 /var/www/html/src/GDS/Store.php(81): GDS\Gateway\ProtoBuf->__construct() #1 /var/www/html/test.php(32): GDS\Store->__construct('Book') #2 {main} thrown in /var/www/html/src/GDS/Gateway/ProtoBuf.php on line 70 

Я очень стараюсь, чтобы получить эту работу. Если бы кто-нибудь из вас мог мне помочь, я бы очень признателен!

ответ

1

Похоже, вы пытаетесь запустить этот скрипт из командной строки?

Если вы запустите его из «веб-среды» GAE (например, локального веб-сервера или Live AppEngine), то DATASET будет определяться средой.

Можете ли вы точно подтвердить, как вы пытаетесь использовать библиотеку? Тогда я могу дать вам указатели.

На данный момент - попробуйте запустить свой код в ответ на веб-запрос (т.е. от http://localhost:8080/test.php - или любой другой)

+0

У меня есть GDS Тома, установленный в папке/src/на моем веб-сервере. Я использую стек LAMP с php. На самом деле это экземпляр Google. –

+0

Ой, подождите, вы, Том Уолдер? –

+1

Да, действительно! Я автор – Tom

1

Да, я являюсь автором библиотеки.

Если вы используете вычислительный движок, вам необходимо использовать «JSON» Google Gateway.

На GitHub должно быть несколько образцов.

+0

Приятно познакомиться с вами :) К сожалению, я самоучка, и я часто смущаюсь мелочами. Как только я это получу, я могу делать хорошие вещи. Не могли бы вы указать мне пример синтаксиса JSON? –

+1

https://github.com/tomwalder/php-gds/blob/master/examples/simple/create_one.php#L13 – Tom

+0

Хорошо, я использовал ваш пример и прокомментировал так, что шлюз JSON показывался, но теперь я получаю это , У меня установлен Google Client, но я не смог найти service.json в пакете. Однако есть /service/datastore.php. Неустранимая ошибка: Class 'Google_Client' не найден в /var/www/html/src/GDS/Gateway/GoogleAPIClient.php в строке 87 –