#php #google-sheets
#php #google-sheets
Вопрос:
Я создал несколько листов в Google Sheets, которые я извлекаю с помощью вывода CSV через PHP. До сегодняшнего дня все работало нормально, пока я ничего не изменил в своем коде.
Я использовал это:
if (($handle = fopen($sheet_url, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 3000, ",")) !== FALSE)
{
// BLA BLA
}
}
Все работало нормально. Если я попытаюсь получить доступ к своему листу напрямую через браузер, я получу взамен файл CSV, но нажатие на него через PHP больше не работает.
Я не опубликовал лист и переиздал его. Я проверил свой php.ini, и он позволяет извлекать URL-адреса.
Затем я попытался использовать cURL и обнаружил, что при загрузке листа с помощью PHP я не получаю взамен свой лист, вместо этого я получаю страницу входа, пока я опубликовал лист для всех.
Я нашел блог, объясняющий то же самое, блоггер решил это, добавив amp;ndplr=1 к URL-адресу листа, но это не помогает.
Я не понимаю, почему Google Sheets вдруг понадобился логин при использовании PHP.
У вас есть какие-либо идеи?
Спасибо
Комментарии:
1. Вы настроили
Anyone with the link can view
в своих таблицах Google?
Ответ №1:
По-видимому, это глобальная проблема, которая началась несколько дней назад, на сайтах поддержки Google есть много других жалоб.
Единственный способ обойти это сегодня — открыть / повторно открыть таблицы Google для всех (с помощью кнопки «Поделиться»)
Комментарии:
1. Можете ли вы поделиться ссылками на жалобы?
2. конечно, это один из них: support.google.com/docs/thread/83645178
3. Это привело к удалению формы, которая работала годами … изменение разрешений на полностью общедоступное исправило это. Спасибо за совет!
Ответ №2:
У меня была эта проблема. Мое веб-приложение считывало данные из опубликованного CSV-файла Google Sheets из двух разных учетных записей Gmail. Один перестал работать на прошлой неделе, а другой продолжал работать, хотя они были опубликованы indentally. В конце концов я увидел, что у одного было платное хранилище Google Drive, а у другого нет. Итак, я заплатил 2 доллара за месяц хранения, и это устранило проблему. Дело в том, что я нигде не могу найти, что Google сказал, что нам нужно это сделать. Мне не нужно хранилище, и мне даже не нужна безопасность. Это небольшая общедоступная электронная таблица