Google Sheets IMAGE()函数外部访问被默认阻止,求程序化授权方案
问题:Google Sheets 程序化创建的表格无法访问外部IMAGE数据
自2024年7月2日起,所有Google电子表格默认新增阻止外部主体数据访问的限制。我有多段PHP脚本用于程序化创建电子表格并导出为PDF,但现在这些表格无法访问外部数据,导致结果错误。
我在Google Sheets API文档中未找到程序化允许外部访问的方法。7月2日之前整个流程运行正常,图片URL均为公开且无访问限制,求程序化授予外部访问权限的解决方案?
使用IMAGE()函数的代码片段
foreach($ORDEN["pics_docs"] as $pic) { $currentRow++; array_push($requests_mergeCellsInRow, get_mergeCellsInRow_request($currentRow, $sc, $ct, $sheetId)); array_push($requests_formatForCells, get_formatConceptWForRow($currentRow, $sc, $ct, $sheetId)); array_push($requests_updateDimensionPropertiesForRow, get_updateDimensionPropertiesForRow_request($currentRow, $imgw, $sheetId)); array_push($values_forCells_userEntered,["=IMAGE(\"" . $urlImages . "/" . $id_orden . "/" . $pic["doc_name"] . "\"; 1)", "", "", "", "", "", "", "", "", ""]); $currentRow++; array_push($values_forCells_userEntered, []); } insertValuesOnCellsRange($values_forCells_userEntered, $sheetName.'!A3', $serviceSheets, $spreadsheetID, "USER_ENTERED"); batchUpdate(array_merge($requests_mergeCellsInRow, $requests_bordersForCells, $requests_formatForCells, $requests_updateDimensionPropertiesForRow), $serviceSheets, $spreadsheetID);
当前设置的表格权限代码
$newPermission = new Google_Service_Drive_Permission(); $newPermission->setType("anyone"); $newPermission->setRole("reader"); $result = $serviceDrive->permissions->create($spreadsheetID, $newPermission, array('fields' => 'id'));
问题图例
- 新表格A1单元格含IMAGE()函数的警告信息:

- 脚本生成的表格中的提示信息:

内容的提问来源于stack exchange,提问作者Raul
相关产品推荐
相关产品推荐

