我正在我的项目中整合谷歌电子表格。我必须将表单数据保存到谷歌电子表格中 为此,我使用asimqt php-google-spreadsheet-client库。
我在网站上有单一表单,表单是使用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”语句?
答案 0 :(得分:0)
这似乎与vendor
文件夹的位置有关。
确保文件
考虑您的文件夹层次结构
-wp-content
--themes
---your-theme
----functions.php
如果您的供应商文件夹位于your-theme/vendor
,则在您的functions.php
你应该写
require 'vendor/autoload.php';
如果vendor
位于WP的根目录中,请确保使用以下内容遍历根文件夹:
require __DIR__ .'/../../../../vendor/autoload.php';
答案 1 :(得分:0)
只需将require '/vendor/autoload.php';
替换为require_once('vendor/autoload.php');
刚才我自己在这里尝试了这个并且它有效。