You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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()函数的警告信息:新表格A1单元格含IMAGE()函数的警告信息
  • 脚本生成的表格中的提示信息:脚本生成的表格中的提示信息

内容的提问来源于stack exchange,提问作者Raul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 06:00:23