Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Google Sheets API v4不使用包含单引号的工作表名称_Php_Google Api_Google Api Php Client_Google Sheets Api - Fatal编程技术网

Php Google Sheets API v4不使用包含单引号的工作表名称

Php Google Sheets API v4不使用包含单引号的工作表名称,php,google-api,google-api-php-client,google-sheets-api,Php,Google Api,Google Api Php Client,Google Sheets Api,我正在使用GooglesSheetAPI for php从表中检索值。我的代码似乎适用于所有工作表名称,但不适用于包含单个引号的工作表名称。我尝试用\'来转义单引号,但它似乎没有像预期的那样从工作表中提取数据 我的代码如下所示 $sheetId = "1Oz0c3OZN9parxwXU3l9pwWC1wwvmODHQiUz9is50Dy0"; $sheetName = "knijbnjk''''''''''jguvhygvhy"; $escapedSheetName = str_replace

我正在使用GooglesSheetAPI for php从表中检索值。我的代码似乎适用于所有工作表名称,但不适用于包含单个引号的工作表名称。我尝试用\'来转义单引号,但它似乎没有像预期的那样从工作表中提取数据

我的代码如下所示

$sheetId = "1Oz0c3OZN9parxwXU3l9pwWC1wwvmODHQiUz9is50Dy0";
$sheetName = "knijbnjk''''''''''jguvhygvhy";

$escapedSheetName = str_replace("'", "\'", $sheetName);
$range = "'{$escapedSheetName}'!A1:B4";

// returns instance of Google_Service_Sheets with client setup
$service = $this->getSheetService();

$result = $service->spreadsheets_values->get($sheetId, $range);
var_dump($result);
我尝试过使用其他一些变体,例如/'和用"e;替换';我尝试过将单引号转换为双引号,但到目前为止似乎没有任何效果。似乎也找不到此问题的解决方案。

尝试执行此操作将返回一个

这将返回电子表格中所有项目的列表

"properties": {
    object(SheetProperties)
 },
每个工作表中的属性应包含有关该工作表的信息

{
  "sheetId": number,
  "title": string,
  "index": number,
  "sheetType": enum(SheetType),
  "gridProperties": {
    object(GridProperties)
  },
  "hidden": boolean,
  "tabColor": {
    object(Color)
  },
  "rightToLeft": boolean,
}
我打赌是它的html编码'->%27

尝试执行此操作将返回一个

这将返回电子表格中所有项目的列表

"properties": {
    object(SheetProperties)
 },
每个工作表中的属性应包含有关该工作表的信息

{
  "sheetId": number,
  "title": string,
  "index": number,
  "sheetType": enum(SheetType),
  "gridProperties": {
    object(GridProperties)
  },
  "hidden": boolean,
  "tabColor": {
    object(Color)
  },
  "rightToLeft": boolean,
}

我打赌是它的html编码'->%27

,所以你必须用另一个单引号'来转义一个单引号

所以解决办法是

$escapedSheetName = str_replace("'", "''", $sheetName);

太奇怪了。

所以你不得不“用另一个单引号”来逃避单引号

所以解决办法是

$escapedSheetName = str_replace("'", "''", $sheetName);
真奇怪