2014-04-22 3 views
1

Я использую эту библиотеку https://github.com/asimlqt/php-google-spreadsheet-client для взаимодействия с электронной таблицей Google api.php-google-spreadsheet-client getByTitle возвращает null

Используя примеры, представленные в значительной степени, как есть, у меня есть этот код: WIP

$request = new Google\Spreadsheet\Request($access['access_token']); 
    $serviceRequest = new Google\Spreadsheet\DefaultServiceRequest($request); 
    Google\Spreadsheet\ServiceRequestFactory::setInstance($serviceRequest); 

    $spreadsheetService = new Google\Spreadsheet\SpreadsheetService(); 
    $spreadsheetFeed = $spreadsheetService->getSpreadsheets(); 
    var_dump($spreadsheetFeed); 

    $spreadsheet = $spreadsheetFeed->getByTitle('a spreadsheet'); 

    echo "<h1>Start spreadsheet single feed</h1>"; 
    var_dump($spreadsheet); 

Последняя строка неожиданно печать пустой. Я надеялся, что кто-то, кто знаком с библиотекой, может подтолкнуть меня в правильном направлении.

Кстати, это то, что свалка $ spreadsheetFeed показывает:

object(Google\Spreadsheet\SpreadsheetFeed)#263 (2) { 
["xml":"Google\Spreadsheet\SpreadsheetFeed":private]=> 
object(SimpleXMLElement)#200 (5) { ["id"]=> string(63) 
"https://spreadsheets.google.com/feeds/spreadsheets/private/full" 
["updated"]=> string(24) "2014-04-22T15:41:32.296Z" 
["category"]=> object(SimpleXMLElement)#244 (1) { 
["@attributes"]=> 
array(2) { 
["scheme"]=> string(43) "http://schemas.google.com/spreadsheets/2006" 
["term"]=> string(55) "http://schemas.google.com/spreadsheets/2006#spreadsheet" 
} 
} 
["title"]=> string(100) "Available Spreadsheets - <redacted!>" 
["link"]=> array(3) { 
[0]=> object(SimpleXMLElement)#243 (1) { 
["@attributes"]=> array(3) { 
["rel"]=> string(9) "alternate" 
["type"]=> string(9) "text/html" ["href"]=> string(22) "http://docs.google.com" 
} 
} 
[1]=> object(SimpleXMLElement)#245 (1) { 
["@attributes"]=> array(3) { 
["rel"]=> string(37) "http://schemas.google.com/g/2005#feed" 
["type"]=> string(20) "application/atom+xml" 
["href"]=> string(63) "https://spreadsheets.google.com/feeds/spreadsheets/private/full" 
} 
} 
[2]=> object(SimpleXMLElement)#246 (1) { 
["@attributes"]=> array(3) { 
["rel"]=> string(4) "self" 
["type"]=> string(20) "application/atom+xml" 
["href"]=> string(63) "https://spreadsheets.google.com/feeds/spreadsheets/private/full" 
} 
} 
} 
} 
["storage":"ArrayIterator":private]=> array(0) { 
} 
} 

Это, как представляется, не содержат каких-либо электронных таблиц на все, что сильно сбивает с толку, как я подтверждает наличие нужной таблицы успешно ранее в код через диск api. Очевидно, что существует некоторая разница между двумя библиотеками, которые я использую, которые не документированы, но я не собираюсь ее отлаживать.

Библиотека диск является Google Inhouse один здесь https://github.com/google/google-api-php-client

ответ

0

Просто чтобы дать некоторое разрешение (и, возможно, указатель для кого-то другого).

Я вернусь к проблеме и обнаружил, что в электронной таблице Google api есть невысказанное предположение, что доступ к файлу является родной электронной таблицей google. Как только я изменил свое создание файла, чтобы создать это вместо файла .xls, все разрешилось.

+1

Как вы изменили создание файла на .xls? – Piero

+0

Заявить, что вы изменили создание файла, очень бесполезно. Вы должны правильно описать решение, чтобы реально помочь сообществу. – Laci

2

Мне не удалось просмотреть существующие листы, которые должны были отображаться в электронной таблице. Я нашел и написал статью на своем веб-сайте karl kranich, в которой говорится, что документ должен делиться с адресом электронной почты администратора присяги с разрешениями на редактирование. После обмена с разрешениями прав я вижу его в списке сейчас.

+1

приятно! это действительно работает. Спасибо приятель! – GianFS

Смежные вопросы