[英]google sheets api v4 PHP Quickstart Writing to a single range
[英]Php Google Sheets API v4 not working with sheet names containing single quotes
我正在使用Googles Sheet API 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);
我嘗試過使用其他一些變體,例如/'並用&quote替換'; 我已經嘗試將單引號轉換為雙引號,但到目前為止似乎沒有任何工作。 似乎無法找到解決這個問題的方法。
嘗試做一個SpreadSheets.get這應該返回一個Spreadsheet資源 。
"sheets": [
{
object(Sheet)
}
這應返回電子表格中所有工作表的列表。
"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);
太奇怪了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.