Я интегрирую электронную таблицу Google в свой проект. Я должен сохранить данные формы в электронную таблицу Google.
Для этого я использую asimqt PHP-Google-таблицы-клиент библиотека.
У меня есть одна форма на сайте, которая отправляется с использованием ajax. Для этого я написал функцию в function.php.
Получение ошибки при инициализации объекта класса DefaultServiceRequest.
Ошибка: Неустранимая ошибка: класс ‘Google \ Spreadsheet \ DefaultServiceRequest’ не найден
require '/vendor/autoload.php';
use Google\Spreadsheet\DefaultServiceRequest;
use Google\Spreadsheet\ServiceRequestFactory;function spreadsheet_feeds()
{
$access_tok = 'xyz-token';
$serviceRequest = new DefaultServiceRequest($access_tok); // Getting error
ServiceRequestFactory::setInstance($serviceRequest);
$spreadsheetService = new Google\Spreadsheet\SpreadsheetService();
$spreadsheetFeed = $spreadsheetService->getSpreadsheets();
}
add_action( 'wp_ajax_nopriv_spreadsheet_data', 'spreadsheet_feeds' );
add_action('wp_ajax_spreadsheet_data','spreadsheet_feeds');
Любая помощь, почему эта ошибка происходит, потому что класс уже включается с помощью оператора «use»?
Кажется, это проблема с расположением вашего vendor
папка.
Убедитесь, что папка вендора доступна файлу
Учитывая вашу иерархию папок, чтобы быть
-wp-content
--themes
---your-theme
----functions.php
Если у вас есть папка поставщика в your-theme/vendor
тогда в вашем functions.php
ты должен написать
require 'vendor/autoload.php';
и если vendor
находится в корневом каталоге WP, убедитесь, что вы вернулись обратно в корневую папку, используя что-то вроде:
require __DIR__ .'/../../../../vendor/autoload.php';
Просто замени require '/vendor/autoload.php';
в require_once('vendor/autoload.php');
Только сейчас я попробовал это здесь для себя, и это работает.