Поэтому я пытаюсь манипулировать файлом functions.php в Wordpress, чтобы добавить функцию, которая будет выполнять вызов API для API Google Sheets с помощью OAUth 2.0 или ключа API (в зависимости от того, что более безопасно), получить список элементов встолбец и сохранить его в массиве $ options, который затем будет отображаться в виде выпадающего списка меню.
Для этого Выберите предварительное заполнение поля с помощью форм ниндзя, я ссылался https://francescocarlucci.com/wordpress/select-field-pre-population-ninja-forms/ Параметры $массив, который при статической установке дает мне ожидаемое выпадающее меню: например, -
$options[1]['label'] = "One";
$options[2]['label'] = "Two";
$options[3]['label'] = "Three";
Я пробовал метод OAuth 2.0 из https://developers.google.com/sheets/api/quickstart/php
В строке $client->setAuthConfig( '/credentials.json' );
код не можетполучить доступ к файлу credentials.json.Я добавил файл JSON и все другие соответствующие файлы API в ту же папку, что и functions.php.Также мне нужен способ автоматизации
Я хочу, чтобы список элементов отображался в раскрывающемся меню Wordpress.Вместо этого я получаю пустую страницу и трассировку стека в моем файле debug.log:
[09-Jul-2019 19:46:15 UTC] PHP Fatal error: Uncaught InvalidArgumentException: file "/credentials.json" does not exist in /var/www/html/wp-content/themes/twentynineteen/vendor/google/apiclient/src/Google/Client.php:870
#0 /var/www/html/wp-content/themes/twentynineteen/functions.php(322):
Google_Client->setAuthConfig('/credentials.js...')
#1 /var/www/html/wp-content/themes/twentynineteen/functions.php(371): getClient()
#2 /var/www/html/wp-content/themes/twentynineteen/functions.php(437): quickstart()
#3 /var/www/html/wp-includes/class-wp-hook.php(286): select_pre_population_callback(Array, Array)
#4 /var/www/html/wp-includes/plugin.php(208): WP_Hook->apply_filters(Array, Array)
#5 /var/www/html/wp-content/plugins/ninja-forms/includes/Display/Render.php(271): apply_filters('ninja_forms_ren...', Array, Array)
#6 /var/www/html/wp-content/plugins/ninja-forms/includes/Display/Render.php(400): NF_Display_Render::localize(1)
#7 /var/www/html/wp-content/plugins/ninja-forms/ninja-forms.php(935): NF_Display_Render::localize_preview('1')
#8 /var/www/h in /var/www/html/wp-content/themes/twentynineteen/vendor/google/apiclient/src/Google/Client.php on line 870