Ошибка Google Sheets API 404: «Запрошенный объект не найден» Неперехваченное исключение Google\Service\Exception

сначала позвольте мне извиниться, если это простое решение, я никогда не использовал Google API или что-то подобное, а также я новичок в php

В настоящее время я пытаюсь прочитать электронную таблицу с помощью Google Sheets API и просто распечатать ее. Я думаю, что все выглядит нормально, но когда я запускаю его, он выдает следующую ошибку:

PHP Fatal error:  Uncaught Google\Service\Exception: {

"ошибка": { «код»: 404, "message": "Запрошенный объект не найден.", "ошибки": [ { "message": "Запрошенный объект не найден.", "домен": "глобальный", "причина": "не найдено" } ], "статус": "НЕ_НАЙДЕНО" } }

вот мой php-файл:

        require __DIR__ . '/vendor/autoload.php';

        $client = new \Google_Client();
        $client->setApplicationName('Sheets Test');
        $client->setScopes([\Google_Service_Sheets::SPREADSHEETS]);
        $client->setAccessType('offline');
        $client->setAuthConfig(__DIR__ . '/credentials.json');
        $service = new \Google_Service_Sheets($client);
        $spreadsheetId = "1sefMmSCVnQRMVFuG8l5SKx7phpD2vvmwzq7opsgyuebYIU";
        $range = "currentRatings!A2:C4";
        $response = $service->spreadsheets_values->get($spreadsheetId, $range);
        $values = $response->getValues();
        if (empty($values)){
            print "No data found. \n";
        } else {
             $mask = "%10s %-10s $s\n";
             foreach($values as $row){
                echo sprintf($mask, $row[2], $row[1], $row[0]);
            }
        } 

как показано выше, я подключил файл учетных данных, который является той же учетной записью службы, к которой предоставлен общий доступ к листу. я также знаю, что проблема возникает/начинается в этой строке:

$response = $service->spreadsheets_values->get($spreadsheetId, $range);

вот что я пробовал:

  • двойная проверка идентификатора листа
  • понизить версию Google API через композитор
  • изменение значений «$range» (ничего не изменилось, даже когда я изменил имя листа на неправильное имя)
  • создание новой учетной записи службы в консоли Google
  • убедитесь, что лист доступен для учетной записи службы

Вы используете учетную запись службы?

shirshak007 06.07.2024 07:07

На текущем этапе кажется, что длина идентификатора электронной таблицы равна 44. Но в вашем сценарии, если вы используете свой идентификатор электронной таблицы как 1sefMmSCVnQRMVFuG8l5SKx7phpD2vvmwzq7opsgyuebYIU из $spreadsheetId = "1sefMmSCVnQRMVFuG8l5SKx7phpD2vvmwzq7opsgyuebYIU";, я беспокоюсь, что длина равна 47. Связано ли это с причина вашей текущей проблемы? Но, скажете вы double checking the sheet id. Так что, если я неправильно понял вашу ситуацию, прошу прощения.

Tanaike 06.07.2024 08:08

Не могу поверить, что не видел этого, ты прав, идентификатор длиннее, чем должен быть. Понятия не имею, как я получил 47 символов, но большое спасибо! когда я проверял идентификатор, я проверял только переднюю и заднюю часть URL

acar 07.07.2024 03:38
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, я обнаружил, что мой идентификатор слишком длинный. Вероятно, я случайно ввел его в какой-то момент, что и вызвало ошибку. Я проверил удостоверение личности, но проверил только переднюю и заднюю часть удостоверения.

Другие вопросы по теме