Функция Google Sheets Image() теперь требует от пользователей нажать «Разрешить доступ».Php

Кемеровские программисты php общаются здесь
Anonymous
Функция Google Sheets Image() теперь требует от пользователей нажать «Разрешить доступ».

Сообщение Anonymous »

Доступ к данным от внешних сторон по умолчанию заблокирован для любых электронных таблиц. Данное изменение произошло начиная с 02.07.2024. У меня есть много PHP-скриптов, которые программно создают электронные таблицы и печатают их в формате PDF, но теперь электронные таблицы больше не могут получить доступ к данным от внешних сторон, и поэтому результат неправильный.
Я не могу найти способ в Документация API Google Sheets, как разрешить доступ программно.
До 7-го дня весь процесс работал правильно, 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'));
Я прилагаю пару изображений с описанием проблемы.
Изображение

[img]https: //i.sstatic.net/rL8xh.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/779 ... low-access

Вернуться в «Php»