PHP — чтение CSV из Google Таблиц, но листы перенаправляют на логин

#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 сказал, что нам нужно это сделать. Мне не нужно хранилище, и мне даже не нужна безопасность. Это небольшая общедоступная электронная таблица