如何解决Google电子表格在Wordpress上出现错误
当我尝试将数据从自定义Ajax表单存储到Google电子表格时出现错误。我已经在CORE PHP中尝试过我的代码,它可以正常工作,但是当我尝试使用Wordpress做同样的事情时。这给了我错误。
好吧,目前在Wordpress上,我已经使用ajax数据电子邮件发送功能制作了自定义表单。现在,如果有人尝试填写详细信息并点击“发送”按钮,则数据应该存储在Google电子表格中。
我正在function.php中编写代码,并且已经在其中链接了autoload.php和credenetial.json文件。但是我仍然遇到错误。
我已经在Wordpress中启用了Ajax错误,如下所示。请检查,如果可能请帮助我。我正在尝试从最近3天开始解决此问题,但是在Wordpress案例中没有任何效果。
错误 {“ web”:{“ client_id”:“ 6532873678-gpd46lf7s4fst5d4968av6o9gb0mq763.apps.googleusercontent.com”,“ project_id”:“ gelpack-1597214746758”,“ auth_uri”:“ https://accounts.google.com/o/oauth2 /auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"BhmbMhoxvkSqTTJgPm3KuN8v “,” redirect_uris“:[” https://wordpress-253161-1294407.cloudwaysapps.com/claim-your-free-gift-parts“]}} 致命错误:未捕获的InvalidArgumentException:在/home/253161.cloudwaysapps.com/qxgpxrwfhe/public_html/wp-content/themes/gelpacks/vendor/google/auth/src/OAuth2.php:647中缺少必需的客户端标识符:# 0 /home/253161.cloudwaysapps.com/qxgpxrwfhe/public_html/wp-content/themes/gelpacks/vendor/google/apiclient/src/Google/Client.php(344):Google \ Auth \ OAuth2-> buildFullAuthorizationUri(Array) #1 /home/253161.cloudwaysapps.com/qxgpxrwfhe/public_html/wp-content/themes/gelpacks/functions.php(665):Google_Client-> createAuthUrl()#2 /home/253161.cloudwaysapps.com/qxgpxrwfhe/public_html /wp-content/themes/gelpacks/functions.php(796):getClient()#3 /home/253161.cloudwaysapps.com/qxgpxrwfhe/public_html/wp-includes/class-wp-hook.php(287):claim_your_gift ('')#4 /home/253161.cloudwaysapps.com/qxgpxrwfhe/public_html/wp-includes/class-wp-hook.php(311):WP_Hook-> apply_filters('',Array)#5 / home / 253161 .cloudwaysapps.com / qxgpxrwfhe / public_html / wp-includes / plugin.php(478):WP_Hook-> do_第647行上的/home/253161.cloudwaysapps.com/qxgpxrwfhe/public_html/wp-content/themes/gelpacks/vendor/google/auth/src/OAuth2.php中的action(Array)#6 /home/253161.cloudwa 您的网站上存在严重错误。 结束错误
这里是代码
/************** Google Function ***************** */
function getClient()
{
//include_once( get_stylesheet_directory() .'/vendor/autoload.php');
require_once dirname( __FILE__ ) . '/vendor/autoload.php';
$client = new Google_Client();
$client->setApplicationName('Google Sheets API PHP Quickstart');
$client->setScopes(Google_Service_Sheets::SPREADSHEETS);
$client->setAuthConfig(include_once( get_stylesheet_directory() .'/credentials.json'));
$client->setAccessType('offline');
$client->setPrompt('select_account consent');
// Load previously authorized token from a file,if it exists.
// The file token.json stores the user's access and refresh tokens,and is
// created automatically when the authorization flow completes for the first
// time.
$tokenPath = 'token.json';
if (file_exists($tokenPath)) {
$accessToken = json_decode(file_get_contents($tokenPath),true);
$client->setAccessToken($accessToken);
}
// If there is no previous token or it's expired.
if ($client->isAccessTokenExpired()) {
// Refresh the token if possible,else fetch a new one.
if ($client->getRefreshToken()) {
$client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
} else {
// Request authorization from the user.
$authUrl = $client->createAuthUrl();
printf("Open the following link in your browser:\n%s\n",$authUrl);
print 'Enter verification code: ';
$authCode = trim(fgets(STDIN));
// Exchange authorization code for an access token.
$accessToken = $client->fetchAccessTokenWithAuthCode($authCode);
$client->setAccessToken($accessToken);
// Check to see if there was an error.
if (array_key_exists('error',$accessToken)) {
throw new Exception(join(',',$accessToken));
}
}
// Save the token to a file.
if (!file_exists(dirname($tokenPath))) {
mkdir(dirname($tokenPath),0700,true);
}
file_put_contents($tokenPath,json_encode($client->getAccessToken()));
}
return $client;
}
// Get the API client and construct the service object.
$client = getClient();
$service = new Google_Service_Sheets($client);
$spreadsheetId = '1jrBFFWCZJ7GakSaOkcZrZk_faqng2_sgcLOxHmFOt5A';
$sheetid = 'Sheet1';
$temp_array=array();
//array_push($temp_array,[$selected_product,$date_of_purchase,$first_name,$last_name,$order_id,$email,$address,$city,$state,$zip_code,$country,$product_review,$product_radio,$make_special_offers]);
array_push($temp_array,["test1","test1","test1"]);
$values = $temp_array;
// Append data start
$body = new Google_Service_Sheets_ValueRange([
'values' => $values
]);
$params = [
'valueInputOption' => 'RAW'
];
$result = $service->spreadsheets_values->append($spreadsheetId,$sheetid,$body,$params);
printf("%d cells appended.",$result->getUpdates()->getUpdatedCells());
// End google sheet Code
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。