从Values.get请求多个范围会导致:无法解析范围错误

时间:2017-03-24 00:28:45

标签: php google-api google-spreadsheet-api google-api-php-client

我尝试使用Google表格API从电子表格(ID)中获取所有表格, 我还没有找到REST方法来做到这一点。

我的代码是

$range[]= 'sheet1!A:C';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

$ range的数组或字符串仅在一个值时有效。 具有mlti值的数组在REST中提供了错误的URL:

$range[]= 'sheet1!A:C';
$range[]= 'SHEET2!A:C';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);

返回以下错误:

  

致命错误:未捕获的异常' Google_Service_Exception'同   消息'调用GET时出错   https://sheets.googleapis.com/v4/spreadsheets/[spreadsheetID]/values/Config%21A%3AC,Carte%21A%3AC?key=[my   api key] :( 400)无法解析范围:sheet1!A:C,SHEET2!A:C'在   C:\ Program Files \ EasyPHP-12.1 \ www ... \ src \ Google \ Http \ REST.php:110   堆栈跟踪:#0 C:\ Program   文件\的EasyPHP-12.1 \ WWW \ SRC \谷歌\ HTTP \ REST.php(62):   Google_Http_REST :: decodeHttpResponse(对象(Google_Http_Request)   对象(Google_Client))#1 [内部函数]:   Google_Http_REST :: doExecute(对象(Google_Client)   对象(Google_Http_Request))#2 C:\ Program   文件\的EasyPHP-12.1 \ WWW \ SRC \谷歌\工作\ Runner.php(174):   call_user_func_array(Array,Array)#3 C:\ Program   文件\的EasyPHP-12.1 \ WWW .... \ SRC \谷歌\ HTTP \ REST.php(46):   Google_Task_Runner-> run()#4 C:\ Program   文件\的EasyPHP-12.1 \ WWW \ SRC \谷歌\ Client.php(593):   Google_Http_REST :: execute(对象(C:\ Program中的Google_Client)   第110行的Files \ EasyPHP-12.1 \ www ... \ src \ Google \ Http \ REST.php

由于

1 个答案:

答案 0 :(得分:1)

require_once(mpdf/vendor/autoload.php);

采用单一范围。您收到错误是因为您尝试将其发送两次。

您应该致电spreadsheet.values.batchget

$service->spreadsheets_values->get($spreadsheetId, $range);

注释代码直接从找到的文档here

中删除